1
1
const { basename, extname, relative } = require ( 'path' ) ;
2
- const { compile, preprocess } = require ( 'svelte' ) ;
3
2
const { getOptions } = require ( 'loader-utils' ) ;
4
3
const VirtualModules = require ( './lib/virtual' ) ;
5
4
const requireRelative = require ( 'require-relative' ) ;
6
5
7
6
const hotApi = require . resolve ( './lib/hot-api.js' ) ;
8
7
8
+ const { version } = require ( 'svelte/package.json' ) ;
9
+ const major_version = + version [ 0 ] ;
10
+ const { compile, preprocess } = major_version >= 3
11
+ ? require ( 'svelte/compiler' )
12
+ : require ( 'svelte' ) ;
13
+
9
14
function makeHot ( id , code , hotOptions ) {
10
15
const options = JSON . stringify ( hotOptions ) ;
11
16
const replacement = `
@@ -95,8 +100,14 @@ module.exports = function(source, map) {
95
100
const isProduction = this . minimize || process . env . NODE_ENV === 'production' ;
96
101
97
102
options . filename = this . resourcePath ;
98
- if ( ! ( 'format' in options ) ) options . format = 'es' ;
99
- if ( ! ( 'shared' in options ) ) options . shared = options . format === 'es' && requireRelative . resolve ( 'svelte/shared.js' , process . cwd ( ) ) ;
103
+ if ( ! ( 'format' in options ) ) {
104
+ options . format = major_version >= 3 ? 'esm' : 'es' ;
105
+ }
106
+ if ( ! ( 'shared' in options ) ) {
107
+ const shared = ( major_version >= 3 ? 'svelte/internal.js' : 'svelte/shared.js' ) ;
108
+ options . shared = ( options . format === 'es' || options . format === 'esm' ) &&
109
+ requireRelative . resolve ( shared , process . cwd ( ) ) ;
110
+ }
100
111
if ( ! ( 'name' in options ) ) options . name = capitalize ( sanitize ( options . filename ) ) ;
101
112
if ( ! ( 'onwarn' in options ) ) options . onwarn = warning => this . emitWarning ( new Error ( warning ) ) ;
102
113
if ( options . emitCss ) options . css = false ;
@@ -134,4 +145,4 @@ module.exports = function(source, map) {
134
145
// context when logging to console
135
146
callback ( new Error ( `${ err . name } : ${ err . toString ( ) } ` ) ) ;
136
147
} ) ;
137
- } ;
148
+ } ;
0 commit comments