@rsbuild/plugin-stylus 1.0.8 → 1.1.0-beta.2

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,23 +1,17 @@
1
1
  "use strict";
2
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_require__.n = function(module) {
5
- var getter = module && module.__esModule ? function() {
6
- return module.default;
7
- } : function() {
8
- return module;
9
- };
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module.default : ()=>module;
10
6
  return __webpack_require__.d(getter, {
11
7
  a: getter
12
8
  }), getter;
13
- }, __webpack_require__.d = function(exports1, definition) {
9
+ }, __webpack_require__.d = (exports1, definition)=>{
14
10
  for(var key in definition)__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key) && Object.defineProperty(exports1, key, {
15
11
  enumerable: !0,
16
12
  get: definition[key]
17
13
  });
18
- }, __webpack_require__.o = function(obj, prop) {
19
- return Object.prototype.hasOwnProperty.call(obj, prop);
20
- }, __webpack_require__.r = function(exports1) {
14
+ }, __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop), __webpack_require__.r = (exports1)=>{
21
15
  'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports1, Symbol.toStringTag, {
22
16
  value: 'Module'
23
17
  }), Object.defineProperty(exports1, '__esModule', {
@@ -35,20 +29,24 @@ let external_reduce_configs_namespaceObject = require("reduce-configs"), src_req
35
29
  name: PLUGIN_STYLUS_NAME,
36
30
  setup (api) {
37
31
  api.modifyBundlerChain(async (chain, { CHAIN_ID, environment })=>{
32
+ var callback;
38
33
  let { config } = environment, { sourceMap } = config.output, mergedOptions = (0, external_reduce_configs_namespaceObject.reduceConfigs)({
39
34
  initial: {
40
35
  sourceMap: 'boolean' == typeof sourceMap ? sourceMap : sourceMap.css
41
36
  },
42
37
  config: options,
43
38
  mergeFn: external_deepmerge_default()
44
- }), rule = chain.module.rule(CHAIN_ID.RULE.STYLUS).test(/\.styl(us)?$/).merge({
45
- sideEffects: !0
46
- }).resolve.preferRelative(!0).end(), cssRule = chain.module.rules.get(CHAIN_ID.RULE.CSS);
47
- for (let id of (rule.dependency(cssRule.get('dependency')), Object.keys(cssRule.uses.entries()))){
48
- let loader = cssRule.uses.get(id), options = loader.get('options') ?? {}, clonedOptions = external_deepmerge_default()({}, options);
49
- id === CHAIN_ID.USE.CSS && (clonedOptions.importLoaders += 1), rule.use(id).loader(loader.get('loader')).options(clonedOptions);
50
- }
51
- rule.use(CHAIN_ID.USE.STYLUS).loader(src_require.resolve('stylus-loader')).options(mergedOptions);
39
+ }), test = /\.styl(us)?$/, rule = chain.module.rule(CHAIN_ID.RULE.STYLUS).test(test).resourceQuery({
40
+ not: /raw|inline/
41
+ }).sideEffects(!0).resolve.preferRelative(!0).end(), inlineRule = chain.module.rule(CHAIN_ID.RULE.STYLUS_INLINE).test(test).resourceQuery(/inline/);
42
+ chain.module.rule(CHAIN_ID.RULE.STYLUS_RAW).test(test).type('asset/source').resourceQuery(/raw/), (callback = (rule, type)=>{
43
+ let cssRule = chain.module.rules.get('normal' === type ? CHAIN_ID.RULE.CSS : CHAIN_ID.RULE.CSS_INLINE);
44
+ for (let id of (rule.dependency(cssRule.get('dependency')), Object.keys(cssRule.uses.entries()))){
45
+ let loader = cssRule.uses.get(id), options = loader.get('options') ?? {}, clonedOptions = external_deepmerge_default()({}, options);
46
+ id === CHAIN_ID.USE.CSS && (clonedOptions.importLoaders += 1), rule.use(id).loader(loader.get('loader')).options(clonedOptions);
47
+ }
48
+ rule.use(CHAIN_ID.USE.STYLUS).loader(src_require.resolve('stylus-loader')).options(mergedOptions);
49
+ })(rule, 'normal'), callback(inlineRule, 'inline');
52
50
  });
53
51
  }
54
52
  });
package/dist/index.d.ts CHANGED
@@ -1,17 +1,52 @@
1
1
  import type { RsbuildPlugin } from '@rsbuild/core';
2
2
  export declare const PLUGIN_STYLUS_NAME = "rsbuild:stylus";
