@powerlines/plugin-eslint 0.8.3 → 0.8.5

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.
@@ -0,0 +1,8 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var chunkFBBMZ4NC_cjs=require('../chunk-FBBMZ4NC.cjs'),types$1=require('@storm-software/config-tools/types'),exists=require('@stryke/fs/exists'),getParentPath=require('@stryke/fs/get-parent-path'),packageFns=require('@stryke/fs/package-fns'),readFile=require('@stryke/fs/read-file'),semverFns=require('@stryke/fs/semver-fns'),writeFile=require('@stryke/fs/write-file'),find=require('@stryke/path/find'),isSetObject=require('@stryke/type-checks/is-set-object'),defu=require('defu'),formatMessage=require('./helpers/format-message'),helpers=require('./helpers'),types=require('./types');/*****************************************
2
+ *
3
+ * ⚡ Built by Storm Software
4
+ *
5
+ *****************************************/
6
+
7
+ function w(g={}){return {name:"eslint",async config(){this.log(types$1.LogLevelLabel.TRACE,"Providing default configuration for the Powerlines `eslint` build plugin.");const n=getParentPath.getParentPath(["eslint.config.js","eslint.config.mjs","eslint.config.cjs","eslint.config.ts","eslint.config.mts","eslint.config.cts",".eslintrc.js",".eslintrc.cjs",".eslintrc.yaml",".eslintrc.yml",".eslintrc.json",".eslintrc"],this.config.projectRoot,{ignoreCase:true,skipCwd:false,includeNameInResults:true});return {lint:{eslint:defu.defu(g,{configFile:n,reportErrorsOnly:false,maxWarnings:5,fix:true,outputFile:null,type:"recommended"})}}},async configResolved(){if(!isSetObject.isSetObject(this.packageJson.eslintConfig)&&(!this.config.lint.eslint.configFile||!exists.existsSync(this.config.lint.eslint.configFile)))throw new Error("No ESLint configuration file could be found");if(this.config.lint.eslint.configFile&&exists.existsSync(this.config.lint.eslint.configFile)){const e=await readFile.readFile(this.config.lint.eslint.configFile);if(e?.trim().replace(/\s/g,"")||e?.trim().replace(/\s/g,"")==="---"||e?.trim().replace(/\s/g,"")==="{}"||e?.trim().replace(/\s/g,"")==="module.exports={}")throw new Error(`The ESLint configuration file at "${this.config.lint.eslint.configFile}" is empty`)}if(!packageFns.isPackageExists("eslint",{paths:[this.workspaceConfig.workspaceRoot,this.config.projectRoot]}))throw new Error("ESLint must be installed to use the Powerlines ESLint plugin. Please run: npm install --save-dev eslint");const s=await this.resolver.import(this.resolver.esmResolve("eslint")),o=this.config.lint.eslint.configFile?find.findFileName(this.config.lint.eslint.configFile).startsWith("eslint.config."):true;let l;"loadESLint"in s&&(l=await s.loadESLint({useFlatConfig:o}));const i=semverFns.parseVersion(l?.version);if(!i||i.compare("8.57.0")<0)throw new Error(`Error - Your project has an older version of ESLint installed${i?` (${i.major}.${i.minor}.${i.patch})`:""}. Please upgrade to ESLint version 8.57.0 or above`);const t={useEslintrc:!o,baseConfig:{},errorOnUnmatchedPattern:false,extensions:[".js",".jsx",".ts",".tsx"],cache:true};if(i?.compare("9.0.0")&&o)for(const e of ["useEslintrc","extensions","ignorePath","reportUnusedDisableDirectives","resolvePluginsRelativeTo","rulePaths","inlineConfig","maxWarnings"])e in t&&delete t[e];this.eslint=new l(t);},async lint(){this.log(types$1.LogLevelLabel.TRACE,"Linting project files with ESLint.");let n=await this.eslint.lintFiles(this.tsconfig.fileNames.filter(t=>!t.includes(this.artifactsPath)&&!t.includes("node_modules")));const s=await this.resolver.import(this.resolver.esmResolve("eslint"));let o;"loadESLint"in s&&(o=await s.loadESLint({useFlatConfig:this.config.lint.eslint.configFile?find.findFileName(this.config.lint.eslint.configFile).startsWith("eslint.config."):true})),this.config.lint.eslint.fix&&await o.outputFixes(n),this.config.lint.eslint.reportErrorsOnly&&(n=o.getErrorResults(n));const i=n.filter(({messages:t})=>t?.length).map(({messages:t,filePath:e})=>formatMessage.formatMessage(this.config.projectRoot,t,e)).join(`
8
+ `);this.config.lint.eslint.outputFile?await writeFile.writeFile(this.config.lint.eslint.outputFile,i):this.log(types$1.LogLevelLabel.INFO,i);}}}chunkFBBMZ4NC_cjs.a(w,"plugin");var A=w;exports.default=A;exports.plugin=w;Object.keys(helpers).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return helpers[k]}})});Object.keys(types).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return types[k]}})});
@@ -0,0 +1,32 @@
1
+ import { E as ESLintPluginOptions, P as Plugin, a as ESLintPluginContext } from '../index-BjU7Kfj7.cjs';
2
+ export { c as ESLintPluginResolvedConfig, b as ESLintPluginUserConfig } from '../index-BjU7Kfj7.cjs';
3
+ export { LintMessage, MessageSeverity, formatMessage } from '../helpers/format-message.cjs';
4
+ import 'eslint';
5
+ import 'eslint/use-at-your-own-risk';
6
+ import '@storm-software/build-tools/types';
7
+ import '@storm-software/config-tools/types';
8
+ import '@storm-software/config/types';
9
+ import '@stryke/types/base';
10
+ import '@stryke/types/configuration';
11
+ import '@stryke/types/file';
12
+ import 'vite';
13
+ import '@stryke/env/get-env-paths';
14
+ import '@stryke/types/package-json';
15
+ import 'jiti';
16
+ import 'oxc-parser';
17
+ import 'semver';
18
+ import 'unplugin';
19
+ import '@stryke/types/tsconfig';
20
+ import 'typescript';
21
+ import '@stryke/json/types';
22
+ import 'memfs';
23
+ import 'node:fs';
24
+ import 'unionfs';
25
+ import '@stryke/types/array';
26
+
27
+ /**
28
+ * A Powerlines plugin to lint a project's source code with ESLint.
29
+ */
30
+ declare function plugin(options?: ESLintPluginOptions): Plugin<ESLintPluginContext>;
31
+
32
+ export { ESLintPluginContext, ESLintPluginOptions, plugin as default, plugin };
@@ -0,0 +1,32 @@
1
+ import { E as ESLintPluginOptions, P as Plugin, a as ESLintPluginContext } from '../index-BjU7Kfj7.js';
2
+ export { c as ESLintPluginResolvedConfig, b as ESLintPluginUserConfig } from '../index-BjU7Kfj7.js';
3
+ export { LintMessage, MessageSeverity, formatMessage } from '../helpers/format-message.js';
4
+ import 'eslint';
5
+ import 'eslint/use-at-your-own-risk';
6
+ import '@storm-software/build-tools/types';
7
+ import '@storm-software/config-tools/types';
8
+ import '@storm-software/config/types';
9
+ import '@stryke/types/base';
10
+ import '@stryke/types/configuration';
11
+ import '@stryke/types/file';
12
+ import 'vite';
13
+ import '@stryke/env/get-env-paths';
14
+ import '@stryke/types/package-json';
15
+ import 'jiti';
16
+ import 'oxc-parser';
17
+ import 'semver';
18
+ import 'unplugin';
19
+ import '@stryke/types/tsconfig';
20
+ import 'typescript';
21
+ import '@stryke/json/types';
22
+ import 'memfs';
23
+ import 'node:fs';
24
+ import 'unionfs';
25
+ import '@stryke/types/array';
26
+
27
+ /**
28
+ * A Powerlines plugin to lint a project's source code with ESLint.
29
+ */
30
+ declare function plugin(options?: ESLintPluginOptions): Plugin<ESLintPluginContext>;
31
+
32
+ export { ESLintPluginContext, ESLintPluginOptions, plugin as default, plugin };
@@ -0,0 +1,8 @@
1
+ import {a}from'../chunk-UCUR73HG.js';import {LogLevelLabel}from'@storm-software/config-tools/types';import {existsSync}from'@stryke/fs/exists';import {getParentPath}from'@stryke/fs/get-parent-path';import {isPackageExists}from'@stryke/fs/package-fns';import {readFile}from'@stryke/fs/read-file';import {parseVersion}from'@stryke/fs/semver-fns';import {writeFile}from'@stryke/fs/write-file';import {findFileName}from'@stryke/path/find';import {isSetObject}from'@stryke/type-checks/is-set-object';import {defu}from'defu';import {formatMessage}from'./helpers/format-message';export*from'./helpers';export*from'./types';/*****************************************
2
+ *
3
+ * ⚡ Built by Storm Software
4
+ *
5
+ *****************************************/
6
+
7
+ function w(g={}){return {name:"eslint",async config(){this.log(LogLevelLabel.TRACE,"Providing default configuration for the Powerlines `eslint` build plugin.");const n=getParentPath(["eslint.config.js","eslint.config.mjs","eslint.config.cjs","eslint.config.ts","eslint.config.mts","eslint.config.cts",".eslintrc.js",".eslintrc.cjs",".eslintrc.yaml",".eslintrc.yml",".eslintrc.json",".eslintrc"],this.config.projectRoot,{ignoreCase:true,skipCwd:false,includeNameInResults:true});return {lint:{eslint:defu(g,{configFile:n,reportErrorsOnly:false,maxWarnings:5,fix:true,outputFile:null,type:"recommended"})}}},async configResolved(){if(!isSetObject(this.packageJson.eslintConfig)&&(!this.config.lint.eslint.configFile||!existsSync(this.config.lint.eslint.configFile)))throw new Error("No ESLint configuration file could be found");if(this.config.lint.eslint.configFile&&existsSync(this.config.lint.eslint.configFile)){const e=await readFile(this.config.lint.eslint.configFile);if(e?.trim().replace(/\s/g,"")||e?.trim().replace(/\s/g,"")==="---"||e?.trim().replace(/\s/g,"")==="{}"||e?.trim().replace(/\s/g,"")==="module.exports={}")throw new Error(`The ESLint configuration file at "${this.config.lint.eslint.configFile}" is empty`)}if(!isPackageExists("eslint",{paths:[this.workspaceConfig.workspaceRoot,this.config.projectRoot]}))throw new Error("ESLint must be installed to use the Powerlines ESLint plugin. Please run: npm install --save-dev eslint");const s=await this.resolver.import(this.resolver.esmResolve("eslint")),o=this.config.lint.eslint.configFile?findFileName(this.config.lint.eslint.configFile).startsWith("eslint.config."):true;let l;"loadESLint"in s&&(l=await s.loadESLint({useFlatConfig:o}));const i=parseVersion(l?.version);if(!i||i.compare("8.57.0")<0)throw new Error(`Error - Your project has an older version of ESLint installed${i?` (${i.major}.${i.minor}.${i.patch})`:""}. Please upgrade to ESLint version 8.57.0 or above`);const t={useEslintrc:!o,baseConfig:{},errorOnUnmatchedPattern:false,extensions:[".js",".jsx",".ts",".tsx"],cache:true};if(i?.compare("9.0.0")&&o)for(const e of ["useEslintrc","extensions","ignorePath","reportUnusedDisableDirectives","resolvePluginsRelativeTo","rulePaths","inlineConfig","maxWarnings"])e in t&&delete t[e];this.eslint=new l(t);},async lint(){this.log(LogLevelLabel.TRACE,"Linting project files with ESLint.");let n=await this.eslint.lintFiles(this.tsconfig.fileNames.filter(t=>!t.includes(this.artifactsPath)&&!t.includes("node_modules")));const s=await this.resolver.import(this.resolver.esmResolve("eslint"));let o;"loadESLint"in s&&(o=await s.loadESLint({useFlatConfig:this.config.lint.eslint.configFile?findFileName(this.config.lint.eslint.configFile).startsWith("eslint.config."):true})),this.config.lint.eslint.fix&&await o.outputFixes(n),this.config.lint.eslint.reportErrorsOnly&&(n=o.getErrorResults(n));const i=n.filter(({messages:t})=>t?.length).map(({messages:t,filePath:e})=>formatMessage(this.config.projectRoot,t,e)).join(`
8
+ `);this.config.lint.eslint.outputFile?await writeFile(this.config.lint.eslint.outputFile,i):this.log(LogLevelLabel.INFO,i);}}}a(w,"plugin");var D=w;export{D as default,w as plugin};
@@ -0,0 +1 @@
1
+ 'use strict';var plugin=require('./plugin');Object.keys(plugin).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return plugin[k]}})});
@@ -0,0 +1,23 @@
1
+ export { a as ESLintPluginContext, E as ESLintPluginOptions, c as ESLintPluginResolvedConfig, b as ESLintPluginUserConfig } from '../index-BjU7Kfj7.cjs';
2
+ import 'eslint';
3
+ import 'eslint/use-at-your-own-risk';
4
+ import '@storm-software/build-tools/types';
5
+ import '@storm-software/config-tools/types';
6
+ import '@storm-software/config/types';
7
+ import '@stryke/types/base';
8
+ import '@stryke/types/configuration';
9
+ import '@stryke/types/file';
10
+ import 'vite';
11
+ import '@stryke/env/get-env-paths';
12
+ import '@stryke/types/package-json';
13
+ import 'jiti';
14
+ import 'oxc-parser';
15
+ import 'semver';
16
+ import 'unplugin';
17
+ import '@stryke/types/tsconfig';
18
+ import 'typescript';
19
+ import '@stryke/json/types';
20
+ import 'memfs';
21
+ import 'node:fs';
22
+ import 'unionfs';
23
+ import '@stryke/types/array';
@@ -0,0 +1,23 @@
1
+ export { a as ESLintPluginContext, E as ESLintPluginOptions, c as ESLintPluginResolvedConfig, b as ESLintPluginUserConfig } from '../index-BjU7Kfj7.js';
2
+ import 'eslint';
3
+ import 'eslint/use-at-your-own-risk';
4
+ import '@storm-software/build-tools/types';
5
+ import '@storm-software/config-tools/types';
6
+ import '@storm-software/config/types';
7
+ import '@stryke/types/base';
8
+ import '@stryke/types/configuration';
9
+ import '@stryke/types/file';
10
+ import 'vite';
11
+ import '@stryke/env/get-env-paths';
12
+ import '@stryke/types/package-json';
13
+ import 'jiti';
14
+ import 'oxc-parser';
15
+ import 'semver';
16
+ import 'unplugin';
17
+ import '@stryke/types/tsconfig';
18
+ import 'typescript';
19
+ import '@stryke/json/types';
20
+ import 'memfs';
21
+ import 'node:fs';
22
+ import 'unionfs';
23
+ import '@stryke/types/array';
@@ -0,0 +1 @@
1
+ export*from'./plugin';
@@ -0,0 +1 @@
1
+ 'use strict';
@@ -0,0 +1,23 @@
1
+ import 'eslint';
2
+ import 'eslint/use-at-your-own-risk';
3
+ export { a as ESLintPluginContext, E as ESLintPluginOptions, c as ESLintPluginResolvedConfig, b as ESLintPluginUserConfig } from '../index-BjU7Kfj7.cjs';
4
+ import '@storm-software/build-tools/types';
5
+ import '@storm-software/config-tools/types';
6
+ import '@storm-software/config/types';
7
+ import '@stryke/types/base';
8
+ import '@stryke/types/configuration';
9
+ import '@stryke/types/file';
10
+ import 'vite';
11
+ import '@stryke/env/get-env-paths';
12
+ import '@stryke/types/package-json';
13
+ import 'jiti';
14
+ import 'oxc-parser';
15
+ import 'semver';
16
+ import 'unplugin';
17
+ import '@stryke/types/tsconfig';
18
+ import 'typescript';
19
+ import '@stryke/json/types';
20
+ import 'memfs';
21
+ import 'node:fs';
22
+ import 'unionfs';
23
+ import '@stryke/types/array';
@@ -0,0 +1,23 @@
1
+ import 'eslint';
2
+ import 'eslint/use-at-your-own-risk';
3
+ export { a as ESLintPluginContext, E as ESLintPluginOptions, c as ESLintPluginResolvedConfig, b as ESLintPluginUserConfig } from '../index-BjU7Kfj7.js';
4
+ import '@storm-software/build-tools/types';
5
+ import '@storm-software/config-tools/types';
6
+ import '@storm-software/config/types';
7
+ import '@stryke/types/base';
8
+ import '@stryke/types/configuration';
9
+ import '@stryke/types/file';
10
+ import 'vite';
11
+ import '@stryke/env/get-env-paths';
12
+ import '@stryke/types/package-json';
13
+ import 'jiti';
14
+ import 'oxc-parser';
15
+ import 'semver';
16
+ import 'unplugin';
17
+ import '@stryke/types/tsconfig';
18
+ import 'typescript';
19
+ import '@stryke/json/types';
20
+ import 'memfs';
21
+ import 'node:fs';
22
+ import 'unionfs';
23
+ import '@stryke/types/array';
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerlines/plugin-eslint",
3
- "version": "0.8.3",
3
+ "version": "0.8.5",
4
4
  "type": "module",
