mantine-reduce-css 2.3.2 → 2.3.4

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.
Files changed (3) hide show
  1. package/README.md +84 -50
  2. package/dist/index.js +207 -177
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,45 +1,44 @@
1
1
  # mantine-reduce-css
2
2
 
3
- A CLI tool for generating reduced Mantine CSS bundles based on your project’s component usage.
3
+ A CLI tool designed to optimize your production build by generating a reduced Mantine CSS bundle. It scans your project files to detect which components are actually used and generates a CSS file containing only the necessary styles.
4
+
5
+ ## Version Compatibility
6
+
7
+ Since version 2, this package aligns with Mantine's minor versioning to ensure compatibility.
8
+
9
+ | mantine-reduce-css | @mantine/core |
10
+ | :----------------- | :------------ |
11
+ | `2.3.x` | `8.3.x` |
12
+ | `2.4.x` | `8.4.x` |
4
13
 
5
14
  ## Installation
6
15
 
16
+ You can install the tool globally or as a dev dependency in your project.
17
+
7
18
  ```sh
8
19
  npm install -g mantine-reduce-css
9
20
  ```
10
21
 
11
- ## Mantine Version
12
-
13
- Since version 2, this package follows Mantine's minor version updates.
14
- Example: `mantine-reduce-css@2.3.x` is compatible with `@mantine/core@8.3.x`.
15
-
16
22
  ## Usage
17
23
 
18
- ### Generate Reduced CSS
24
+ Run the following command in your terminal to generate the CSS file. By default, the tool looks for configuration in your `package.json`.
19
25
 
20
- ```sh
26
+ ```bash
21
27
  mantine-reduce-css --config <path-to-config>
22
28
  ```
23
29
 
24
- ### Export Component Data
25
-
26
- To export component data for custom packages, use:
27
-
28
- ```sh
29
- mantine-reduce-css gen --config <path-to-config>
30
- ```
30
+ ### Configuration
31
31
 
32
- ## Configuration
32
+ Add a mantineReduceCss section to your `package.json` or create a standalone JSON configuration file.
33
33
 
34
- Add a `mantineReduceCss` section to your config file (e.g., `package.json` or a separate JSON file):
34
+ #### Example Configuration
35
35
 
36
36
  ```json
