mantine-reduce-css 2.3.1 → 2.3.3

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 +274 -170
  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.1";
627
+ var version = "2.3.3";
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
 
@@ -8037,8 +8039,8 @@ var componentData = [
8037
8039
  module: "@mantine/core",
8038
8040
  css_name: "@mantine/core/styles/ActionIcon.css",
8039
8041
  dependency: [
8040
- "UnstyledButton",
8041
8042
  "Loader",
8043
+ "UnstyledButton",
8042
8044
  "Transition"
8043
8045
  ]
8044
8046
  },
@@ -8093,9 +8095,9 @@ var componentData = [
8093
8095
  css_name: "",
8094
8096
  dependency: [
8095
8097
  "ScrollArea",
8096
- "InputBase",
8098
+ "Input",
8097
8099
  "Combobox",
8098
- "Input"
8100
+ "InputBase"
8099
8101
  ]
8100
8102
  },
8101
8103
  {
@@ -8146,8 +8148,8 @@ var componentData = [
8146
8148
  module: "@mantine/core",
8147
8149
  css_name: "@mantine/core/styles/Button.css",
8148
8150
  dependency: [
8149
- "UnstyledButton",
8150
8151
  "Loader",
8152
+ "UnstyledButton",
8151
8153
  "Transition"
8152
8154
  ]
8153
8155
  },
@@ -8171,6 +8173,7 @@ var componentData = [
8171
8173
  module: "@mantine/core",
8172
8174
  css_name: "@mantine/core/styles/Checkbox.css",
8173
8175
  dependency: [
8176
+ "InlineInput",
8174
8177
  "UnstyledButton",
8175
8178
  "Input"
8176
8179
  ]
@@ -8210,12 +8213,12 @@ var componentData = [
8210
8213
  module: "@mantine/core",
8211
8214
  css_name: "@mantine/core/styles/ColorInput.css",
8212
8215
  dependency: [
8213
- "InputBase",
8214
- "Input",
8215
- "ColorSwatch",
8216
8216
  "ColorPicker",
8217
- "Popover",
8218
- "ActionIcon"
8217
+ "ColorSwatch",
8218
+ "ActionIcon",
8219
+ "Input",
8220
+ "InputBase",
8221
+ "Popover"
8219
8222
  ]
8220
8223
  },
8221
8224
  {
@@ -8239,9 +8242,9 @@ var componentData = [
8239
8242
  module: "@mantine/core",
8240
8243
  css_name: "@mantine/core/styles/Combobox.css",
8241
8244
  dependency: [
8245
+ "Popover",
8242
8246
  "Checkbox",
8243
- "Input",
8244
- "Popover"
8247
+ "Input"
8245
8248
  ]
8246
8249
  },
8247
8250
  {
@@ -8264,9 +8267,9 @@ var componentData = [
8264
8267
  css_name: "@mantine/core/styles/Dialog.css",
8265
8268
  dependency: [
8266
8269
  "CloseButton",
8267
- "Transition",
8270
+ "Paper",
8268
8271
  "Affix",
8269
- "Paper"
8272
+ "Transition"
8270
8273
  ]
8271
8274
  },
8272
8275
  {
@@ -8304,8 +8307,8 @@ var componentData = [
8304
8307
  css_name: "",
8305
8308
  dependency: [
8306
8309
  "CloseButton",
8307
- "Input",
8308
- "FileButton"
8310
+ "FileButton",
8311
+ "Input"
8309
8312
  ]
8310
8313
  },
8311
8314
  {
@@ -8349,8 +8352,8 @@ var componentData = [
8349
8352
  module: "@mantine/core",
8350
8353
  css_name: "",
8351
8354
  dependency: [
8352
- "Mark",
8353
- "Text"
8355
+ "Text",
8356
+ "Mark"
8354
8357
  ]
8355
8358
  },
8356
8359
  {
@@ -8396,9 +8399,9 @@ var componentData = [
8396
8399
  module: "@mantine/core",
8397
8400
  css_name: "",
8398
8401
  dependency: [
8402
+ "Input",
8399
8403
  "Textarea",
8400
- "InputBase",
8401
- "Input"
8404
+ "InputBase"
8402
8405
  ]
8403
8406
  },
8404
8407
  {
@@ -8428,8 +8431,8 @@ var componentData = [
8428
8431
  css_name: "@mantine/core/styles/LoadingOverlay.css",
8429
8432
  dependency: [
8430
8433
  "Loader",
8431
- "Transition",
8432
- "Overlay"
8434
+ "Overlay",
8435
+ "Transition"
8433
8436
  ]
8434
8437
  },
8435
8438
  {
@@ -8444,10 +8447,10 @@ var componentData = [
8444
8447
  module: "@mantine/core",
8445
8448
  css_name: "@mantine/core/styles/Menu.css",
8446
8449
  dependency: [
8447
- "UnstyledButton",
8450
+ "Popover",
8448
8451
  "Accordion",
8449
- "Transition",
8450
- "Popover"
8452
+ "UnstyledButton",
8453
+ "Transition"
8451
8454
  ]
8452
8455
  },
8453
8456
  {
@@ -8463,8 +8466,8 @@ var componentData = [
8463
8466
  module: "@mantine/core",
8464
8467
  css_name: "@mantine/core/styles/ModalBase.css",
8465
8468
  dependency: [
8466
- "Transition",
8467
- "Portal"
8469
+ "Portal",
8470
+ "Transition"
8468
8471
  ]
8469
8472
  },
8470
8473
  {
@@ -8472,12 +8475,12 @@ var componentData = [
8472
8475
  module: "@mantine/core",
8473
8476
  css_name: "",
8474
8477
  dependency: [
8475
- "InputBase",
8478
+ "Pill",
8476
8479
  "Input",
8480
+ "InputBase",
8477
8481
  "ScrollArea",
8478
8482
  "PillsInput",
8479
- "Combobox",
8480
- "Pill"
8483
+ "Combobox"
8481
8484
  ]
8482
8485
  },
8483
8486
  {
@@ -8485,9 +8488,9 @@ var componentData = [
8485
8488
  module: "@mantine/core",
8486
8489
  css_name: "",
8487
8490
  dependency: [
8488
- "InputBase",
8491
+ "Input",
8489
8492
  "Combobox",
8490
- "Input"
8493
+ "InputBase"
8491
8494
  ]
8492
8495
  },
8493
8496
  {
@@ -8505,8 +8508,8 @@ var componentData = [
8505
8508
  module: "@mantine/core",
8506
8509
  css_name: "@mantine/core/styles/Notification.css",
8507
8510
  dependency: [
8508
- "Loader",
8509
- "CloseButton"
8511
+ "CloseButton",
8512
+ "Loader"
8510
8513
  ]
8511
8514
  },
8512
8515
  {
@@ -8522,8 +8525,8 @@ var componentData = [
8522
8525
  css_name: "@mantine/core/styles/NumberInput.css",
8523
8526
  dependency: [
8524
8527
  "UnstyledButton",
8525
- "InputBase",
8526
- "Input"
8528
+ "Input",
8529
+ "InputBase"
8527
8530
  ]
8528
8531
  },
8529
8532
  {
@@ -8553,9 +8556,9 @@ var componentData = [
8553
8556
  module: "@mantine/core",
8554
8557
  css_name: "@mantine/core/styles/PasswordInput.css",
8555
8558
  dependency: [
8559
+ "Input",
8556
8560
  "ActionIcon",
8557
- "InputBase",
8558
- "Input"
8561
+ "InputBase"
8559
8562
  ]
8560
8563
  },
8561
8564
  {
@@ -8571,8 +8574,8 @@ var componentData = [
8571
8574
  module: "@mantine/core",
8572
8575
  css_name: "@mantine/core/styles/PillsInput.css",
8573
8576
  dependency: [
8574
- "InputBase",
8575
- "Input"
8577
+ "Input",
8578
+ "InputBase"
8576
8579
  ]
8577
8580
  },
8578
8581
  {
@@ -8580,9 +8583,9 @@ var componentData = [
8580
8583
  module: "@mantine/core",
8581
8584
  css_name: "@mantine/core/styles/PinInput.css",
8582
8585
  dependency: [
8586
+ "Input",
8583
8587
  "Group",
8584
- "InputBase",
8585
- "Input"
8588
+ "InputBase"
8586
8589
  ]
8587
8590
  },
8588
8591
  {
@@ -8590,9 +8593,9 @@ var componentData = [
8590
8593
  module: "@mantine/core",
8591
8594
  css_name: "@mantine/core/styles/Popover.css",
8592
8595
  dependency: [
8596
+ "Portal",
8593
8597
  "Overlay",
8594
8598
  "FocusTrap",
8595
- "Portal",
8596
8599
  "Transition"
8597
8600
  ]
8598
8601
  },
@@ -8615,6 +8618,7 @@ var componentData = [
8615
8618
  module: "@mantine/core",
8616
8619
  css_name: "@mantine/core/styles/Radio.css",
8617
8620
  dependency: [
8621
+ "InlineInput",
8618
8622
  "UnstyledButton",
8619
8623
  "Input"
8620
8624
  ]
@@ -8655,9 +8659,9 @@ var componentData = [
8655
8659
  css_name: "",
8656
8660
  dependency: [
8657
8661
  "ScrollArea",
8658
- "InputBase",
8662
+ "Input",
8659
8663
  "Combobox",
8660
- "Input"
8664
+ "InputBase"
8661
8665
  ]
8662
8666
  },
8663
8667
  {
@@ -8681,6 +8685,14 @@ var componentData = [
8681
8685
  dependency: [
8682
8686
  ]
8683
8687
  },
8688
+ {
8689
+ name: "Slider",
8690
+ module: "@mantine/core",
8691
+ css_name: "@mantine/core/styles/Slider.css",
8692
+ dependency: [
8693
+ "Transition"
8694
+ ]
8695
+ },
8684
8696
  {
8685
8697
  name: "Space",
8686
8698
  module: "@mantine/core",
@@ -8708,10 +8720,10 @@ var componentData = [
8708
8720
  module: "@mantine/core",
8709
8721
  css_name: "@mantine/core/styles/Stepper.css",
8710
8722
  dependency: [
8711
- "Checkbox",
8712
8723
  "Loader",
8713
- "Transition",
8714
- "UnstyledButton"
8724
+ "UnstyledButton",
8725
+ "Checkbox",
8726
+ "Transition"
8715
8727
  ]
8716
8728
  },
8717
8729
  {
@@ -8719,6 +8731,7 @@ var componentData = [
8719
8731
  module: "@mantine/core",
8720
8732
  css_name: "@mantine/core/styles/Switch.css",
8721
8733
  dependency: [
8734
+ "InlineInput",
8722
8735
  "Input"
8723
8736
  ]
8724
8737
  },
@@ -8750,12 +8763,12 @@ var componentData = [
8750
8763
  module: "@mantine/core",
8751
8764
  css_name: "",
8752
8765
  dependency: [
8753
- "InputBase",
8766
+ "Pill",
8754
8767
  "Input",
8768
+ "InputBase",
8755
8769
  "ScrollArea",
8756
8770
  "PillsInput",
8757
- "Combobox",
8758
- "Pill"
8771
+ "Combobox"
8759
8772
  ]
8760
8773
  },
8761
8774
  {
@@ -8770,8 +8783,8 @@ var componentData = [
8770
8783
  module: "@mantine/core",
8771
8784
  css_name: "",
8772
8785
  dependency: [
8773
- "InputBase",
8774
- "Input"
8786
+ "Input",
8787
+ "InputBase"
8775
8788
  ]
8776
8789
  },
8777
8790
  {
@@ -8779,8 +8792,8 @@ var componentData = [
8779
8792
  module: "@mantine/core",
8780
8793
  css_name: "",
8781
8794
  dependency: [
8782
- "InputBase",
8783
- "Input"
8795
+ "Input",
8796
+ "InputBase"
8784
8797
  ]
8785
8798
  },
8786
8799
  {
@@ -8809,8 +8822,8 @@ var componentData = [
8809
8822
  module: "@mantine/core",
8810
8823
  css_name: "@mantine/core/styles/Tooltip.css",
8811
8824
  dependency: [
8812
- "Transition",
8813
- "Portal"
8825
+ "Portal",
8826
+ "Transition"
8814
8827
  ]
8815
8828
  },
8816
8829
  {
@@ -8848,6 +8861,64 @@ var componentData = [
8848
8861
  dependency: [
8849
8862
  ]
8850
8863
  },
8864
+ {
8865
+ name: "RadioCard",
8866
+ module: "@mantine/core",
8867
+ css_name: "@mantine/core/styles/RadioCard.css",
8868
+ dependency: [
8869
+ ]
8870
+ },
8871
+ {
8872
+ name: "RadioGroup",
8873
+ module: "@mantine/core",
8874
+ css_name: "",
8875
+ dependency: [
8876
+ ]
8877
+ },
8878
+ {
8879
+ name: "RadioIndicator",
8880
+ module: "@mantine/core",
8881
+ css_name: "@mantine/core/styles/RadioIndicator.css",
8882
+ dependency: [
8883
+ "RadioIcon"
8884
+ ]
8885
+ },
8886
+ {
8887
+ name: "CheckboxCard",
8888
+ module: "@mantine/core",
8889
+ css_name: "@mantine/core/styles/CheckboxCard.css",
8890
+ dependency: [
8891
+ ]
8892
+ },
8893
+ {
8894
+ name: "CheckboxGroup",
8895
+ module: "@mantine/core",
8896
+ css_name: "",
8897
+ dependency: [
8898
+ ]
8899
+ },
8900
+ {
8901
+ name: "CheckboxIndicator",
8902
+ module: "@mantine/core",
8903
+ css_name: "@mantine/core/styles/CheckboxIndicator.css",
8904
+ dependency: [
8905
+ "CheckIcon"
8906
+ ]
8907
+ },
8908
+ {
8909
+ name: "InlineInput",
8910
+ module: "@mantine/core",
8911
+ css_name: "@mantine/core/styles/InlineInput.css",
8912
+ dependency: [
8913
+ ]
8914
+ },
8915
+ {
8916
+ name: "InputsGroupFieldset",
8917
+ module: "@mantine/core",
8918
+ css_name: "",
8919
+ dependency: [
8920
+ ]
8921
+ },
8851
8922
  {
8852
8923
  name: "Calendar",
8853
8924
  module: "@mantine/dates",
@@ -9002,8 +9073,8 @@ var componentData = [
9002
9073
  css_name: "@mantine/dates/styles.css",
9003
9074
  dependency: [
9004
9075
  "Popover",
9005
- "Modal",
9006
- "Input"
9076
+ "Input",
9077
+ "Modal"
9007
9078
  ]
9008
9079
  },
9009
9080
  {
@@ -9036,9 +9107,9 @@ var componentData = [
9036
9107
  dependency: [
9037
9108
  "CloseButton",
9038
9109
  "InputBase",
9110
+ "ScrollArea",
9039
9111
  "Popover",
9040
- "SimpleGrid",
9041
- "ScrollArea"
9112
+ "SimpleGrid"
9042
9113
  ]
9043
9114
  },
9044
9115
  {
@@ -9109,8 +9180,8 @@ var componentData = [
9109
9180
  module: "@mantine/charts",
9110
9181
  css_name: "@mantine/charts/styles.css",
9111
9182
  dependency: [
9112
- "Group",
9113
- "Text"
9183
+ "Text",
9184
+ "Group"
9114
9185
  ]
9115
9186
  },
9116
9187
  {
@@ -9191,8 +9262,8 @@ var componentData = [
9191
9262
  css_name: "@mantine/charts/styles.css",
9192
9263
  dependency: [
9193
9264
  "ColorSwatch",
9194
- "Group",
9195
- "Paper"
9265
+ "Paper",
9266
+ "Group"
9196
9267
  ]
9197
9268
  },
9198
9269
  {
@@ -9231,9 +9302,9 @@ var componentData = [
9231
9302
  module: "@mantine/spotlight",
9232
9303
  css_name: "@mantine/spotlight/styles.css",
9233
9304
  dependency: [
9305
+ "UnstyledButton",
9234
9306
  "Highlight",
9235
9307
  "Input",
9236
- "UnstyledButton",
9237
9308
  "Modal",
9238
9309
  "ScrollArea"
9239
9310
  ]
@@ -9267,9 +9338,9 @@ var componentData = [
9267
9338
  module: "@mantine/modals",
9268
9339
  css_name: "",
9269
9340
  dependency: [
9270
- "Group",
9271
9341
  "Button",
9272
- "Modal"
9342
+ "Modal",
9343
+ "Group"
9273
9344
  ]
9274
9345
  },
9275
9346
  {
@@ -9998,6 +10069,14 @@ var hierarchy = [
9998
10069
  "Typography",
9999
10070
  "UnstyledButton",
10000
10071
  "VisuallyHidden",
10072
+ "RadioCard",
10073
+ "RadioGroup",
10074
+ "RadioIndicator",
10075
+ "CheckboxCard",
10076
+ "CheckboxGroup",
10077
+ "CheckboxIndicator",
10078
+ "InlineInput",
10079
+ "InputsGroupFieldset",
10001
10080
  "Calendar",
10002
10081
  "DatePickerInput",
10003
10082
  "DatesProvider",
@@ -10041,71 +10120,72 @@ var hierarchy = [
10041
10120
  "BubbleChart",
10042
10121
  "Highlight",
10043
10122
  "Anchor",
10123
+ "ModalBase",
10044
10124
  "LoadingOverlay",
10045
10125
  "Tooltip",
10046
- "ModalBase",
10047
- "Button",
10048
- "PickerControl",
10049
- "@mantine/carousel",
10050
- "CloseButton",
10126
+ "Slider",
10051
10127
  "@mantine/tiptap",
10052
- "Day",
10053
- "TableOfContents",
10054
- "MiniCalendar",
10055
- "Burger",
10056
10128
  "Pagination",
10057
- "Tabs",
10058
- "@mantine/code-highlight",
10129
+ "MiniCalendar",
10130
+ "Button",
10059
10131
  "CalendarHeader",
10060
- "Accordion",
10132
+ "CloseButton",
10133
+ "Burger",
10134
+ "TableOfContents",
10061
10135
  "DatePicker",
10136
+ "PickerControl",
10137
+ "Accordion",
10138
+ "@mantine/carousel",
10062
10139
  "ActionIcon",
10140
+ "@mantine/code-highlight",
10141
+ "Tabs",
10142
+ "Day",
10063
10143
  "FocusTrap",
10064
10144
  "Spoiler",
10145
+ "Drawer",
10146
+ "Modal",
10065
10147
  "@mantine/dropzone",
10066
10148
  "RingProgress",
10067
10149
  "Heatmap",
10068
- "Modal",
10069
- "Drawer",
10070
- "Input",
10071
- "Notification",
10150
+ "Pill",
10072
10151
  "Dialog",
10152
+ "Notification",
10153
+ "Input",
10073
10154
  "Alert",
10074
- "Pill",
10075
10155
  "NavLink",
10076
10156
  "DateTimePicker",
10077
10157
  "Popover",
10078
10158
  "@mantine/modals",
10079
- "@mantine/spotlight",
10159
+ "@mantine/notifications",
10160
+ "InputBase",
10161
+ "Radio",
10080
10162
  "FileInput",
10163
+ "@mantine/spotlight",
10081
10164
  "Checkbox",
10082
- "InputBase",
10083
10165
  "Switch",
10084
- "Radio",
10085
- "@mantine/notifications",
10086
10166
  "HoverCard",
10087
- "PickerInputBase",
10088
10167
  "DateInput",
10168
+ "PickerInputBase",
10089
10169
  "Menu",
10090
- "Chip",
10091
- "ColorPicker",
10092
- "Stepper",
10093
- "Combobox",
10094
- "PasswordInput",
10095
- "PillsInput",
10096
- "Textarea",
10097
10170
  "PinInput",
10098
10171
  "TextInput",
10099
- "TimeInput",
10100
10172
  "TimePicker",
10173
+ "TimeInput",
10174
+ "PillsInput",
10175
+ "Textarea",
10101
10176
  "NumberInput",
10177
+ "PasswordInput",
10178
+ "ColorPicker",
10179
+ "Chip",
10180
+ "Stepper",
10181
+ "Combobox",
10182
+ "JsonInput",
10102
10183
  "ColorInput",
10184
+ "MultiSelect",
10103
10185
  "NativeSelect",
10104
- "Select",
10105
10186
  "Autocomplete",
10106
10187
  "TagsInput",
10107
- "MultiSelect",
10108
- "JsonInput"
10188
+ "Select"
10109
10189
  ];
10110
10190
 
10111
10191
  /**
@@ -10326,18 +10406,21 @@ const defaultExtensions = {
10326
10406
  ModalsManager: false,
10327
10407
  RichTextEditor: false,
10328
10408
  };
10329
- function parseGenerateConfig({ configPath, configData, }) {
10409
+ function parseConfig({ configPath, configData, }) {
10330
10410
  const mantineReduceCss = configData.mantineReduceCss;
10331
- if (!mantineReduceCss) {
10332
- throw new Error("Missing 'mantineReduceCss' configuration in package.json");
10411
+ if (!mantineReduceCss || typeof mantineReduceCss !== "object") {
10412
+ throw new Error("Missing or invalid 'mantineReduceCss' configuration in package.json");
10333
10413
  }
10334
- const { target, outputPath, globalCss = true, extensions = {}, extend, } = mantineReduceCss;
10414
+ const config = mantineReduceCss;
10335
10415
  let extendArr = [];
10336
- if (extend) {
10337
- if (!Array.isArray(extend)) {
10416
+ if (config.extend) {
10417
+ if (!Array.isArray(config.extend)) {
10338
10418
  throw new Error("'extend' must be an array in 'mantineReduceCss' configuration");
10339
10419
  }
10340
- extendArr = extend.map((ext) => {
10420
+ extendArr = config.extend.map((ext) => {
10421
+ if (!ext.data || typeof ext.data !== "string") {
10422
+ throw new Error("'extend.data' must be a string path");
10423
+ }
10341
10424
  const resolvedPath = path$1.resolve(path$1.dirname(configPath), ext.data);
10342
10425
  if (!fs$4.existsSync(resolvedPath) || !fs$4.statSync(resolvedPath).isFile()) {
10343
10426
  throw new Error(`'extend.data' must be a valid file path: ${resolvedPath}`);
@@ -10345,44 +10428,62 @@ function parseGenerateConfig({ configPath, configData, }) {
10345
10428
  return { ...ext, data: resolvedPath };
10346
10429
  });
10347
10430
  }
10348
- if (!target || !Array.isArray(target) || target.length === 0) {
10349
- throw new Error("'target' must be a non-empty array in 'mantineReduceCss' configuration");
10350
- }
10351
- if (!outputPath || typeof outputPath !== "string") {
10352
- throw new Error("'outputPath' must be a string in 'mantineReduceCss' configuration");
10353
- }
10431
+ const extensions = config.extensions || {};
10354
10432
  const mergedExtensions = {
10355
10433
  ...defaultExtensions,
10356
10434
  ...extensions,
10357
10435
  };
10358
- return {
10359
- target,
10360
- outputPath,
10361
- globalCss,
10362
- extensions: mergedExtensions,
10363
- extend: extendArr,
10364
- };
10365
- }
10366
- function ParseExportConfig({ configData, }) {
10367
- const mantineReduceCss = configData.mantineReduceCss;
10368
- if (!mantineReduceCss) {
10369
- throw new Error("Missing 'mantineReduceCss' configuration in package.json");
10370
- }
10371
- const { target, packageName, outputPath } = mantineReduceCss;
10372
- if (!target || !Array.isArray(target) || target.length === 0) {
10373
- throw new Error("'target' must be a non-empty array in 'mantineReduceCss' configuration");
10374
- }
10375
- if (!packageName || typeof packageName !== "string") {
10376
- throw new Error("'packageName' must be a string in 'mantineReduceCss' configuration");
10436
+ const globalCss = config.globalCss ?? true;
10437
+ if (config.genExtend) {
10438
+ if (!Array.isArray(config.genExtend)) {
10439
+ throw new Error("'genExtend' must be an array in 'mantineReduceCss' configuration");
10440
+ }
10441
+ const genExtendArr = config.genExtend.map((genExt) => {
10442
+ if (!genExt.target ||
10443
+ !Array.isArray(genExt.target) ||
10444
+ genExt.target.length === 0) {
10445
+ throw new Error("'genExtend.target' must be a non-empty array");
10446
+ }
10447
+ if (!genExt.packageName || typeof genExt.packageName !== "string") {
10448
+ throw new Error("'genExtend.packageName' must be a non-empty string");
10449
+ }
10450
+ if (!genExt.outputPath || typeof genExt.outputPath !== "string") {
10451
+ throw new Error("'genExtend.outputPath' must be a non-empty string");
10452
+ }
10453
+ return genExt;
10454
+ });
10455
+ // Optional validations for target/outputPath in this mode
10456
+ const target = Array.isArray(config.target)
10457
+ ? config.target
10458
+ : undefined;
10459
+ const outputPath = typeof config.outputPath === "string" ? config.outputPath : undefined;
10460
+ return {
10461
+ target,
10462
+ outputPath,
10463
+ globalCss,
10464
+ extensions: mergedExtensions,
10465
+ extend: extendArr,
10466
+ genExtend: genExtendArr,
10467
+ };
10377
10468
  }
10378
- if (!outputPath || typeof outputPath !== "string") {
10379
- throw new Error("'outputPath' must be a string in 'mantineReduceCss' configuration");
10469
+ else {
10470
+ if (!config.target ||
10471
+ !Array.isArray(config.target) ||
10472
+ config.target.length === 0) {
10473
+ throw new Error("'target' must be a non-empty array in 'mantineReduceCss' configuration");
10474
+ }
10475
+ if (!config.outputPath || typeof config.outputPath !== "string") {
10476
+ throw new Error("'outputPath' must be a string in 'mantineReduceCss' configuration");
10477
+ }
10478
+ return {
10479
+ target: config.target,
10480
+ outputPath: config.outputPath,
10481
+ globalCss,
10482
+ extensions: mergedExtensions,
10483
+ extend: extendArr,
10484
+ genExtend: [],
10485
+ };
10380
10486
  }
10381
- return {
10382
- packageName,
10383
- target,
10384
- outputPath,
10385
- };
10386
10487
  }
10387
10488
 
10388
10489
  const cli = cac("mantine-reduce-css");
@@ -10393,7 +10494,7 @@ cli.command("[options]", "Generate CSS file").action(async () => {
10393
10494
  const configPath = resolve(process.cwd(), cli.options.config);
10394
10495
  const configContents = await fs$4.promises.readFile(configPath, "utf-8");
10395
10496
  const configData = await JSON.parse(configContents);
10396
- const config = parseGenerateConfig({ configPath, configData });
10497
+ const config = parseConfig({ configPath, configData });
10397
10498
  await GenerateCmd({
10398
10499
  packageJsonPath: configPath,
10399
10500
  config: config,
@@ -10403,10 +10504,13 @@ cli.command("gen [options]", "Export component data").action(async () => {
10403
10504
  const configPath = resolve(process.cwd(), cli.options.config);
10404
10505
  const configContents = await fs$4.promises.readFile(configPath, "utf-8");
10405
10506
  const configData = await JSON.parse(configContents);
10406
- const config = ParseExportConfig({ configData });
10507
+ const config = parseConfig({ configPath, configData }).genExtend;
10508
+ if (!config) {
10509
+ throw new Error("No 'genExtend' configuration found for export command");
10510
+ }
10407
10511
  await ExportCmd({
10408
10512
  packageJsonPath: configPath,
10409
- config: config,
10513
+ configs: config,
10410
10514
  });
10411
10515
  });
10412
10516
  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.1",
4
+ "version": "2.3.3",
5
5
  "description": "cli tool for reducing global css for mantine",
6
6
  "main": "dist/index.js",
7
7
  "bin": {