@rsbuild/plugin-svelte 1.0.5 → 1.0.7-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,70 +1,42 @@
1
1
  "use strict";
2
- // The require scope
2
+ let __rslib_import_meta_url__ = 'undefined' == typeof document ? new (require('url'.replace('', ''))).URL('file:' + __filename).href : document.currentScript && document.currentScript.src || new URL('main.js', document.baseURI).href;
3
3
  var __webpack_require__ = {};
4
- /************************************************************************/ // webpack/runtime/compat_get_default_export
5
- (()=>{
6
- // getDefaultExport function for compatibility with non-ESM modules
7
- __webpack_require__.n = function(module) {
8
- var getter = module && module.__esModule ? function() {
9
- return module['default'];
10
- } : function() {
11
- return module;
12
- };
13
- __webpack_require__.d(getter, {
14
- a: getter
15
- });
16
- return getter;
4
+ __webpack_require__.n = function(module) {
5
+ var getter = module && module.__esModule ? function() {
6
+ return module.default;
7
+ } : function() {
8
+ return module;
17
9
  };
18
- })();
19
- // webpack/runtime/define_property_getters
20
- (()=>{
21
- __webpack_require__.d = function(exports1, definition) {
22
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
23
- enumerable: true,
24
- get: definition[key]
25
- });
26
- };
27
- })();
28
- // webpack/runtime/has_own_property
29
- (()=>{
30
- __webpack_require__.o = function(obj, prop) {
31
- return Object.prototype.hasOwnProperty.call(obj, prop);
32
- };
33
- })();
34
- // webpack/runtime/make_namespace_object
35
- (()=>{
36
- // define __esModule on exports
37
- __webpack_require__.r = function(exports1) {
38
- if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
39
- value: 'Module'
40
- });
41
- Object.defineProperty(exports1, '__esModule', {
42
- value: true
43
- });
44
- };
45
- })();
46
- /************************************************************************/ var __webpack_exports__ = {};
47
- // ESM COMPAT FLAG
48
- __webpack_require__.r(__webpack_exports__);
49
- // EXPORTS
50
- __webpack_require__.d(__webpack_exports__, {
51
- PLUGIN_SVELTE_NAME: ()=>/* binding */ PLUGIN_SVELTE_NAME,
52
- pluginSvelte: ()=>/* binding */ pluginSvelte
10
+ return __webpack_require__.d(getter, {
11
+ a: getter
12
+ }), getter;
13
+ }, __webpack_require__.d = function(exports1, definition) {
14
+ for(var key in definition)__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key) && Object.defineProperty(exports1, key, {
15
+ enumerable: !0,
16
+ get: definition[key]
17
+ });
18
+ }, __webpack_require__.o = function(obj, prop) {
19
+ return Object.prototype.hasOwnProperty.call(obj, prop);
20
+ }, __webpack_require__.r = function(exports1) {
21
+ 'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports1, Symbol.toStringTag, {
22
+ value: 'Module'
23
+ }), Object.defineProperty(exports1, '__esModule', {
24
+ value: !0
25
+ });
26
+ };
27
+ var __webpack_exports__ = {};
28
+ __webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, {
29
+ pluginSvelte: ()=>pluginSvelte,
30
+ PLUGIN_SVELTE_NAME: ()=>PLUGIN_SVELTE_NAME
53
31
  });
