File tree 5 files changed +44
-10
lines changed
src/server-side-rendering
test/server-side-rendering
samples/component-with-different-extension
5 files changed +44
-10
lines changed Original file line number Diff line number Diff line change @@ -6,12 +6,25 @@ function capitalise(name) {
6
6
return name [ 0 ] . toUpperCase ( ) + name . slice ( 1 ) ;
7
7
}
8
8
9
- require . extensions [ '.html' ] = function ( module , filename ) {
10
- const { code } = compile ( fs . readFileSync ( filename , 'utf-8' ) , {
11
- filename,
12
- name : capitalise ( path . basename ( filename ) . replace ( / \. h t m l $ / , '' ) ) ,
13
- generate : 'ssr'
14
- } ) ;
9
+ export default function register ( extensions ) {
10
+ _deregister ( '.html' ) ;
11
+ extensions . forEach ( _register ) ;
12
+ }
13
+
14
+ function _deregister ( extension ) {
15
+ delete require . extensions [ extension ] ;
16
+ }
17
+
18
+ function _register ( extension ) {
19
+ require . extensions [ extension ] = function ( module , filename ) {
20
+ const { code} = compile ( fs . readFileSync ( filename , 'utf-8' ) , {
21
+ filename,
22
+ name : capitalise ( path . basename ( filename ) . replace ( new RegExp ( `${ extension } $` ) , '' ) ) ,
23
+ generate : 'ssr'
24
+ } ) ;
25
+
26
+ return module . _compile ( code , filename ) ;
27
+ } ;
28
+ }
15
29
16
- return module . _compile ( code , filename ) ;
17
- } ;
30
+ _register ( '.html' ) ;
Original file line number Diff line number Diff line change @@ -23,7 +23,7 @@ describe("ssr", () => {
23
23
before ( ( ) => {
24
24
require ( process . env . COVERAGE
25
25
? "../../src/server-side-rendering/register.js"
26
- : "../../ssr/register" ) ;
26
+ : "../../ssr/register" ) ( [ '.svelte' , '.html' ] ) ;
27
27
28
28
return setupHtmlEqual ( ) ;
29
29
} ) ;
@@ -43,7 +43,15 @@ describe("ssr", () => {
43
43
( solo ? it . only : it ) ( dir , ( ) => {
44
44
dir = path . resolve ( "test/server-side-rendering/samples" , dir ) ;
45
45
try {
46
- const component = require ( `${ dir } /main.html` ) ;
46
+ let component ;
47
+
48
+ const mainHtmlFile = `${ dir } /main.html` ;
49
+ const mainSvelteFile = `${ dir } /main.svelte` ;
50
+ if ( fs . existsSync ( mainHtmlFile ) ) {
51
+ component = require ( mainHtmlFile ) ;
52
+ } else if ( fs . existsSync ( mainSvelteFile ) ) {
53
+ component = require ( mainSvelteFile ) ;
54
+ }
47
55
48
56
const expectedHtml = tryToReadFile ( `${ dir } /_expected.html` ) ;
49
57
const expectedCss = tryToReadFile ( `${ dir } /_expected.css` ) || "" ;
Original file line number Diff line number Diff line change
1
+ <p >i am a widget</p >
Original file line number Diff line number Diff line change
1
+ < div > < p > i am a widget</ p > </ div >
Original file line number Diff line number Diff line change
1
+ <div >
2
+ <Widget />
3
+ </div >
4
+
5
+ <script >
6
+ import Widget from ' ./Widget.svelte' ;
7
+
8
+ export default {
9
+ components: { Widget }
10
+ };
11
+ </script >
You can’t perform that action at this time.
0 commit comments