@@ -2,16 +2,22 @@ import * as fs from 'fs';
2
2
import * as path from 'path' ;
3
3
import { compile } from '../index.ts' ;
4
4
5
+ const compileOptions = { } ;
6
+
5
7
function capitalise ( name ) {
6
8
return name [ 0 ] . toUpperCase ( ) + name . slice ( 1 ) ;
7
9
}
8
10
9
11
export default function register ( options ) {
10
12
const { extensions } = options ;
13
+
11
14
if ( extensions ) {
12
15
_deregister ( '.html' ) ;
13
16
extensions . forEach ( _register ) ;
14
17
}
18
+
19
+ // TODO make this the default and remove in v2
20
+ if ( 'store' in options ) compileOptions . store = options . store ;
15
21
}
16
22
17
23
function _deregister ( extension ) {
@@ -20,13 +26,15 @@ function _deregister(extension) {
20
26
21
27
function _register ( extension ) {
22
28
require . extensions [ extension ] = function ( module , filename ) {
23
- const { code } = compile ( fs . readFileSync ( filename , 'utf-8' ) , {
29
+ const options = Object . assign ( { } , compileOptions , {
24
30
filename,
25
31
name : capitalise ( path . basename ( filename )
26
32
. replace ( new RegExp ( `${ extension . replace ( '.' , '\\.' ) } $` ) , '' ) ) ,
27
- generate : 'ssr' ,
33
+ generate : 'ssr'
28
34
} ) ;
29
35
36
+ const { code} = compile ( fs . readFileSync ( filename , 'utf-8' ) , options ) ;
37
+
30
38
return module . _compile ( code , filename ) ;
31
39
} ;
32
40
}
0 commit comments