mantine-reduce-css 2.3.2 → 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.
- package/README.md +84 -50
- package/dist/index.js +96 -70
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,45 +1,44 @@
|
|
|
1
1
|
# mantine-reduce-css
|
|
2
2
|
|
|
3
|
-
A CLI tool
|
|
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
|
-
|
|
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
|
-
```
|
|
26
|
+
```bash
|
|
21
27
|
mantine-reduce-css --config <path-to-config>
|
|
22
28
|
```
|
|
23
29
|
|
|
24
|
-
###
|
|
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
|
-
|
|
32
|
+
Add a mantineReduceCss section to your `package.json` or create a standalone JSON configuration file.
|
|
33
33
|
|
|
34
|
-
|
|
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
|
-
"
|
|
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
|
-
|
|
67
|
-
|
|
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
|
-
|
|
78
|
+
In your shared library project, configure genExtend to scan your library's components and output a JSON map.
|
|
75
79
|
|
|
76
|
-
|
|
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
|
-
"
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
102
|
+
### Method 2: Manual Mapping
|
|
91
103
|
|
|
92
|
-
|
|
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
|
-
```
|
|
95
|
-
|
|
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
|
-
|
|
119
|
+
### Consume Component Map
|
|
99
120
|
|
|
100
|
-
|
|
101
|
-
|
|
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.
|
|
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
|
|
7992
|
-
|
|
7993
|
-
|
|
7994
|
-
|
|
7995
|
-
const
|
|
7996
|
-
|
|
7997
|
-
|
|
7998
|
-
|
|
7999
|
-
|
|
8000
|
-
|
|
8001
|
-
|
|
8002
|
-
|
|
8003
|
-
|
|
8004
|
-
|
|
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
|
-
|
|
8009
|
-
|
|
8010
|
-
|
|
8011
|
-
|
|
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
|
|
|
@@ -10404,18 +10406,21 @@ const defaultExtensions = {
|
|
|
10404
10406
|
ModalsManager: false,
|
|
10405
10407
|
RichTextEditor: false,
|
|
10406
10408
|
};
|
|
10407
|
-
function
|
|
10409
|
+
function parseConfig({ configPath, configData, }) {
|
|
10408
10410
|
const mantineReduceCss = configData.mantineReduceCss;
|
|
10409
|
-
if (!mantineReduceCss) {
|
|
10410
|
-
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");
|
|
10411
10413
|
}
|
|
10412
|
-
const
|
|
10414
|
+
const config = mantineReduceCss;
|
|
10413
10415
|
let extendArr = [];
|
|
10414
|
-
if (extend) {
|
|
10415
|
-
if (!Array.isArray(extend)) {
|
|
10416
|
+
if (config.extend) {
|
|
10417
|
+
if (!Array.isArray(config.extend)) {
|
|
10416
10418
|
throw new Error("'extend' must be an array in 'mantineReduceCss' configuration");
|
|
10417
10419
|
}
|
|
10418
|
-
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
|
+
}
|
|
10419
10424
|
const resolvedPath = path$1.resolve(path$1.dirname(configPath), ext.data);
|
|
10420
10425
|
if (!fs$4.existsSync(resolvedPath) || !fs$4.statSync(resolvedPath).isFile()) {
|
|
10421
10426
|
throw new Error(`'extend.data' must be a valid file path: ${resolvedPath}`);
|
|
@@ -10423,44 +10428,62 @@ function parseGenerateConfig({ configPath, configData, }) {
|
|
|
10423
10428
|
return { ...ext, data: resolvedPath };
|
|
10424
10429
|
});
|
|
10425
10430
|
}
|
|
10426
|
-
|
|
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
|
-
}
|
|
10431
|
+
const extensions = config.extensions || {};
|
|
10432
10432
|
const mergedExtensions = {
|
|
10433
10433
|
...defaultExtensions,
|
|
10434
10434
|
...extensions,
|
|
10435
10435
|
};
|
|
10436
|
-
|
|
10437
|
-
|
|
10438
|
-
|
|
10439
|
-
|
|
10440
|
-
|
|
10441
|
-
|
|
10442
|
-
|
|
10443
|
-
|
|
10444
|
-
|
|
10445
|
-
|
|
10446
|
-
|
|
10447
|
-
|
|
10448
|
-
|
|
10449
|
-
|
|
10450
|
-
|
|
10451
|
-
|
|
10452
|
-
|
|
10453
|
-
|
|
10454
|
-
|
|
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
|
+
};
|
|
10455
10468
|
}
|
|
10456
|
-
|
|
10457
|
-
|
|
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
|
+
};
|
|
10458
10486
|
}
|
|
10459
|
-
return {
|
|
10460
|
-
packageName,
|
|
10461
|
-
target,
|
|
10462
|
-
outputPath,
|
|
10463
|
-
};
|
|
10464
10487
|
}
|
|
10465
10488
|
|
|
10466
10489
|
const cli = cac("mantine-reduce-css");
|
|
@@ -10471,7 +10494,7 @@ cli.command("[options]", "Generate CSS file").action(async () => {
|
|
|
10471
10494
|
const configPath = resolve(process.cwd(), cli.options.config);
|
|
10472
10495
|
const configContents = await fs$4.promises.readFile(configPath, "utf-8");
|
|
10473
10496
|
const configData = await JSON.parse(configContents);
|
|
10474
|
-
const config =
|
|
10497
|
+
const config = parseConfig({ configPath, configData });
|
|
10475
10498
|
await GenerateCmd({
|
|
10476
10499
|
packageJsonPath: configPath,
|
|
10477
10500
|
config: config,
|
|
@@ -10481,10 +10504,13 @@ cli.command("gen [options]", "Export component data").action(async () => {
|
|
|
10481
10504
|
const configPath = resolve(process.cwd(), cli.options.config);
|
|
10482
10505
|
const configContents = await fs$4.promises.readFile(configPath, "utf-8");
|
|
10483
10506
|
const configData = await JSON.parse(configContents);
|
|
10484
|
-
const config =
|
|
10507
|
+
const config = parseConfig({ configPath, configData }).genExtend;
|
|
10508
|
+
if (!config) {
|
|
10509
|
+
throw new Error("No 'genExtend' configuration found for export command");
|
|
10510
|
+
}
|
|
10485
10511
|
await ExportCmd({
|
|
10486
10512
|
packageJsonPath: configPath,
|
|
10487
|
-
|
|
10513
|
+
configs: config,
|
|
10488
10514
|
});
|
|
10489
10515
|
});
|
|
10490
10516
|
cli.help();
|