@plumeria/eslint-plugin 19.10.3 → 19.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -234,9 +234,9 @@ The bundler plugins turn the matching rule on in the build lint as well:
234
234
  `withoutPhysicalProperties` runs `no-physical-properties`, and
235
235
  `withoutLogicalProperties` runs `no-logical-properties`, `{ sizes }` included.
236
236
 
237
- ## CLI (plumerialint)
237
+ ## CLI (plumeria-lint)
238
238
 
239
- This package provides a CLI command, `plumerialint`, as a convenient way
239
+ This package provides a CLI command, `plumeria-lint`, as a convenient way
240
240
  to run Plumeria's custom ESLint rules.
241
241
 
242
242
  It runs `oxlint`, which this package depends on, for fast linting with code
@@ -253,7 +253,7 @@ pnpm add -D @plumeria/eslint-plugin
253
253
  ### Usage
254
254
 
255
255
  ```bash
256
- plumerialint
256
+ plumeria-lint
257
257
  ```
258
258
 
259
259
  The process exits with a non-zero status code if any errors or warnings are found,
@@ -262,25 +262,25 @@ making it suitable for use in CI and build pipelines.
262
262
  ### Styling prop
263
263
 
264
264
  If the styling prop is renamed, pass the name with `--style-prop`. Without the
265
- flag, `plumerialint` asks ESLint for `settings.plumeria.styleProp` when ESLint
265
+ flag, `plumeria-lint` asks ESLint for `settings.plumeria.styleProp` when ESLint
266
266
  and a flat config are installed, and uses `classStyle` otherwise:
267
267
 
268
268
  ```bash
269
- plumerialint --style-prop sx
269
+ plumeria-lint --style-prop sx
270
270
  ```
271
271
 
272
272
  ### Aborting Builds on Lint Errors (Parallel Pipeline)
273
273
 
274
- You can run `plumerialint` in parallel with your build command (e.g. `next build` or `vite build`) using the `--` separator:
274
+ You can run `plumeria-lint` in parallel with your build command (e.g. `next build` or `vite build`) using the `--` separator:
275
275
 
276
276
  ```json
277
277
  {
278
278
  "scripts": {
279
- "build": "plumerialint -- next build"
279
+ "build": "plumeria-lint -- next build"
280
280
  }
281
281
  }
282
282
  ```
283
283
 
284
- If `plumerialint` detects any styling errors or warnings, it will print the diagnostics, kill the build process immediately, and exit with a non-zero code. This avoids compiling when styling validation fails.
284
+ If `plumeria-lint` detects any styling errors or warnings, it will print the diagnostics, kill the build process immediately, and exit with a non-zero code. This avoids compiling when styling validation fails.
285
285
 
286
286
  With `@plumeria/next-plugin` and `@plumeria/unplugin` (except on esbuild and Bun), this lint is integrated into the build by default, so it needs no setup. Pass `lint: false` to the plugin to build without it.
package/bin/oxlint.js CHANGED
@@ -60,7 +60,7 @@ function handleOxlintError(err) {
60
60
  }
61
61
 
62
62
  function fail(err) {
63
- console.error(`✖ [plumerialint] ${err.message}`);
63
+ console.error(`✖ [plumeria-lint] ${err.message}`);
64
64
  process.exit(1);
65
65
  }
66
66
 
@@ -95,13 +95,13 @@ if (!buildCommand) {
95
95
  aborted = true;
96
96
 
97
97
  if (failedSource === 'lint') {
98
- console.error(`\n✖ [plumerialint] Linting failed. Aborting build...`);
98
+ console.error(`\n✖ [plumeria-lint] Linting failed. Aborting build...`);
99
99
  try {
100
100
  buildChild.kill();
101
101
  } catch (e) {}
102
102
  process.exit(exitCode || 1);
103
103
  } else if (failedSource === 'build') {
104
- console.error(`\n✖ [plumerialint] Build failed. Aborting lint...`);
104
+ console.error(`\n✖ [plumeria-lint] Build failed. Aborting lint...`);
105
105
  try {
106
106
  if (oxlintChild) oxlintChild.kill();
107
107
  } catch (e) {}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ console.error(
4
+ '✖ [plumerialint] plumerialint has been renamed to plumeria-lint. Run plumeria-lint instead.',
5
+ );
6
+ process.exitCode = 1;
package/dist/guard.js CHANGED
@@ -96,7 +96,13 @@ function startLintGuard(overrides = {}) {
96
96
  '--deny-warnings',
97
97
  '--no-error-on-unmatched-pattern',
98
98
  '--threads=2',
99
- ], { stdio: 'inherit' });
99
+ ], {
100
+ stdio: 'inherit',
101
+ env: {
102
+ NODE_COMPILE_CACHE: path.join(process.cwd(), 'node_modules', '.cache', 'plumeria-lint'),
103
+ ...process.env,
104
+ },
105
+ });
100
106
  lowerPriority(child.pid);