3
3
  type StylusOptions = {
4
+ /**
5
+ * Specify Stylus plugins to use.
6
+ * @default []
7
+ * @example use: ["nib"]
8
+ */
4
9
  use?: string[];
5
- define?: [string, any, boolean?];
10
+ /**
11
+ * Define Stylus variables or functions.
12
+ * @default []
13
+ * @example
14
+ * define: [
15
+ * ["$development", process.env.NODE_ENV === "development"],
16
+ * ["rawVar", 42, true],
17
+ * ]
18
+ */
19
+ define?: [string, any, boolean?][];
20
+ /**
21
+ * Add paths to the import lookup paths.
22
+ * @default []
23
+ * @example include: [path.join(__dirname, "src/styl/config")]
24
+ */
6
25
  include?: string[];
26
+ /**
27
+ * Include regular CSS on `@import`.
28
+ * @default false
29
+ */
30
+ includeCSS?: boolean;
7
31
  /**
8
32
  * Import the specified Stylus files/paths, can not be relative path.
9
- * @example import: ["nib", path.join(__dirname, "src/styl/mixins")],
10
33
  * @default []
34
+ * @example import: ["nib", path.join(__dirname, "src/styl/mixins")],
11
35
  */
12
36
  import?: string[];
37
+ /**
38
+ * Resolve relative url()'s inside imported files.
39
+ */
13
40
  resolveURL?: boolean;
41
+ /**
42
+ * Emits comments in the generated CSS indicating the corresponding Stylus line.
43
+ * @default false
44
+ */
14
45
  lineNumbers?: boolean;
46
+ /**
47
+ * Move `@import` and `@charset` to the top.
48
+ * @default false
49
+ */
15
50
  hoistAtrules?: boolean;
16
51
  };
17
52
  export type PluginStylusOptions = {
package/dist/index.js CHANGED
@@ -5,20 +5,24 @@ let src_require = (0, __WEBPACK_EXTERNAL_MODULE_node_module_ab9f2194__.createReq
5
5
  name: PLUGIN_STYLUS_NAME,
6
6
  setup (api) {
7
7
  api.modifyBundlerChain(async (chain, { CHAIN_ID, environment })=>{
8
+ var callback;
8
9
  let { config } = environment, { sourceMap } = config.output, mergedOptions = (0, __WEBPACK_EXTERNAL_MODULE_reduce_configs_02786df6__.reduceConfigs)({
9
10
  initial: {
10
11
  sourceMap: 'boolean' == typeof sourceMap ? sourceMap : sourceMap.css
11
12
  },
12
13
  config: options,
13
14
  mergeFn: __WEBPACK_EXTERNAL_MODULE_deepmerge__.default
14
- }), rule = chain.module.rule(CHAIN_ID.RULE.STYLUS).test(/\.styl(us)?$/).merge({
15
- sideEffects: !0
16
- }).resolve.preferRelative(!0).end(), cssRule = chain.module.rules.get(CHAIN_ID.RULE.CSS);
17
- for (let id of (rule.dependency(cssRule.get('dependency')), Object.keys(cssRule.uses.entries()))){
18
- let loader = cssRule.uses.get(id), options = loader.get('options') ?? {}, clonedOptions = (0, __WEBPACK_EXTERNAL_MODULE_deepmerge__.default)({}, options);
19
- id === CHAIN_ID.USE.CSS && (clonedOptions.importLoaders += 1), rule.use(id).loader(loader.get('loader')).options(clonedOptions);
20
- }
21
- rule.use(CHAIN_ID.USE.STYLUS).loader(src_require.resolve('stylus-loader')).options(mergedOptions);
15
+ }), test = /\.styl(us)?$/, rule = chain.module.rule(CHAIN_ID.RULE.STYLUS).test(test).resourceQuery({
16
+ not: /raw|inline/
17
+ }).sideEffects(!0).resolve.preferRelative(!0).end(), inlineRule = chain.module.rule(CHAIN_ID.RULE.STYLUS_INLINE).test(test).resourceQuery(/inline/);
18
+ chain.module.rule(CHAIN_ID.RULE.STYLUS_RAW).test(test).type('asset/source').resourceQuery(/raw/), (callback = (rule, type)=>{
19
+ let cssRule = chain.module.rules.get('normal' === type ? CHAIN_ID.RULE.CSS : CHAIN_ID.RULE.CSS_INLINE);
20
+ for (let id of (rule.dependency(cssRule.get('dependency')), Object.keys(cssRule.uses.entries()))){
21
+ let loader = cssRule.uses.get(id), options = loader.get('options') ?? {}, clonedOptions = (0, __WEBPACK_EXTERNAL_MODULE_deepmerge__.default)({}, options);
22
+ id === CHAIN_ID.USE.CSS && (clonedOptions.importLoaders += 1), rule.use(id).loader(loader.get('loader')).options(clonedOptions);
23
+ }
24
+ rule.use(CHAIN_ID.USE.STYLUS).loader(src_require.resolve('stylus-loader')).options(mergedOptions);
25
+ })(rule, 'normal'), callback(inlineRule, 'inline');
22
26
  });
23
27
  }
24
28
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsbuild/plugin-stylus",
3
- "version": "1.0.8",
3
+ "version": "1.1.0-beta.2",
4
4
  "description": "Stylus plugin for Rsbuild",
5
5
  "homepage": "https://rsbuild.dev",
6
6
  "repository": {
@@ -29,10 +29,10 @@
29
29
  "stylus-loader": "8.1.1"
30
30
  },
31
31
  "devDependencies": {
32
- "@rslib/core": "0.4.1",
33
- "@types/node": "^22.13.4",
34
- "typescript": "^5.7.3",
35
- "@rsbuild/core": "1.2.9",
32
+ "@rslib/core": "0.5.5",
33
+ "@types/node": "^22.13.11",
34
+ "typescript": "^5.8.2",
35
+ "@rsbuild/core": "1.3.0-beta.2",
36
36
  "@scripts/test-helper": "1.0.1"
37
37
  },
38
38
  "peerDependencies": {