37
37
  {
38
38
  "mantineReduceCss": {
39
- "target": [
40
- "src/**/*.tsx"
41
- ],
39
+ "target": ["src/**/*.tsx"],
42
40
  "globalCss": true,
41
+ "outputPath": "mantine.css",
43
42
  "extensions": {
44
43
  "CodeHighlight": false,
45
44
  "NotificationsSystem": false,
@@ -50,57 +49,92 @@ Add a `mantineReduceCss` section to your config file (e.g., `package.json` or a
50
49
  "ModalsManager": false,
51
50
  "RichTextEditor": false
52
51
  },
53
- "outputPath": "mantine.css",
54
- "extend": [
55
- {
56
- "package": "@custom",
57
- "data": "custom-components.json"
58
- }
59
- ]
52
+ "extend": []
60
53
  }
61
54
  }
62
55
  ```
63
56
 
64
- ### Options
57
+ ### Options Reference
58
+
59
+ | Option | Type | Required | Description |
60
+ | ---------- | -------- | -------- | -------------------------------------------------------------------------------------------------------- |
61
+ | target | string[] | Yes | An array of glob patterns (e.g., `src/**/*.tsx`) to scan for Mantine imports. |
62
+ | outputPath | string | Yes | The file path where the generated CSS will be written. |
63
+ | globalCss | boolean | No | Whether to include Mantine's global reset and base styles. Default: `true`. |
64
+ | extensions | object | No | Enable specific Mantine extension packages (e.g., Carousel, Dropzone). All default to `false`. |
65
+ | extend | object[] | No | An array of configurations for custom/shared component libraries. See *Handling Custom Libraries* below. |
66
+
67
+ ## Handling Custom Libraries (Extend)
68
+
69
+ If you use a shared component library (e.g., an internal design system) that relies on Mantine, mantine-reduce-css needs to know which Mantine components your shared library uses.
70
+
71
+ ### Method 1: Automatic Generation
72
+
73
+ You can automatically generate the map if your library meets these constraints:
65
74
 
66
- - **target**: Array of glob patterns for files to scan for Mantine imports (required)
67
- - **globalCss**: Include Mantine global CSS (default: true)
68
- - **extensions**: Enable Mantine extension packages (all default to false)
69
- - **outputPath**: Path to write the generated CSS file (required)
70
- - **extend**: Array of objects to extend with custom component data (optional)
71
- - **package**: Name of the custom package
72
- - **data**: Path to a JSON file containing exported component data
75
+ 1. Filename matches Component Name (e.g., Button.tsx exports Button).
76
+ 2. No Deep Dependencies (it implies the component directly imports Mantine, not via another wrapper).
73
77
 
74
- ### Export Config
78
+ In your shared library project, configure genExtend to scan your library's components and output a JSON map.
75
79
 
76
- For exporting component data, use:
80
+ #### Run the generation command
81
+
82
+ ```bash
83
+ mantine-reduce-css gen --config <path-to-config>
84
+ ```
85
+
86
+ #### Configuration for generation
77
87
 
78
88
  ```json
79
89
  {
80
90
  "mantineReduceCss": {
81
- "target": [
82
- "src/components/**/*.tsx"
83
- ],
84
- "outputPath": "exported-components.json",
85
- "packageName": "@custom"
91
+ "genExtend": [
92
+ {
93
+ "target": ["src/components/**/*.tsx"],
94
+ "outputPath": "exported-components.json",
95
+ "packageName": "@custom/ui"
96
+ }
97
+ ]
86
98
  }
87
99
  }
88
100
  ```
89
101
 
90
- ## Example
102
+ ### Method 2: Manual Mapping
91
103
 
92
- To generate CSS for your project:
104
+ If your library does not meet the constraints above (e.g., it uses deep nesting or mismatched filenames), automatic generation will fail to detect usage. You must manually create the JSON map:
93
105
 
94
- ```sh
95
- mantine-reduce-css --config test/test-simple.json
106
+ ```json
107
+ [
108
+ {
109
+ "name": "CustomButton",
110
+ "module": "@custom/ui",
111
+ "dependency": [
112
+ "@mantine/core/Stack",
113
+ "@mantine/core/Button"
114
+ ]
115
+ }
116
+ ]
96
117
  ```
97
118
 
98
- To export component data:
119
+ ### Consume Component Map
99
120
 
100
- ```sh
101
- mantine-reduce-css gen --config test/test-export.json
121
+ In your main application (where you are generating the final CSS), point the extend option to the JSON file created in the previous step (Method 1 or Method 2).
122
+
123
+ ```json
124
+ {
125
+ "mantineReduceCss": {
126
+ "target": ["src/**/*.tsx"],
127
+ "outputPath": "styles/mantine.css",
128
+ "extend": [
129
+ {
130
+ "package": "@custom/ui",
131
+ "data": "./node_modules/@custom/ui/exported-components.json"
132
+ }
133
+ ]
134
+ }
135
+ }
102
136
  ```
103
137
 
104
138
  ## License
105
139
 
106
- MIT
140
+ MIT
package/dist/index.js CHANGED
@@ -624,7 +624,7 @@ class CAC extends EventEmitter {
624
624
 
625
625
  const cac = (name = "") => new CAC(name);
626
626
 
627
- var version = "2.3.2";
627
+ var version = "2.3.4";
628
628
 
629
629
  /* es-module-lexer 1.7.0 */
630
630
  var ImportType;!function(A){A[A.Static=1]="Static",A[A.Dynamic=2]="Dynamic",A[A.ImportMeta=3]="ImportMeta",A[A.StaticSourcePhase=4]="StaticSourcePhase",A[A.DynamicSourcePhase=5]="DynamicSourcePhase",A[A.StaticDeferPhase=6]="StaticDeferPhase",A[A.DynamicDeferPhase=7]="DynamicDeferPhase";}(ImportType||(ImportType={}));const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse$1(E,g="@"){if(!C)return init.then((()=>parse$1(E)));const I=E.length+1,w=(C.__heap_base.value||C.__heap_base)+4*I-C.memory.buffer.byteLength;w>0&&C.memory.grow(Math.ceil(w/65536));const K=C.sa(I-1);if((A?B:Q)(E,new Uint16Array(C.memory.buffer,K,I)),!C.parse())throw Object.assign(new Error(`Parse error ${g}:${E.slice(0,C.e()).split("\n").length}:${C.e()-E.lastIndexOf("\n",C.e()-1)}`),{idx:C.e()});const o=[],D=[];for(;C.ri();){const A=C.is(),Q=C.ie(),B=C.it(),g=C.ai(),I=C.id(),w=C.ss(),K=C.se();let D;C.ip()&&(D=k(E.slice(-1===I?A-1:A,-1===I?Q+1:Q))),o.push({n:D,t:B,s:A,e:Q,ss:w,se:K,d:I,a:g});}for(;C.re();){const A=C.es(),Q=C.ee(),B=C.els(),g=C.ele(),I=E.slice(A,Q),w=I[0],K=B<0?void 0:E.slice(B,g),o=K?K[0]:"";D.push({s:A,e:Q,ls:B,le:g,n:'"'===w||"'"===w?k(I):I,ln:'"'===o||"'"===o?k(K):K});}function k(A){try{return (0,eval)(A)}catch(A){}}return [o,D,!!C.f(),!!C.ms()]}function Q(A,Q){const B=A.length;let C=0;for(;C<B;){const B=A.charCodeAt(C);Q[C++]=(255&B)<<8|B>>>8;}}function B(A,Q){const B=A.length;let C=0;for(;C<B;)Q[C]=A.charCodeAt(C++);}let C;const E=()=>{return A="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GzYCHAtBAEEAKAKwCkECajYCsAoCQAJAAkACQEEAECkiAUHhAEYNACABQfcARg0BQQAoArAKIQEMAgtBACgCsAoiAUECakHACEEKEC8NAUEGIQIMAgtBACgCsAoiAS8BAkHpAEcNACABLwEEQfQARw0AQQQhAiABLwEGQegARg0BC0EAIAFBfmo2ArAKDwtBACABIAJBAXRqNgKwCgJAQQEQKUH7AEYNAEEAIAE2ArAKDwtBACgCsAoiACECA0BBACACQQJqNgKwCgJAAkACQEEBECkiAkEiRg0AIAJBJ0cNAUEnEBpBAEEAKAKwCkECajYCsApBARApIQIMAgtBIhAaQQBBACgCsApBAmo2ArAKQQEQKSECDAELIAIQLCECCwJAIAJBOkYNAEEAIAE2ArAKDwtBAEEAKAKwCkECajYCsAoCQEEBECkiAkEiRg0AIAJBJ0YNAEEAIAE2ArAKDwsgAhAaQQBBACgCsApBAmo2ArAKAkACQEEBECkiAkEsRg0AIAJB/QBGDQFBACABNgKwCg8LQQBBACgCsApBAmo2ArAKQQEQKUH9AEYNAEEAKAKwCiECDAELC0EAKALwCSIBIAA2AhAgAUEAKAKwCkECajYCDAttAQJ/AkACQANAAkAgAEH//wNxIgFBd2oiAkEXSw0AQQEgAnRBn4CABHENAgsgAUGgAUYNASAAIQIgARAoDQJBACECQQBBACgCsAoiAEECajYCsAogAC8BAiIADQAMAgsLIAAhAgsgAkH//wNxC6sBAQR/AkACQEEAKAKwCiICLwEAIgNB4QBGDQAgASEEIAAhBQwBC0EAIAJBBGo2ArAKQQEQKSECQQAoArAKIQUCQAJAIAJBIkYNACACQSdGDQAgAhAsGkEAKAKwCiEEDAELIAIQGkEAQQAoArAKQQJqIgQ2ArAKC0EBECkhA0EAKAKwCiECCwJAIAIgBUYNACAFIARBACAAIAAgAUYiAhtBACABIAIbEAILIAMLcgEEf0EAKAKwCiEAQQAoArQKIQECQAJAA0AgAEECaiECIAAgAU8NAQJAAkAgAi8BACIDQaR/ag4CAQQACyACIQAgA0F2ag4EAgEBAgELIABBBGohAAwACwtBACACNgKwChAlQQAPC0EAIAI2ArAKQd0AC0kBA39BACEDAkAgAkUNAAJAA0AgAC0AACIEIAEtAAAiBUcNASABQQFqIQEgAEEBaiEAIAJBf2oiAg0ADAILCyAEIAVrIQMLIAMLC+wBAgBBgAgLzgEAAHgAcABvAHIAdABtAHAAbwByAHQAZgBvAHIAZQB0AGEAbwB1AHIAYwBlAHIAbwBtAHUAbgBjAHQAaQBvAG4AcwBzAGUAcgB0AHYAbwB5AGkAZQBkAGUAbABlAGMAbwBuAHQAaQBuAGkAbgBzAHQAYQBuAHQAeQBiAHIAZQBhAHIAZQB0AHUAcgBkAGUAYgB1AGcAZwBlAGEAdwBhAGkAdABoAHIAdwBoAGkAbABlAGkAZgBjAGEAdABjAGYAaQBuAGEAbABsAGUAbABzAABB0AkLEAEAAAACAAAAAAQAAEA5AAA=","undefined"!=typeof Buffer?Buffer.from(A,"base64"):Uint8Array.from(atob(A),(A=>A.charCodeAt(0)));var A;};const init=WebAssembly.compile(E()).then(WebAssembly.instantiate).then((({exports:A})=>{C=A;}));
@@ -7988,37 +7988,39 @@ function ExtractFunctionNames(importStatement) {
7988
7988
  async function ExportCmd(props) {
7989
7989
  await init;
7990
7990
  const projectRoot = path$1.dirname(props.packageJsonPath);
7991
- const files = await fg(props.config.target, { cwd: projectRoot });
7992
- const result = [];
7993
- try {
7994
- for (const file of files) {
7995
- const filePath = path$1.join(projectRoot, file);
7996
- const content = readFileSync$1(filePath, "utf-8");
7997
- const [imports] = parse$1(content);
7998
- const dependencies = [];
7999
- for (const imp of imports) {
8000
- if (imp.n && MANTINE_PACKAGE.has(imp.n)) {
8001
- const statement = content.substring(imp.ss, imp.se);
8002
- const functionNames = ExtractFunctionNames(statement);
8003
- for (const fn of functionNames) {
8004
- dependencies.push(`${imp.n}/${fn}`);
7991
+ for (const config of props.configs) {
7992
+ const files = await fg(config.target, { cwd: projectRoot });
7993
+ const result = [];
7994
+ try {
7995
+ for (const file of files) {
7996
+ const filePath = path$1.join(projectRoot, file);
7997
+ const content = readFileSync$1(filePath, "utf-8");
7998
+ const [imports] = parse$1(content);
7999
+ const dependencies = [];
8000
+ for (const imp of imports) {
8001
+ if (imp.n && MANTINE_PACKAGE.has(imp.n)) {
8002
+ const statement = content.substring(imp.ss, imp.se);
8003
+ const functionNames = ExtractFunctionNames(statement);
8004
+ for (const fn of functionNames) {
8005
+ dependencies.push(`${imp.n}/${fn}`);
8006
+ }
8005
8007
  }
8006
8008
  }
8009
+ result.push({
8010
+ name: path$1.basename(file, path$1.extname(file)),
8011
+ module: config.packageName,
8012
+ dependency: dependencies,
8013
+ });
8007
8014
  }
8008
- result.push({
8009
- name: path$1.basename(file, path$1.extname(file)),
8010
- module: props.config.packageName,
8011
- dependency: dependencies,
8012
- });
8015
+ const outputPath = path$1.resolve(path$1.dirname(props.packageJsonPath), config.outputPath);
8016
+ const outputDir = path$1.dirname(outputPath);
8017
+ accessSync(outputDir, F_OK);
8018
+ writeFileSync(outputPath, JSON.stringify(result), "utf-8");
8019
+ console.info(`Exported ${result.length} components to ${outputPath}`);
8020
+ }
8021
+ catch (error) {
8022
+ console.error(`Could not process file: ${props.packageJsonPath}`, error);
8013
8023
  }
8014
- const outputPath = path$1.resolve(path$1.dirname(props.packageJsonPath), props.config.outputPath);
8015
- const outputDir = path$1.dirname(outputPath);
8016
- accessSync(outputDir, F_OK);
8017
- writeFileSync(outputPath, JSON.stringify(result), "utf-8");
8018
- console.info(`Exported ${result.length} components to ${outputPath}`);
8019
- }
8020
- catch (error) {
8021
- console.error(`Could not process file: ${props.packageJsonPath}`, error);
8022
8024
  }
8023
8025
  }
8024
8026
 
@@ -8028,8 +8030,8 @@ var componentData = [
8028
8030
  module: "@mantine/core",
8029
8031
  css_name: "@mantine/core/styles/Accordion.css",
8030
8032
  dependency: [
8031
- "UnstyledButton",
8032
- "Collapse"
8033
+ "Collapse",
8034
+ "UnstyledButton"
8033
8035
  ]
8034
8036
  },
8035
8037
  {
@@ -8037,9 +8039,9 @@ var componentData = [
8037
8039
  module: "@mantine/core",
8038
8040
  css_name: "@mantine/core/styles/ActionIcon.css",
8039
8041
  dependency: [
8040
- "Loader",
8042
+ "Transition",
8041
8043
  "UnstyledButton",
8042
- "Transition"
8044
+ "Loader"
8043
8045
  ]
8044
8046
  },
8045
8047
  {
@@ -8092,10 +8094,10 @@ var componentData = [
8092
8094
  module: "@mantine/core",
8093
8095
  css_name: "",
8094
8096
  dependency: [
8095
- "ScrollArea",
8096
- "Input",
8097
8097
  "Combobox",
8098
- "InputBase"
8098
+ "InputBase",
8099
+ "ScrollArea",
8100
+ "Input"
8099
8101
  ]
8100
8102
  },
8101
8103
  {
@@ -8146,9 +8148,9 @@ var componentData = [
8146
8148
  module: "@mantine/core",
8147
8149
  css_name: "@mantine/core/styles/Button.css",
8148
8150
  dependency: [
8149
- "Loader",
8151
+ "Transition",
8150
8152
  "UnstyledButton",
8151
- "Transition"
8153
+ "Loader"
8152
8154
  ]
8153
8155
  },
8154
8156
  {
@@ -8172,8 +8174,10 @@ var componentData = [
8172
8174
  css_name: "@mantine/core/styles/Checkbox.css",
8173
8175
  dependency: [
8174
8176
  "InlineInput",
8177
+ "Input",
8175
8178
  "UnstyledButton",
8176
- "Input"
8179
+ "CheckboxIndicator",
8180
+ "CheckboxCard"
8177
8181
  ]
8178
8182
  },
8179
8183
  {
@@ -8211,11 +8215,11 @@ var componentData = [
8211
8215
  module: "@mantine/core",
8212
8216
  css_name: "@mantine/core/styles/ColorInput.css",
8213
8217
  dependency: [
8214
- "ColorPicker",
8215
8218
  "ColorSwatch",
8219
+ "ColorPicker",
8216
8220
  "ActionIcon",
8217
- "Input",
8218
8221
  "InputBase",
8222
+ "Input",
8219
8223
  "Popover"
8220
8224
  ]
8221
8225
  },
@@ -8224,8 +8228,8 @@ var componentData = [
8224
8228
  module: "@mantine/core",
8225
8229
  css_name: "@mantine/core/styles/ColorPicker.css",
8226
8230
  dependency: [
8227
- "ColorSwatch",
8228
- "Checkbox"
8231
+ "Checkbox",
8232
+ "ColorSwatch"
8229
8233
  ]
8230
8234
  },
8231
8235
  {
@@ -8240,8 +8244,8 @@ var componentData = [
8240
8244
  module: "@mantine/core",
8241
8245
  css_name: "@mantine/core/styles/Combobox.css",
8242
8246
  dependency: [
8243
- "Popover",
8244
8247
  "Checkbox",
8248
+ "Popover",
8245
8249
  "Input"
8246
8250
  ]
8247
8251
  },
@@ -8265,8 +8269,8 @@ var componentData = [
8265
8269
  css_name: "@mantine/core/styles/Dialog.css",
8266
8270
  dependency: [
8267
8271
  "CloseButton",
8268
- "Paper",
8269
8272
  "Affix",
8273
+ "Paper",
8270
8274
  "Transition"
8271
8275
  ]
8272
8276
  },
@@ -8350,8 +8354,8 @@ var componentData = [
8350
8354
  module: "@mantine/core",
8351
8355
  css_name: "",
8352
8356
  dependency: [
8353
- "Text",
8354
- "Mark"
8357
+ "Mark",
8358
+ "Text"
8355
8359
  ]
8356
8360
  },
8357
8361
  {
@@ -8397,9 +8401,9 @@ var componentData = [
8397
8401
  module: "@mantine/core",
8398
8402
  css_name: "",
8399
8403
  dependency: [
8400
- "Input",
8404
+ "InputBase",
8401
8405
  "Textarea",
8402
- "InputBase"
8406
+ "Input"
8403
8407
  ]
8404
8408
  },
8405
8409
  {
@@ -8428,9 +8432,9 @@ var componentData = [
8428
8432
  module: "@mantine/core",
8429
8433
  css_name: "@mantine/core/styles/LoadingOverlay.css",
8430
8434
  dependency: [
8431
- "Loader",
8435
+ "Transition",
8432
8436
  "Overlay",
8433
- "Transition"
8437
+ "Loader"
8434
8438
  ]
8435
8439
  },
8436
8440
  {
@@ -8445,10 +8449,10 @@ var componentData = [
8445
8449
  module: "@mantine/core",
8446
8450
  css_name: "@mantine/core/styles/Menu.css",
8447
8451
  dependency: [
8448
- "Popover",
8452
+ "Transition",
8449
8453
  "Accordion",
8450
- "UnstyledButton",
8451
- "Transition"
8454
+ "Popover",
8455
+ "UnstyledButton"
8452
8456
  ]
8453
8457
  },
8454
8458
  {
@@ -8464,8 +8468,8 @@ var componentData = [
8464
8468
  module: "@mantine/core",
8465
8469
  css_name: "@mantine/core/styles/ModalBase.css",
8466
8470
  dependency: [
8467
- "Portal",
8468
- "Transition"
8471
+ "Transition",
8472
+ "Portal"
8469
8473
  ]
8470
8474
  },
8471
8475
  {
@@ -8474,11 +8478,11 @@ var componentData = [
8474
8478
  css_name: "",
8475
8479
  dependency: [
8476
8480
  "Pill",
8477
- "Input",
8478
8481
  "InputBase",
8479
- "ScrollArea",
8480
8482
  "PillsInput",
8481
- "Combobox"
8483
+ "Input",
8484
+ "Combobox",
8485
+ "ScrollArea"
8482
8486
  ]
8483
8487
  },
8484
8488
  {
@@ -8486,9 +8490,9 @@ var componentData = [
8486
8490
  module: "@mantine/core",
8487
8491
  css_name: "",
8488
8492
  dependency: [
8489
- "Input",
8490
8493
  "Combobox",
8491
- "InputBase"
8494
+ "InputBase",
8495
+ "Input"
8492
8496
  ]
8493
8497
  },
8494
8498
  {
@@ -8496,9 +8500,9 @@ var componentData = [
8496
8500
  module: "@mantine/core",
8497
8501
  css_name: "@mantine/core/styles/NavLink.css",
8498
8502
  dependency: [
8499
- "UnstyledButton",
8503
+ "Collapse",
8500
8504
  "Accordion",
8501
- "Collapse"
8505
+ "UnstyledButton"
8502
8506
  ]
8503
8507
  },
8504
8508
  {
@@ -8522,9 +8526,9 @@ var componentData = [
8522
8526
  module: "@mantine/core",
8523
8527
  css_name: "@mantine/core/styles/NumberInput.css",
8524
8528
  dependency: [
8529
+ "InputBase",
8525
8530
  "UnstyledButton",
8526
- "Input",
8527
- "InputBase"
8531
+ "Input"
8528
8532
  ]
8529
8533
  },
8530
8534
  {
@@ -8554,9 +8558,9 @@ var componentData = [
8554
8558
  module: "@mantine/core",
8555
8559
  css_name: "@mantine/core/styles/PasswordInput.css",
8556
8560
  dependency: [
8557
- "Input",
8561
+ "InputBase",
8558
8562
  "ActionIcon",
8559
- "InputBase"
8563
+ "Input"
8560
8564
  ]
8561
8565
  },
8562
8566
  {
@@ -8572,8 +8576,8 @@ var componentData = [
8572
8576
  module: "@mantine/core",
8573
8577
  css_name: "@mantine/core/styles/PillsInput.css",
8574
8578
  dependency: [
8575
- "Input",
8576
- "InputBase"
8579
+ "InputBase",
8580
+ "Input"
8577
8581
  ]
8578
8582
  },
8579
8583
  {
@@ -8581,9 +8585,9 @@ var componentData = [
8581
8585
  module: "@mantine/core",
8582
8586
  css_name: "@mantine/core/styles/PinInput.css",
8583
8587
  dependency: [
8584
- "Input",
8588
+ "InputBase",
8585
8589
  "Group",
8586
- "InputBase"
8590
+ "Input"
8587
8591
  ]
8588
8592
  },
8589
8593
  {
@@ -8591,10 +8595,10 @@ var componentData = [
8591
8595
  module: "@mantine/core",
8592
8596
  css_name: "@mantine/core/styles/Popover.css",
8593
8597
  dependency: [
8594
- "Portal",
8595
- "Overlay",
8596
8598
  "FocusTrap",
8597
- "Transition"
8599
+ "Transition",
8600
+ "Overlay",
8601
+ "Portal"
8598
8602
  ]
8599
8603
  },
8600
8604
  {
@@ -8617,8 +8621,10 @@ var componentData = [
8617
8621
  css_name: "@mantine/core/styles/Radio.css",
8618
8622
  dependency: [
8619
8623
  "InlineInput",
8624
+ "Input",
8620
8625
  "UnstyledButton",
8621
- "Input"
8626
+ "RadioIndicator",
8627
+ "RadioCard"
8622
8628
  ]
8623
8629
  },
8624
8630
  {
@@ -8656,10 +8662,10 @@ var componentData = [
8656
8662
  module: "@mantine/core",
8657
8663
  css_name: "",
8658
8664
  dependency: [
8659
- "ScrollArea",
8660
- "Input",
8661
8665
  "Combobox",
8662
- "InputBase"
8666
+ "InputBase",
8667
+ "ScrollArea",
8668
+ "Input"
8663
8669
  ]
8664
8670
  },
8665
8671
  {
@@ -8718,10 +8724,10 @@ var componentData = [
8718
8724
  module: "@mantine/core",
8719
8725
  css_name: "@mantine/core/styles/Stepper.css",
8720
8726
  dependency: [
8721
- "Loader",
8722
- "UnstyledButton",
8723
8727
  "Checkbox",
8724
- "Transition"
8728
+ "Transition",
8729
+ "UnstyledButton",
8730
+ "Loader"
8725
8731
  ]
8726
8732
  },
8727
8733
  {
@@ -8762,11 +8768,11 @@ var componentData = [
8762
8768
  css_name: "",
8763
8769
  dependency: [
8764
8770
  "Pill",
8765
- "Input",
8766
8771
  "InputBase",
8767
- "ScrollArea",
8768
8772
  "PillsInput",
8769
- "Combobox"
8773
+ "Input",
8774
+ "Combobox",
8775
+ "ScrollArea"
8770
8776
  ]
8771
8777
  },
8772
8778
  {
@@ -8781,8 +8787,8 @@ var componentData = [
8781
8787
  module: "@mantine/core",
8782
8788
  css_name: "",
8783
8789
  dependency: [
8784
- "Input",
8785
- "InputBase"
8790
+ "InputBase",
8791
+ "Input"
8786
8792
  ]
8787
8793
  },
8788
8794
  {
@@ -8790,8 +8796,8 @@ var componentData = [
8790
8796
  module: "@mantine/core",
8791
8797
  css_name: "",
8792
8798
  dependency: [
8793
- "Input",
8794
- "InputBase"
8799
+ "InputBase",
8800
+ "Input"
8795
8801
  ]
8796
8802
  },
8797
8803
  {
@@ -8820,8 +8826,8 @@ var componentData = [
8820
8826
  module: "@mantine/core",
8821
8827
  css_name: "@mantine/core/styles/Tooltip.css",
8822
8828
  dependency: [
8823
- "Portal",
8824
- "Transition"
8829
+ "Transition",
8830
+ "Portal"
8825
8831
  ]
8826
8832
  },
8827
8833
  {
@@ -9071,8 +9077,8 @@ var componentData = [
9071
9077
  css_name: "@mantine/dates/styles.css",
9072
9078
  dependency: [
9073
9079
  "Popover",
9074
- "Input",
9075
- "Modal"
9080
+ "Modal",
9081
+ "Input"
9076
9082
  ]
9077
9083
  },
9078
9084
  {
@@ -9106,8 +9112,8 @@ var componentData = [
9106
9112
  "CloseButton",
9107
9113
  "InputBase",
9108
9114
  "ScrollArea",
9109
- "Popover",
9110
- "SimpleGrid"
9115
+ "SimpleGrid",
9116
+ "Popover"
9111
9117
  ]
9112
9118
  },
9113
9119
  {
@@ -9260,8 +9266,8 @@ var componentData = [
9260
9266
  css_name: "@mantine/charts/styles.css",
9261
9267
  dependency: [
9262
9268
  "ColorSwatch",
9263
- "Paper",
9264
- "Group"
9269
+ "Group",
9270
+ "Paper"
9265
9271
  ]
9266
9272
  },
9267
9273
  {
@@ -9283,8 +9289,8 @@ var componentData = [
9283
9289
  module: "@mantine/code-highlight",
9284
9290
  css_name: "@mantine/code-highlight/styles.css",
9285
9291
  dependency: [
9286
- "UnstyledButton",
9287
- "ScrollArea"
9292
+ "ScrollArea",
9293
+ "UnstyledButton"
9288
9294
  ]
9289
9295
  },
9290
9296
  {
@@ -9300,11 +9306,11 @@ var componentData = [
9300
9306
  module: "@mantine/spotlight",
9301
9307
  css_name: "@mantine/spotlight/styles.css",
9302
9308
  dependency: [
9303
- "UnstyledButton",
9304
- "Highlight",
9305
- "Input",
9306
9309
  "Modal",
9307
- "ScrollArea"
9310
+ "Input",
9311
+ "Highlight",
9312
+ "ScrollArea",
9313
+ "UnstyledButton"
9308
9314
  ]
9309
9315
  },
9310
9316
  {
@@ -10115,75 +10121,75 @@ var hierarchy = [
10115
10121
  "Affix",
10116
10122
  "@mantine/nprogress",
10117
10123
  "TimeGrid",
10118
- "BubbleChart",
10119
10124
  "Highlight",
10125
+ "BubbleChart",
10120
10126
  "Anchor",
10121
10127
  "ModalBase",
10128
+ "Slider",
10122
10129
  "LoadingOverlay",
10123
10130
  "Tooltip",
10124
- "Slider",
10125
- "@mantine/tiptap",
10131
+ "Accordion",
10126
10132
  "Pagination",
10127
- "MiniCalendar",
10128
- "Button",
10133
+ "TableOfContents",
10129
10134
  "CalendarHeader",
10130
- "CloseButton",
10135
+ "ActionIcon",
10131
10136
  "Burger",
10132
- "TableOfContents",
10133
- "DatePicker",
10137
+ "Day",
10138
+ "Button",
10139
+ "Tabs",
10140
+ "CloseButton",
10134
10141
  "PickerControl",
10135
- "Accordion",
10136
- "@mantine/carousel",
10137
- "ActionIcon",
10138
10142
  "@mantine/code-highlight",
10139
- "Tabs",
10140
- "Day",
10143
+ "DatePicker",
10144
+ "@mantine/tiptap",
10145
+ "@mantine/carousel",
10146
+ "MiniCalendar",
10141
10147
  "FocusTrap",
10142
10148
  "Spoiler",
10143
- "Drawer",
10144
10149
  "Modal",
10150
+ "Drawer",
10145
10151
  "@mantine/dropzone",
10146
10152
  "RingProgress",
10147
10153
  "Heatmap",
10148
- "Pill",
10149
- "Dialog",
10150
- "Notification",
10151
- "Input",
10152
- "Alert",
10153
10154
  "NavLink",
10154
10155
  "DateTimePicker",
10156
+ "Notification",
10157
+ "Pill",
10158
+ "Alert",
10159
+ "Input",
10160
+ "Dialog",
10155
10161
  "Popover",
10156
10162
  "@mantine/modals",
10157
10163
  "@mantine/notifications",
10158
- "InputBase",
10159
10164
  "Radio",
10160
- "FileInput",
10165
+ "InputBase",
10166
+ "Switch",
10161
10167
  "@mantine/spotlight",
10162
10168
  "Checkbox",
10163
- "Switch",
10164
- "HoverCard",
10169
+ "FileInput",
10165
10170
  "DateInput",
10166
10171
  "PickerInputBase",
10167
10172
  "Menu",
10168
- "PinInput",
10169
- "TextInput",
10173
+ "HoverCard",
10170
10174
  "TimePicker",
10171
- "TimeInput",
10172
- "PillsInput",
10175
+ "TextInput",
10176
+ "PasswordInput",
10177
+ "PinInput",
10173
10178
  "Textarea",
10179
+ "PillsInput",
10174
10180
  "NumberInput",
10175
- "PasswordInput",
10181
+ "TimeInput",
10182
+ "Combobox",
10183
+ "Stepper",
10176
10184
  "ColorPicker",
10177
10185
  "Chip",
10178
- "Stepper",
10179
- "Combobox",
10180
10186
  "JsonInput",
10181
- "ColorInput",
10182
- "MultiSelect",
10187
+ "TagsInput",
10183
10188
  "NativeSelect",
10189
+ "MultiSelect",
10184
10190
  "Autocomplete",
10185
- "TagsInput",
10186
- "Select"
10191
+ "Select",
10192
+ "ColorInput"
10187
10193
  ];
10188
10194
 
10189
10195
  /**
@@ -10404,18 +10410,21 @@ const defaultExtensions = {
10404
10410
  ModalsManager: false,
10405
10411
  RichTextEditor: false,
10406
10412
  };
10407
- function parseGenerateConfig({ configPath, configData, }) {
10413
+ function parseConfig({ configPath, configData, }) {
10408
10414
  const mantineReduceCss = configData.mantineReduceCss;
10409
- if (!mantineReduceCss) {
10410
- throw new Error("Missing 'mantineReduceCss' configuration in package.json");
10415
+ if (!mantineReduceCss || typeof mantineReduceCss !== "object") {
10416
+ throw new Error("Missing or invalid 'mantineReduceCss' configuration in package.json");
10411
10417
  }
10412
- const { target, outputPath, globalCss = true, extensions = {}, extend, } = mantineReduceCss;
10418
+ const config = mantineReduceCss;
10413
10419
  let extendArr = [];
10414
- if (extend) {
10415
- if (!Array.isArray(extend)) {
10420
+ if (config.extend) {
10421
+ if (!Array.isArray(config.extend)) {
10416
10422
  throw new Error("'extend' must be an array in 'mantineReduceCss' configuration");
10417
10423
  }
10418
- extendArr = extend.map((ext) => {
10424
+ extendArr = config.extend.map((ext) => {
10425
+ if (!ext.data || typeof ext.data !== "string") {
10426
+ throw new Error("'extend.data' must be a string path");
10427
+ }
10419
10428
  const resolvedPath = path$1.resolve(path$1.dirname(configPath), ext.data);
10420
10429
  if (!fs$4.existsSync(resolvedPath) || !fs$4.statSync(resolvedPath).isFile()) {
10421
10430
  throw new Error(`'extend.data' must be a valid file path: ${resolvedPath}`);
@@ -10423,44 +10432,62 @@ function parseGenerateConfig({ configPath, configData, }) {
10423
10432
  return { ...ext, data: resolvedPath };
10424
10433
  });
10425
10434
  }
10426
- if (!target || !Array.isArray(target) || target.length === 0) {
10427
- throw new Error("'target' must be a non-empty array in 'mantineReduceCss' configuration");
10428
- }
10429
- if (!outputPath || typeof outputPath !== "string") {
10430
- throw new Error("'outputPath' must be a string in 'mantineReduceCss' configuration");
10431
- }
10435
+ const extensions = config.extensions || {};
10432
10436
  const mergedExtensions = {
10433
10437
  ...defaultExtensions,
10434
10438
  ...extensions,
10435
10439
  };
10436
- return {
10437
- target,
10438
- outputPath,
10439
- globalCss,
10440
- extensions: mergedExtensions,
10441
- extend: extendArr,
10442
- };
10443
- }
10444
- function ParseExportConfig({ configData, }) {
10445
- const mantineReduceCss = configData.mantineReduceCss;
10446
- if (!mantineReduceCss) {
10447
- throw new Error("Missing 'mantineReduceCss' configuration in package.json");
10448
- }
10449
- const { target, packageName, outputPath } = mantineReduceCss;
10450
- if (!target || !Array.isArray(target) || target.length === 0) {
10451
- throw new Error("'target' must be a non-empty array in 'mantineReduceCss' configuration");
10452
- }
10453
- if (!packageName || typeof packageName !== "string") {
10454
- throw new Error("'packageName' must be a string in 'mantineReduceCss' configuration");
10440
+ const globalCss = config.globalCss ?? true;
10441
+ if (config.genExtend) {
10442
+ if (!Array.isArray(config.genExtend)) {
10443
+ throw new Error("'genExtend' must be an array in 'mantineReduceCss' configuration");
10444
+ }
10445
+ const genExtendArr = config.genExtend.map((genExt) => {
10446
+ if (!genExt.target ||
10447
+ !Array.isArray(genExt.target) ||
10448
+ genExt.target.length === 0) {
10449
+ throw new Error("'genExtend.target' must be a non-empty array");
10450
+ }
10451
+ if (!genExt.packageName || typeof genExt.packageName !== "string") {
10452
+ throw new Error("'genExtend.packageName' must be a non-empty string");
10453
+ }
10454
+ if (!genExt.outputPath || typeof genExt.outputPath !== "string") {
10455
+ throw new Error("'genExtend.outputPath' must be a non-empty string");
10456
+ }
10457
+ return genExt;
10458
+ });
10459
+ // Optional validations for target/outputPath in this mode
10460
+ const target = Array.isArray(config.target)
10461
+ ? config.target
10462
+ : undefined;
10463
+ const outputPath = typeof config.outputPath === "string" ? config.outputPath : undefined;
10464
+ return {
10465
+ target,
10466
+ outputPath,
10467
+ globalCss,
10468
+ extensions: mergedExtensions,
10469
+ extend: extendArr,
10470
+ genExtend: genExtendArr,
10471
+ };
10455
10472
  }
10456
- if (!outputPath || typeof outputPath !== "string") {
10457
- throw new Error("'outputPath' must be a string in 'mantineReduceCss' configuration");
10473
+ else {
10474
+ if (!config.target ||
10475
+ !Array.isArray(config.target) ||
10476
+ config.target.length === 0) {
10477
+ throw new Error("'target' must be a non-empty array in 'mantineReduceCss' configuration");
10478
+ }
10479
+ if (!config.outputPath || typeof config.outputPath !== "string") {
10480
+ throw new Error("'outputPath' must be a string in 'mantineReduceCss' configuration");
10481
+ }
10482
+ return {
10483
+ target: config.target,
10484
+ outputPath: config.outputPath,
10485
+ globalCss,
10486
+ extensions: mergedExtensions,
10487
+ extend: extendArr,
10488
+ genExtend: [],
10489
+ };
10458
10490
  }
10459
- return {
10460
- packageName,
10461
- target,
10462
- outputPath,
10463
- };
10464
10491
  }
10465
10492
 
10466
10493
  const cli = cac("mantine-reduce-css");
@@ -10471,7 +10498,7 @@ cli.command("[options]", "Generate CSS file").action(async () => {
10471
10498
  const configPath = resolve(process.cwd(), cli.options.config);
10472
10499
  const configContents = await fs$4.promises.readFile(configPath, "utf-8");
10473
10500
  const configData = await JSON.parse(configContents);
10474
- const config = parseGenerateConfig({ configPath, configData });
10501
+ const config = parseConfig({ configPath, configData });
10475
10502
  await GenerateCmd({
10476
10503
  packageJsonPath: configPath,
10477
10504
  config: config,
@@ -10481,10 +10508,13 @@ cli.command("gen [options]", "Export component data").action(async () => {
10481
10508
  const configPath = resolve(process.cwd(), cli.options.config);
10482
10509
  const configContents = await fs$4.promises.readFile(configPath, "utf-8");
10483
10510
  const configData = await JSON.parse(configContents);
10484
- const config = ParseExportConfig({ configData });
10511
+ const config = parseConfig({ configPath, configData }).genExtend;
10512
+ if (!config) {
10513
+ throw new Error("No 'genExtend' configuration found for export command");
10514
+ }
10485
10515
  await ExportCmd({
10486
10516
  packageJsonPath: configPath,
10487
- config: config,
10517
+ configs: config,
10488
10518
  });
10489
10519
  });
10490
10520
  cli.help();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mantine-reduce-css",
3
3
  "type": "module",
4
- "version": "2.3.2",
4
+ "version": "2.3.4",
5
5
  "description": "cli tool for reducing global css for mantine",
6
6
  "main": "dist/index.js",
7
7
  "bin": {