54
- const external_node_fs_namespaceObject = require("node:fs");
55
- const external_node_path_namespaceObject = require("node:path");
56
- var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
57
- const core_namespaceObject = require("@rsbuild/core");
58
- const external_svelte_preprocess_namespaceObject = require("svelte-preprocess");
59
- const PLUGIN_SVELTE_NAME = 'rsbuild:svelte';
60
- const isSvelte5 = async (sveltePath)=>{
32
+ let external_node_fs_namespaceObject = require("node:fs"), external_node_module_namespaceObject = require("node:module"), external_node_path_namespaceObject = require("node:path");
33
+ var external_node_path_default = __webpack_require__.n(external_node_path_namespaceObject);
34
+ let core_namespaceObject = require("@rsbuild/core"), external_svelte_preprocess_namespaceObject = require("svelte-preprocess"), src_require = (0, external_node_module_namespaceObject.createRequire)(__rslib_import_meta_url__), PLUGIN_SVELTE_NAME = 'rsbuild:svelte', isSvelte5 = async (sveltePath)=>{
61
35
  try {
62
- const pkgPath = external_node_path_default().join(sveltePath, 'package.json');
63
- const pkgRaw = await external_node_fs_namespaceObject.promises.readFile(pkgPath, 'utf-8');
64
- const pkgJson = JSON.parse(pkgRaw);
65
- return pkgJson.version.startsWith('5.');
36
+ let pkgPath = external_node_path_default().join(sveltePath, 'package.json'), pkgRaw = await external_node_fs_namespaceObject.promises.readFile(pkgPath, 'utf-8');
37
+ return JSON.parse(pkgRaw).version.startsWith('5.');
66
38
  } catch (err) {
67
- return false;
39
+ return !1;
68
40
  }
69
41
  };
70
42
  function pluginSvelte(options = {}) {
@@ -73,31 +45,20 @@ function pluginSvelte(options = {}) {
73
45
  setup (api) {
74
46
  let sveltePath = '';
75
47
  try {
76
- // Resolve `svelte` package path from the project directory
77
- sveltePath = external_node_path_default().dirname(require.resolve('svelte/package.json', {
48
+ sveltePath = external_node_path_default().dirname(src_require.resolve('svelte/package.json', {
78
49
  paths: [
79
50
  api.context.rootPath
80
51
  ]
81
52
  }));
82
53
  } catch (err) {
83
- core_namespaceObject.logger.error('Cannot resolve `svelte` package under the project directory, did you forget to install it?');
84
- throw new Error('Cannot resolve `svelte` package', {
54
+ throw core_namespaceObject.logger.error('Cannot resolve `svelte` package under the project directory, did you forget to install it?'), Error('[rsbuild:svelte] Failed to resolve `svelte` package', {
85
55
  cause: err
86
56
  });
87
57
  }
88
58
  api.modifyBundlerChain(async (chain, { CHAIN_ID, environment, isDev, isProd })=>{
89
- const svelte5 = await isSvelte5(sveltePath);
90
- const environmentConfig = environment.config;
91
- if (!svelte5) chain.resolve.alias.set('svelte', external_node_path_default().join(sveltePath, 'src/runtime'));
92
- chain.resolve.extensions.add('.svelte');
93
- chain.resolve.mainFields.add('svelte').add('...');
94
- chain.resolve.conditionNames.add('svelte').add('...');
95
- const loaderPath = require.resolve('svelte-loader');
96
- // We need to set an alias from `svelte-loader` to its realpath.
97
- // Because with `emitCss` option on, the loader generates css
98
- // imports with inline loader reference like `!svelte-loader...`,
99
- // which would cause the bundler failed to resolve the loader.
100
- // See https://github.com/sveltejs/svelte-loader/blob/344f00744b06a98ff5ee7e7a04d5e04ac496988c/index.js#L128
59
+ let svelte5 = await isSvelte5(sveltePath), environmentConfig = environment.config;
60
+ !svelte5 && chain.resolve.alias.set('svelte', external_node_path_default().join(sveltePath, 'src/runtime')), chain.resolve.extensions.add('.svelte'), chain.resolve.mainFields.add('svelte').add('...'), chain.resolve.conditionNames.add('svelte').add('...');
61
+ let loaderPath = src_require.resolve('svelte-loader');
101
62
  chain.merge({
102
63
  resolveLoader: {
103
64
  alias: {
@@ -105,11 +66,8 @@ function pluginSvelte(options = {}) {
105
66
  }
106
67
  }
107
68
  });
108
- const userLoaderOptions = options.svelteLoaderOptions ?? {};
109
- const svelteLoaderOptions = {
69
+ let userLoaderOptions = options.svelteLoaderOptions ?? {}, svelteLoaderOptions = {
110
70
  preprocess: (0, external_svelte_preprocess_namespaceObject.sveltePreprocess)(options.preprocessOptions),
111
- // NOTE emitCss: true is currently not supported with HMR
112
- // See https://github.com/web-infra-dev/rsbuild/issues/2744
113
71
  emitCss: isProd && !environmentConfig.output.injectStyles,
114
72
  hotReload: isDev && environmentConfig.dev.hmr,
115
73
  ...userLoaderOptions,
@@ -119,19 +77,17 @@ function pluginSvelte(options = {}) {
119
77
  }
120
78
  };
121
79
  chain.module.rule(CHAIN_ID.RULE.SVELTE).test(/\.svelte$/).use(CHAIN_ID.USE.SVELTE).loader(loaderPath).options(svelteLoaderOptions);
122
- const jsRule = chain.module.rules.get(CHAIN_ID.RULE.JS);
80
+ let jsRule = chain.module.rules.get(CHAIN_ID.RULE.JS);
123
81
  if (svelte5 && jsRule) {
124
- const swcUse = jsRule.uses.get(CHAIN_ID.USE.SWC);
125
- const regexp = /\.(?:svelte\.js|svelte\.ts)$/;
126
- jsRule.exclude.add(regexp);
127
- chain.module.rule('svelte-js').test(regexp).use(CHAIN_ID.USE.SVELTE).loader(loaderPath).options(svelteLoaderOptions).end().use(CHAIN_ID.USE.SWC).loader(swcUse.get('loader')).options(swcUse.get('options'));
82
+ let swcUse = jsRule.uses.get(CHAIN_ID.USE.SWC), regexp = /\.(?:svelte\.js|svelte\.ts)$/;
83
+ jsRule.exclude.add(regexp), chain.module.rule('svelte-js').test(regexp).use(CHAIN_ID.USE.SVELTE).loader(loaderPath).options(svelteLoaderOptions).end().use(CHAIN_ID.USE.SWC).loader(swcUse.get('loader')).options(swcUse.get('options'));
128
84
  }
129
85
  });
130
86
  }
131
87
  };
132
88
  }
133
89
  var __webpack_export_target__ = exports;
134
- for(var i in __webpack_exports__)__webpack_export_target__[i] = __webpack_exports__[i];
135
- if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
136
- value: true
90
+ for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
91
+ __webpack_exports__.__esModule && Object.defineProperty(__webpack_export_target__, '__esModule', {
92
+ value: !0
137
93
  });
package/dist/index.js CHANGED
@@ -1,16 +1,14 @@
1
1
  import * as __WEBPACK_EXTERNAL_MODULE_node_fs__ from "node:fs";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_node_module__ from "node:module";
2
3
  import * as __WEBPACK_EXTERNAL_MODULE_node_path__ from "node:path";
3
4
  import * as __WEBPACK_EXTERNAL_MODULE__rsbuild_core__ from "@rsbuild/core";
4
5
  import * as __WEBPACK_EXTERNAL_MODULE_svelte_preprocess__ from "svelte-preprocess";
5
- const PLUGIN_SVELTE_NAME = 'rsbuild:svelte';
6
- const isSvelte5 = async (sveltePath)=>{
6
+ let src_require = (0, __WEBPACK_EXTERNAL_MODULE_node_module__.createRequire)(import.meta.url), PLUGIN_SVELTE_NAME = 'rsbuild:svelte', isSvelte5 = async (sveltePath)=>{
7
7
  try {
8
- const pkgPath = __WEBPACK_EXTERNAL_MODULE_node_path__["default"].join(sveltePath, 'package.json');
9
- const pkgRaw = await __WEBPACK_EXTERNAL_MODULE_node_fs__.promises.readFile(pkgPath, 'utf-8');
10
- const pkgJson = JSON.parse(pkgRaw);
11
- return pkgJson.version.startsWith('5.');
8
+ let pkgPath = __WEBPACK_EXTERNAL_MODULE_node_path__.default.join(sveltePath, 'package.json'), pkgRaw = await __WEBPACK_EXTERNAL_MODULE_node_fs__.promises.readFile(pkgPath, 'utf-8');
9
+ return JSON.parse(pkgRaw).version.startsWith('5.');
12
10
  } catch (err) {
13
- return false;
11
+ return !1;
14
12
  }
15
13
  };
16
14
  function pluginSvelte(options = {}) {
@@ -19,31 +17,20 @@ function pluginSvelte(options = {}) {
19
17
  setup (api) {
20
18
  let sveltePath = '';
21
19
  try {
22
- // Resolve `svelte` package path from the project directory
23
- sveltePath = __WEBPACK_EXTERNAL_MODULE_node_path__["default"].dirname(require.resolve('svelte/package.json', {
20
+ sveltePath = __WEBPACK_EXTERNAL_MODULE_node_path__.default.dirname(src_require.resolve('svelte/package.json', {
24
21
  paths: [
25
22
  api.context.rootPath
26
23
  ]
27
24
  }));
28
25
  } catch (err) {
29
- __WEBPACK_EXTERNAL_MODULE__rsbuild_core__.logger.error('Cannot resolve `svelte` package under the project directory, did you forget to install it?');
30
- throw new Error('Cannot resolve `svelte` package', {
26
+ throw __WEBPACK_EXTERNAL_MODULE__rsbuild_core__.logger.error('Cannot resolve `svelte` package under the project directory, did you forget to install it?'), Error('[rsbuild:svelte] Failed to resolve `svelte` package', {
31
27
  cause: err
32
28
  });
33
29
  }
34
30
  api.modifyBundlerChain(async (chain, { CHAIN_ID, environment, isDev, isProd })=>{
35
- const svelte5 = await isSvelte5(sveltePath);
36
- const environmentConfig = environment.config;
37
- if (!svelte5) chain.resolve.alias.set('svelte', __WEBPACK_EXTERNAL_MODULE_node_path__["default"].join(sveltePath, 'src/runtime'));
38
- chain.resolve.extensions.add('.svelte');
39
- chain.resolve.mainFields.add('svelte').add('...');
40
- chain.resolve.conditionNames.add('svelte').add('...');
41
- const loaderPath = require.resolve('svelte-loader');
42
- // We need to set an alias from `svelte-loader` to its realpath.
43
- // Because with `emitCss` option on, the loader generates css
44
- // imports with inline loader reference like `!svelte-loader...`,
45
- // which would cause the bundler failed to resolve the loader.
46
- // See https://github.com/sveltejs/svelte-loader/blob/344f00744b06a98ff5ee7e7a04d5e04ac496988c/index.js#L128
31
+ let svelte5 = await isSvelte5(sveltePath), environmentConfig = environment.config;
32
+ !svelte5 && chain.resolve.alias.set('svelte', __WEBPACK_EXTERNAL_MODULE_node_path__.default.join(sveltePath, 'src/runtime')), chain.resolve.extensions.add('.svelte'), chain.resolve.mainFields.add('svelte').add('...'), chain.resolve.conditionNames.add('svelte').add('...');
33
+ let loaderPath = src_require.resolve('svelte-loader');
47
34
  chain.merge({
48
35
  resolveLoader: {
49
36
  alias: {
@@ -51,11 +38,8 @@ function pluginSvelte(options = {}) {
51
38
  }
52
39
  }
53
40
  });
54
- const userLoaderOptions = options.svelteLoaderOptions ?? {};
55
- const svelteLoaderOptions = {
41
+ let userLoaderOptions = options.svelteLoaderOptions ?? {}, svelteLoaderOptions = {
56
42
  preprocess: (0, __WEBPACK_EXTERNAL_MODULE_svelte_preprocess__.sveltePreprocess)(options.preprocessOptions),
57
- // NOTE emitCss: true is currently not supported with HMR
58
- // See https://github.com/web-infra-dev/rsbuild/issues/2744
59
43
  emitCss: isProd && !environmentConfig.output.injectStyles,
60
44
  hotReload: isDev && environmentConfig.dev.hmr,
61
45
  ...userLoaderOptions,
@@ -65,12 +49,10 @@ function pluginSvelte(options = {}) {
65
49
  }
66
50
  };
67
51
  chain.module.rule(CHAIN_ID.RULE.SVELTE).test(/\.svelte$/).use(CHAIN_ID.USE.SVELTE).loader(loaderPath).options(svelteLoaderOptions);
68
- const jsRule = chain.module.rules.get(CHAIN_ID.RULE.JS);
52
+ let jsRule = chain.module.rules.get(CHAIN_ID.RULE.JS);
69
53
  if (svelte5 && jsRule) {
70
- const swcUse = jsRule.uses.get(CHAIN_ID.USE.SWC);
71
- const regexp = /\.(?:svelte\.js|svelte\.ts)$/;
72
- jsRule.exclude.add(regexp);
73
- chain.module.rule('svelte-js').test(regexp).use(CHAIN_ID.USE.SVELTE).loader(loaderPath).options(svelteLoaderOptions).end().use(CHAIN_ID.USE.SWC).loader(swcUse.get('loader')).options(swcUse.get('options'));
54
+ let swcUse = jsRule.uses.get(CHAIN_ID.USE.SWC), regexp = /\.(?:svelte\.js|svelte\.ts)$/;
55
+ jsRule.exclude.add(regexp), chain.module.rule('svelte-js').test(regexp).use(CHAIN_ID.USE.SVELTE).loader(loaderPath).options(svelteLoaderOptions).end().use(CHAIN_ID.USE.SWC).loader(swcUse.get('loader')).options(swcUse.get('options'));
74
56
  }
75
57
  });
76
58
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsbuild/plugin-svelte",
3
- "version": "1.0.5",
3
+ "version": "1.0.7-alpha.0",
4
4
  "description": "Svelte plugin for Rsbuild",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,12 +26,12 @@
26
26
  "svelte-preprocess": "^6.0.3"
27
27
  },
28
28
  "devDependencies": {
29
- "@rslib/core": "0.0.18",
30
- "@types/node": "^22.9.0",
31
- "svelte": "^5.1.13",
32
- "typescript": "^5.6.3",
33
- "@rsbuild/core": "1.1.1",
34
- "@scripts/test-helper": "1.0.1"
29
+ "@rslib/core": "0.1.4",
30
+ "@types/node": "^22.10.2",
31
+ "svelte": "^5.14.0",
32
+ "typescript": "^5.7.2",
33
+ "@scripts/test-helper": "1.0.1",
34
+ "@rsbuild/core": "1.1.10"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "@rsbuild/core": "1.x"