101
107
  const exit = process.exit.bind(process);
102
108
  let lintCode = null;
@@ -4,7 +4,74 @@ exports.noUnknownCssProperties = void 0;
4
4
  const known_css_properties_1 = require("known-css-properties");
5
5
  const zss_engine_1 = require("zss-engine");
6
6
  const styleObject_1 = require("../util/styleObject");
7
- const knownProperties = new Set(known_css_properties_1.all);
7
+ const knownProperties = new Set([
8
+ ...known_css_properties_1.all,
9
+ 'border-shape',
10
+ 'corner-shape',
11
+ 'corner-top-shape',
12
+ 'corner-right-shape',
13
+ 'corner-bottom-shape',
14
+ 'corner-left-shape',
15
+ 'corner-top-left-shape',
16
+ 'corner-top-right-shape',
17
+ 'corner-bottom-left-shape',
18
+ 'corner-bottom-right-shape',
19
+ 'corner-block-start-shape',
20
+ 'corner-block-end-shape',
21
+ 'corner-inline-start-shape',
22
+ 'corner-inline-end-shape',
23
+ 'corner-start-start-shape',
24
+ 'corner-start-end-shape',
25
+ 'corner-end-start-shape',
26
+ 'corner-end-end-shape',
27
+ 'flex-line-count',
28
+ 'flow-tolerance',
29
+ 'interest-delay',
30
+ 'interest-delay-start',
31
+ 'interest-delay-end',
32
+ 'rule-inset',
33
+ 'rule-inset-start',
34
+ 'rule-inset-end',
35
+ 'rule-inset-cap',
36
+ 'rule-inset-junction',
37
+ 'rule-overlap',
38
+ 'rule-visibility-items',
39
+ 'column-rule-inset',
40
+ 'column-rule-inset-start',
41
+ 'column-rule-inset-end',
42
+ 'column-rule-inset-cap',
43
+ 'column-rule-inset-cap-start',
44
+ 'column-rule-inset-cap-end',
45
+ 'column-rule-inset-junction',
46
+ 'column-rule-inset-junction-start',
47
+ 'column-rule-inset-junction-end',
48
+ 'column-rule-visibility-items',
49
+ 'row-rule-inset',
50
+ 'row-rule-inset-start',
51
+ 'row-rule-inset-end',
52
+ 'row-rule-inset-cap',
53
+ 'row-rule-inset-cap-start',
54
+ 'row-rule-inset-cap-end',
55
+ 'row-rule-inset-junction',
56
+ 'row-rule-inset-junction-start',
57
+ 'row-rule-inset-junction-end',
58
+ 'row-rule-visibility-items',
59
+ 'scroll-axis-lock',
60
+ 'text-decoration-inset',
61
+ 'text-fit',
62
+ 'timeline-trigger',
63
+ 'timeline-trigger-name',
64
+ 'timeline-trigger-source',
65
+ 'timeline-trigger-activation-range',
66
+ 'timeline-trigger-activation-range-start',
67
+ 'timeline-trigger-activation-range-end',
68
+ 'timeline-trigger-active-range',
69
+ 'timeline-trigger-active-range-start',
70
+ 'timeline-trigger-active-range-end',
71
+ 'trigger-scope',
72
+ 'view-transition-scope',
73
+ 'window-drag',
74
+ ]);
8
75
  exports.noUnknownCssProperties = {
9
76
  meta: {
10
77
  type: 'problem',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumeria/eslint-plugin",
3
- "version": "19.10.3",
3
+ "version": "19.11.0",
4
4
  "description": "Plumeria ESLint plugin",
5
5
  "author": "Refirst 11",
6
6
  "license": "MIT",
@@ -41,7 +41,8 @@
41
41
  "oxlint.json"
42
42
  ],
43
43
  "bin": {
44
- "plumerialint": "bin/oxlint.js"
44
+ "plumeria-lint": "bin/oxlint.js",
45
+ "plumerialint": "bin/plumerialint.js"
45
46
  },
46
47
  "devDependencies": {
47
48
  "@types/eslint": "^9.6.1",
@@ -59,7 +60,7 @@
59
60
  "known-css-properties": "^0.37.0",
60
61
  "oxlint": "1.87.0",
61
62
  "zss-engine": "2.9.1",
62
- "@plumeria/compiler": "19.10.3"
63
+ "@plumeria/compiler": "19.11.0"
63
64
  },
64
65
  "scripts": {
65
66
  "build": "rimraf dist && pnpm cjs",