5
5
  "description": "A package containing a Powerlines plugin for running ESLint on the codebase.",
6
6
  "repository": {
@@ -88,18 +88,18 @@
88
88
  "files": ["dist/**/*"],
89
89
  "keywords": ["eslint", "powerlines", "storm-software", "powerlines-plugin"],
90
90
  "dependencies": {
91
- "@storm-software/config-tools": "^1.188.13",
92
- "@stryke/fs": "^0.32.3",
93
- "@stryke/path": "^0.17.0",
91
+ "@storm-software/config-tools": "^1.188.19",
92
+ "@stryke/fs": "^0.32.10",
93
+ "@stryke/path": "^0.18.5",
94
94
  "defu": "^6.1.4",
95
- "eslint": "^9.38.0",
96
- "powerlines": "^0.14.1"
95
+ "eslint": "^9.39.1",
96
+ "powerlines": "^0.16.0"
97
97
  },
98
98
  "devDependencies": {
99
- "@powerlines/nx": "^0.9.5",
100
- "@storm-software/tsup": "^0.2.11",
101
- "@types/node": "^22.18.12"
99
+ "@powerlines/nx": "^0.10.1",
100
+ "@storm-software/tsup": "^0.2.17",
101
+ "@types/node": "^22.19.0"
102
102
  },
103
103
  "publishConfig": { "access": "public" },
104
- "gitHead": "284d279fb9c466a627d4506600e0d16315ec96ac"
104
+ "gitHead": "097e9f257b733719a3aead815ef79686f4c46f25"
105
105
  }