@shell-shock/eslint-plugin 0.0.75 → 0.0.77
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/dist/configs/base.cjs +1 -1
- package/dist/configs/base.d.cts.map +1 -1
- package/dist/configs/base.d.mts.map +1 -1
- package/dist/configs/base.mjs.map +1 -1
- package/dist/configs/index.cjs +1 -1
- package/dist/configs/index.d.cts.map +1 -1
- package/dist/configs/index.d.mts.map +1 -1
- package/dist/configs/index.mjs.map +1 -1
- package/dist/configs/recommended.cjs +1 -1
- package/dist/configs/recommended.d.cts.map +1 -1
- package/dist/configs/recommended.d.mts.map +1 -1
- package/dist/configs/recommended.mjs.map +1 -1
- package/dist/helpers/create-rule.cjs +1 -1
- package/dist/helpers/create-rule.d.cts.map +1 -1
- package/dist/helpers/create-rule.d.mts.map +1 -1
- package/dist/helpers/create-rule.mjs.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/package.cjs +1 -1
- package/dist/package.mjs +1 -1
- package/dist/package.mjs.map +1 -1
- package/dist/plugin.cjs +1 -1
- package/dist/plugin.d.mts.map +1 -1
- package/dist/plugin.mjs.map +1 -1
- package/dist/rules/duplicate-command-path.cjs +1 -1
- package/dist/rules/duplicate-command-path.d.mts.map +1 -1
- package/dist/rules/duplicate-command-path.mjs.map +1 -1
- package/dist/rules/invalid-command-export.cjs +1 -1
- package/dist/rules/invalid-command-export.d.mts.map +1 -1
- package/dist/rules/invalid-command-export.mjs.map +1 -1
- package/dist/rules/invalid-handler-params.cjs +1 -1
- package/dist/rules/invalid-handler-params.d.mts.map +1 -1
- package/dist/rules/invalid-handler-params.mjs.map +1 -1
- package/package.json +31 -114
package/dist/configs/base.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={files:[`**/*.{,c,m}{j,t}s{,x}`],name:`shell-shock:base`,plugins:{"shell-shock":require(
|
|
1
|
+
const e={files:[`**/*.{,c,m}{j,t}s{,x}`],name:`shell-shock:base`,plugins:{"shell-shock":require("../plugin.cjs").plugin},ignores:[`.shell-shock`],rules:{"shell-shock/duplicate-command-path":`warn`,"shell-shock/invalid-command-export":`error`,"shell-shock/invalid-handler-params":`error`}};module.exports=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.cts","names":[],"sources":["../../src/configs/base.ts"],"mappings":";;;cAqBM,MAAA,EAAQ,MAAA,CAAO,
|
|
1
|
+
{"version":3,"file":"base.d.cts","names":[],"sources":["../../src/configs/base.ts"],"mappings":";;;cAqBM,MAAA,EAAQ,MAAA,CAAO,MAYpB;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.mts","names":[],"sources":["../../src/configs/base.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.d.mts","names":[],"sources":["../../src/configs/base.ts"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.mjs","names":[],"sources":[
|
|
1
|
+
{"version":3,"file":"base.mjs","names":[],"sources":[],"mappings":""}
|
package/dist/configs/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e={base:require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e={base:require("./base.cjs"),recommended:require("./recommended.cjs")};exports.configs=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/configs/index.ts"],"mappings":";;;cAsBa,OAAA,EAAS,
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/configs/index.ts"],"mappings":";;;cAsBa,OAAA,EAAS,MAAM,SAAS,MAAA,CAAO,MAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/configs/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/configs/index.ts"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":[
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={files:[`**/*.{,c,m}{j,t}s{,x}`],name:`shell-shock:recommended`,plugins:{"shell-shock":require(
|
|
1
|
+
const e={files:[`**/*.{,c,m}{j,t}s{,x}`],name:`shell-shock:recommended`,plugins:{"shell-shock":require("../plugin.cjs").plugin},ignores:[`.shell-shock`],rules:{"shell-shock/duplicate-command-path":`warn`,"shell-shock/invalid-command-export":`error`,"shell-shock/invalid-handler-params":`error`}};module.exports=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommended.d.cts","names":[],"sources":["../../src/configs/recommended.ts"],"mappings":";;;cAqBM,MAAA,EAAQ,MAAA,CAAO,
|
|
1
|
+
{"version":3,"file":"recommended.d.cts","names":[],"sources":["../../src/configs/recommended.ts"],"mappings":";;;cAqBM,MAAA,EAAQ,MAAA,CAAO,MAYpB;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommended.d.mts","names":[],"sources":["../../src/configs/recommended.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"recommended.d.mts","names":[],"sources":["../../src/configs/recommended.ts"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommended.mjs","names":[],"sources":[
|
|
1
|
+
{"version":3,"file":"recommended.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(
|
|
1
|
+
const e=require("../_virtual/_rolldown/runtime.cjs");let t=require("defu");t=e.__toESM(t,1);function n(e){return function({name:t,meta:n,...i}){return r({meta:{...n,docs:{...n.docs,url:e(t)}},...i})}}function r({create:e,defaultOptions:n,meta:r}){return{create:(r=>e(r,r.options.map((e,r)=>(0,t.default)(n?.[r]??{},e)))),defaultOptions:n??{},meta:r}}const i=n(e=>`https://docs.stormsoftware.com/projects/shell-shock/eslint/rules/${e}.md`);exports.createRule=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-rule.d.cts","names":[],"sources":["../../src/helpers/create-rule.ts"],"mappings":";;KA2BY,UAAA,iCAA2C,IAAA,CAAK,UAAA;EAC1D,cAAA,EAAgB,
|
|
1
|
+
{"version":3,"file":"create-rule.d.cts","names":[],"sources":["../../src/helpers/create-rule.ts"],"mappings":";;KA2BY,UAAA,iCAA2C,IAAA,CAAK,UAAA;EAC1D,cAAA,EAAgB,CAAC;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-rule.d.mts","names":[],"sources":["../../src/helpers/create-rule.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-rule.d.mts","names":[],"sources":["../../src/helpers/create-rule.ts"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-rule.mjs","names":[],"sources":[
|
|
1
|
+
{"version":3,"file":"create-rule.mjs","names":[],"sources":[],"mappings":""}
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./plugin.cjs"),t=require("./configs/index.cjs"),n={...e.plugin,configs:t.configs};exports.configs=t.configs,exports.default=n;
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;AAoBkC
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;AAoBkC;;;;AAmBjC;AAIkB;;;;AAEkB;AAErC;cAXM,YAAA,EAAc,MAAA,CAAO,MAG1B;AAAA,KAMI,eAAA,WAA0B,MAAM;AAAA,KAEzB,WAAA,iBACE,eAAA,GAAkB,eAAA,CAAgB,CAAA;AAAA,KAGpC,KAAA,iBACE,WAAA,GAAc,MAAA,CAAO,SAAA,CAAU,WAAA,CAAY,CAAA"}
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":""}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":[
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":[],"mappings":""}
|
package/dist/package.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=`0.0.
|
|
1
|
+
var e=`0.0.76`;Object.defineProperty(exports,"version",{enumerable:!0,get:function(){return e}});
|
package/dist/package.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=`0.0.
|
|
1
|
+
var e=`0.0.76`;export{e as version};
|
|
2
2
|
//# sourceMappingURL=package.mjs.map
|
package/dist/package.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.mjs","names":[],"sources":[
|
|
1
|
+
{"version":3,"file":"package.mjs","names":[],"sources":[],"mappings":""}
|
package/dist/plugin.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./package.cjs"),t=require("./rules/duplicate-command-path.cjs"),n=require("./rules/invalid-command-export.cjs"),r=require("./rules/invalid-handler-params.cjs"),i={meta:{name:`shell-shock`,version:e.version},rules:{"duplicate-command-path":t.default,"invalid-command-export":n.default,"invalid-handler-params":r.default}};exports.plugin=i;
|
package/dist/plugin.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.mts","names":[],"sources":["../src/plugin.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.d.mts","names":[],"sources":["../src/plugin.ts"],"mappings":""}
|
package/dist/plugin.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.mjs","names":[
|
|
1
|
+
{"version":3,"file":"plugin.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}})
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../helpers/create-rule.cjs");let t=require("@stryke/fs/is-file"),n=require("@stryke/fs/list-files"),r=require("@stryke/path/file-path-fns"),i=require("@stryke/path/join"),a=require("@stryke/path/resolve-parent-path"),o=require("node:fs");const s=`duplicate-command-path`;var c=e.createRule({name:s,meta:{type:`problem`,docs:{description:`Multiple command files found in the same directory. This can lead to unexpected behavior. Please ensure that there is only one command file per directory.`},schema:[],messages:{duplicateCommandPath:`Multiple command files found in the same directory. This can lead to unexpected behavior. Please ensure that there is only one command file per directory: {{#duplicates}}
|
|
2
2
|
- {{.}}{{/duplicates}}`}},defaultOptions:[],create:e=>({Program(s){let c=e.filename??e.getFilename();if((0,r.findFileName)(c,{withExtension:!1})!==`command`)return;let l=(0,r.findFilePath)(c);if(!l)return;let u=(0,n.listSync)(l).filter(e=>(0,t.isDirectory)(e)&&((0,r.findFileName)(e).startsWith(`(`)&&(0,r.findFileName)(e).startsWith(`(`)||(0,r.findFileName)(e).startsWith(`_`))&&(0,o.existsSync)((0,i.joinPaths)(e,`command.ts`)));u.length>1&&e.report({node:s,messageId:`duplicateCommandPath`,data:{duplicates:u}});let d=(0,a.resolveParentPath)(c);((0,r.findFolderName)(d).startsWith(`(`)&&(0,r.findFolderName)(d).startsWith(`(`)||(0,r.findFolderName)(d).startsWith(`_`))&&(0,o.existsSync)((0,i.joinPaths)(d,`command.ts`))&&e.report({node:s,messageId:`duplicateCommandPath`,data:{duplicates:[d]}})}})});exports.RULE_NAME=s,exports.default=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicate-command-path.d.mts","names":[],"sources":["../../src/rules/duplicate-command-path.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"duplicate-command-path.d.mts","names":[],"sources":["../../src/rules/duplicate-command-path.ts"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicate-command-path.mjs","names":[],"sources":[
|
|
1
|
+
{"version":3,"file":"duplicate-command-path.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}})
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../helpers/create-rule.cjs");let t=require("@stryke/path/file-path-fns");const n=`invalid-command-export`;var r=e.createRule({name:n,meta:{type:`problem`,docs:{description:`A command module must have a handler function as it's default export.`},schema:[],messages:{invalidExport:`A command module must have a handler function as it's default export.`}},defaultOptions:[],create:e=>({Program(n){if((0,t.findFileName)(e.filename??e.getFilename(),{withExtension:!1})===`command`){for(let t of n.body)if(t.type===`ExportDefaultDeclaration`){if(t.declaration.type===`FunctionDeclaration`)return;if(t.declaration.type===`Identifier`){let e=t.declaration.name;if(n.body.some(t=>t.type===`FunctionDeclaration`&&t.id.name===e||t.type===`VariableDeclaration`&&t.declarations.find(t=>t.id?.type===`Identifier`&&t.id.name===e)))return}e.report({node:t,messageId:`invalidExport`})}}}})});exports.RULE_NAME=n,exports.default=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invalid-command-export.d.mts","names":[],"sources":["../../src/rules/invalid-command-export.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"invalid-command-export.d.mts","names":[],"sources":["../../src/rules/invalid-command-export.ts"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invalid-command-export.mjs","names":[],"sources":[
|
|
1
|
+
{"version":3,"file":"invalid-command-export.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}})
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../helpers/create-rule.cjs");let t=require("@stryke/path/file-path-fns"),n=require("@typescript-eslint/utils");const r=`invalid-handler-params`;function i(e){switch(e.type){case n.AST_NODE_TYPES.Identifier:return e.typeAnnotation?e.typeAnnotation.typeAnnotation:null;case n.AST_NODE_TYPES.AssignmentPattern:{let t=e.left;return t.type===n.AST_NODE_TYPES.Identifier&&t.typeAnnotation?t.typeAnnotation.typeAnnotation:null}case n.AST_NODE_TYPES.RestElement:{let t=e.argument;return t.type===n.AST_NODE_TYPES.Identifier&&t.typeAnnotation?t.typeAnnotation.typeAnnotation:null}case n.AST_NODE_TYPES.ArrayPattern:case n.AST_NODE_TYPES.ObjectPattern:case n.AST_NODE_TYPES.TSParameterProperty:default:return null}}function a(e,t){if(t.params.length>0&&t.params[0]){let r=i(t.params[0]);if(!r)return!1;if(r.type===n.AST_NODE_TYPES.TSTypeLiteral&&r.members.some(e=>e.type===n.AST_NODE_TYPES.TSPropertySignature)||r.type===n.AST_NODE_TYPES.TSIntersectionType&&r.types.some(e=>e.type===n.AST_NODE_TYPES.TSTypeLiteral&&e.members.some(e=>e.type===n.AST_NODE_TYPES.TSPropertySignature)))return!0;if(r.type===n.AST_NODE_TYPES.TSTypeReference&&r.typeName.type===n.AST_NODE_TYPES.Identifier){let t=r.typeName.name;if(!e.some(e=>e.type===n.AST_NODE_TYPES.TSInterfaceDeclaration&&e.id.name===t||e.type===n.AST_NODE_TYPES.TSTypeAliasDeclaration&&e.id.name===t&&(e.typeAnnotation.type===n.AST_NODE_TYPES.TSTypeLiteral&&e.typeAnnotation.members.some(e=>e.type===n.AST_NODE_TYPES.TSPropertySignature)||e.typeAnnotation.type===n.AST_NODE_TYPES.TSIntersectionType&&e.typeAnnotation.types.some(e=>e.type===n.AST_NODE_TYPES.TSTypeLiteral&&e.members.some(e=>e.type===n.AST_NODE_TYPES.TSPropertySignature)))))return!0}}return!1}function o(e,t,r){(t.params.length>1||!a(e,t))&&(a(e,t)?t.params.slice(1):t.params).forEach(t=>{let a=i(t);a?.type!==n.AST_NODE_TYPES.TSStringKeyword&&a?.type!==n.AST_NODE_TYPES.TSNumberKeyword&&a?.type!==n.AST_NODE_TYPES.TSBooleanKeyword&&!(a?.type===n.AST_NODE_TYPES.TSUnionType&&a.types.every(e=>e.type===n.AST_NODE_TYPES.TSLiteralType&&e.literal.type===n.AST_NODE_TYPES.Literal&&(typeof e.literal.value==`string`||typeof e.literal.value==`number`||typeof e.literal.value==`boolean`)))&&!(a?.type===n.AST_NODE_TYPES.TSTypeReference&&a.typeName.type===n.AST_NODE_TYPES.Identifier&&e.some(e=>e.type===n.AST_NODE_TYPES.TSTypeAliasDeclaration&&e.id.name===a.typeName.name&&(e.typeAnnotation.type===n.AST_NODE_TYPES.TSStringKeyword||e.typeAnnotation.type===n.AST_NODE_TYPES.TSNumberKeyword||e.typeAnnotation.type===n.AST_NODE_TYPES.TSBooleanKeyword||e.typeAnnotation.type===n.AST_NODE_TYPES.TSUnionType&&e.typeAnnotation.types.every(e=>e.type===n.AST_NODE_TYPES.TSLiteralType&&e.literal.type===n.AST_NODE_TYPES.Literal&&(typeof e.literal.value==`string`||typeof e.literal.value==`number`||typeof e.literal.value==`boolean`)))))&&!(a?.type===n.AST_NODE_TYPES.TSArrayType&&(a.elementType.type===n.AST_NODE_TYPES.TSStringKeyword||a.elementType.type===n.AST_NODE_TYPES.TSNumberKeyword||a.elementType.type===n.AST_NODE_TYPES.TSBooleanKeyword||a.elementType.type===n.AST_NODE_TYPES.TSUnionType&&a.elementType.types.every(e=>e.type===n.AST_NODE_TYPES.TSLiteralType&&e.literal.type===n.AST_NODE_TYPES.Literal&&(typeof e.literal.value==`string`||typeof e.literal.value==`number`||typeof e.literal.value==`boolean`))||a.elementType.type===n.AST_NODE_TYPES.TSTypeReference&&a.elementType.typeName.type===n.AST_NODE_TYPES.Identifier&&e.some(e=>e.type===n.AST_NODE_TYPES.TSTypeAliasDeclaration&&e.id.name===a.elementType.typeName.name&&(e.typeAnnotation.type===n.AST_NODE_TYPES.TSStringKeyword||e.typeAnnotation.type===n.AST_NODE_TYPES.TSNumberKeyword||e.typeAnnotation.type===n.AST_NODE_TYPES.TSBooleanKeyword||e.typeAnnotation.type===n.AST_NODE_TYPES.TSUnionType&&e.typeAnnotation.types.every(e=>e.type===n.AST_NODE_TYPES.TSLiteralType&&e.literal.type===n.AST_NODE_TYPES.Literal&&(typeof e.literal.value==`string`||typeof e.literal.value==`number`||typeof e.literal.value==`boolean`))))))&&r.report({node:a,messageId:`invalidArgsParam`})})}var s=e.createRule({name:r,meta:{type:`problem`,docs:{description:`The command handler function must have a valid parameter types.`},schema:[],messages:{invalidArgsParam:`All command handler function parameters, with the potential exception of the first (which can represent the command's options), should represent the command's positional arguments. As a result, these parameters' types must be included in the following list:
|
|
2
2
|
- string
|
|
3
3
|
- number
|
|
4
4
|
- boolean
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invalid-handler-params.d.mts","names":[],"sources":["../../src/rules/invalid-handler-params.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"invalid-handler-params.d.mts","names":[],"sources":["../../src/rules/invalid-handler-params.ts"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invalid-handler-params.mjs","names":[],"sources":["../../src/rules/invalid-handler-params.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { findFileName } from \"@stryke/path/file-path-fns\";\nimport type { TSESTree } from \"@typescript-eslint/utils\";\nimport { AST_NODE_TYPES } from \"@typescript-eslint/utils\";\nimport type { RuleContext } from \"@typescript-eslint/utils/ts-eslint\";\nimport { createRule } from \"../helpers/create-rule\";\n\nexport const RULE_NAME = \"invalid-handler-params\";\nexport type MessageIds = \"invalidArgsParam\";\nexport type Options = [];\n\nfunction getTypeNode(param: TSESTree.Parameter): TSESTree.TypeNode | null {\n switch (param.type) {\n case AST_NODE_TYPES.Identifier:\n return param.typeAnnotation ? param.typeAnnotation.typeAnnotation : null;\n\n case AST_NODE_TYPES.AssignmentPattern: {\n const left = param.left;\n if (left.type === AST_NODE_TYPES.Identifier && left.typeAnnotation) {\n return left.typeAnnotation.typeAnnotation;\n }\n return null;\n }\n\n case AST_NODE_TYPES.RestElement: {\n const arg = param.argument;\n if (arg.type === AST_NODE_TYPES.Identifier && arg.typeAnnotation) {\n return arg.typeAnnotation.typeAnnotation;\n }\n return null;\n }\n\n case AST_NODE_TYPES.ArrayPattern:\n case AST_NODE_TYPES.ObjectPattern:\n case AST_NODE_TYPES.TSParameterProperty:\n default:\n return null;\n }\n}\n\n/**\n * Check if the first parameter of the command handler function is a valid options parameter.\n *\n * @remarks\n * The first parameter of the command handler function should represent the command's potential options. As a result, it must be an object type with properties.\n *\n * This function will check if the first parameter is of an object type with properties, which can be represented as a type literal, an intersection type including a type literal, or a reference to an interface/type alias that resolves to an object type with properties.\n *\n * @param body - The body of the program, used to check for type/interface declarations when validating the options parameter.\n * @param node - The function node representing the command handler, used to access its parameters and validate the first parameter as the options parameter.\n * @returns A boolean indicating whether the first parameter is a valid options parameter or not.\n */\nfunction isFirstParamOptions(\n body: TSESTree.ProgramStatement[],\n node: TSESTree.FunctionDeclaration | TSESTree.ArrowFunctionExpression\n): boolean {\n if (node.params.length > 0 && node.params[0]) {\n const type = getTypeNode(node.params[0]);\n if (!type) {\n return false;\n }\n\n if (\n type.type === AST_NODE_TYPES.TSTypeLiteral &&\n type.members.some(\n member => member.type === AST_NODE_TYPES.TSPropertySignature\n )\n ) {\n return true;\n } else if (\n type.type === AST_NODE_TYPES.TSIntersectionType &&\n type.types.some(\n type =>\n type.type === AST_NODE_TYPES.TSTypeLiteral &&\n type.members.some(\n member => member.type === AST_NODE_TYPES.TSPropertySignature\n )\n )\n ) {\n return true;\n } else if (\n type.type === AST_NODE_TYPES.TSTypeReference &&\n type.typeName.type === AST_NODE_TYPES.Identifier\n ) {\n const typeName = type.typeName.name;\n if (\n !body.some(\n localBlock =>\n (localBlock.type === AST_NODE_TYPES.TSInterfaceDeclaration &&\n localBlock.id.name === typeName) ||\n (localBlock.type === AST_NODE_TYPES.TSTypeAliasDeclaration &&\n localBlock.id.name === typeName &&\n ((localBlock.typeAnnotation.type ===\n AST_NODE_TYPES.TSTypeLiteral &&\n localBlock.typeAnnotation.members.some(\n member => member.type === AST_NODE_TYPES.TSPropertySignature\n )) ||\n (localBlock.typeAnnotation.type ===\n AST_NODE_TYPES.TSIntersectionType &&\n localBlock.typeAnnotation.types.some(\n type =>\n type.type === AST_NODE_TYPES.TSTypeLiteral &&\n type.members.some(\n member =>\n member.type === AST_NODE_TYPES.TSPropertySignature\n )\n ))))\n )\n ) {\n return true;\n }\n }\n }\n\n return false;\n}\n\n/**\n * Checks the validity of the command handler function's positional argument parameters.\n *\n * @remarks\n * All parameters except the first should represent the command's positional arguments, and as a result, their types must be included in the following list:\n * - string\n * - number\n * - boolean\n * - number or string or boolean literal\n * - string[]\n * - number[]\n * - number or string or boolean literal array\n *\n * @param body - The body of the program, used to check for type/interface declarations when validating the args parameters.\n * @param node - The function node representing the command handler, used to access its parameters and validate their types.\n * @param context - The ESLint rule context, used to report any validation errors found in the parameters.\n */\nfunction checkArgsParam(\n body: TSESTree.ProgramStatement[],\n node: TSESTree.FunctionDeclaration | TSESTree.ArrowFunctionExpression,\n context: Readonly<RuleContext<\"invalidArgsParam\", []>>\n) {\n if (node.params.length > 1 || !isFirstParamOptions(body, node)) {\n (isFirstParamOptions(body, node)\n ? node.params.slice(1)\n : node.params\n ).forEach(param => {\n const type = getTypeNode(param);\n if (\n type?.type !== AST_NODE_TYPES.TSStringKeyword &&\n type?.type !== AST_NODE_TYPES.TSNumberKeyword &&\n type?.type !== AST_NODE_TYPES.TSBooleanKeyword &&\n !(\n type?.type === AST_NODE_TYPES.TSUnionType &&\n type.types.every(\n t =>\n t.type === AST_NODE_TYPES.TSLiteralType &&\n t.literal.type === AST_NODE_TYPES.Literal &&\n (typeof t.literal.value === \"string\" ||\n typeof t.literal.value === \"number\" ||\n typeof t.literal.value === \"boolean\")\n )\n ) &&\n !(\n type?.type === AST_NODE_TYPES.TSTypeReference &&\n type.typeName.type === AST_NODE_TYPES.Identifier &&\n body.some(\n localBlock =>\n localBlock.type === AST_NODE_TYPES.TSTypeAliasDeclaration &&\n localBlock.id.name ===\n (type.typeName as TSESTree.Identifier).name &&\n (localBlock.typeAnnotation.type ===\n AST_NODE_TYPES.TSStringKeyword ||\n localBlock.typeAnnotation.type ===\n AST_NODE_TYPES.TSNumberKeyword ||\n localBlock.typeAnnotation.type ===\n AST_NODE_TYPES.TSBooleanKeyword ||\n (localBlock.typeAnnotation.type ===\n AST_NODE_TYPES.TSUnionType &&\n localBlock.typeAnnotation.types.every(\n t =>\n t.type === AST_NODE_TYPES.TSLiteralType &&\n t.literal.type === AST_NODE_TYPES.Literal &&\n (typeof t.literal.value === \"string\" ||\n typeof t.literal.value === \"number\" ||\n typeof t.literal.value === \"boolean\")\n )))\n )\n ) &&\n !(\n type?.type === AST_NODE_TYPES.TSArrayType &&\n (type.elementType.type === AST_NODE_TYPES.TSStringKeyword ||\n type.elementType.type === AST_NODE_TYPES.TSNumberKeyword ||\n type.elementType.type === AST_NODE_TYPES.TSBooleanKeyword ||\n (type.elementType.type === AST_NODE_TYPES.TSUnionType &&\n type.elementType.types.every(\n t =>\n t.type === AST_NODE_TYPES.TSLiteralType &&\n t.literal.type === AST_NODE_TYPES.Literal &&\n (typeof t.literal.value === \"string\" ||\n typeof t.literal.value === \"number\" ||\n typeof t.literal.value === \"boolean\")\n )) ||\n (type.elementType.type === AST_NODE_TYPES.TSTypeReference &&\n type.elementType.typeName.type === AST_NODE_TYPES.Identifier &&\n body.some(\n localBlock =>\n localBlock.type === AST_NODE_TYPES.TSTypeAliasDeclaration &&\n localBlock.id.name ===\n (\n (type.elementType as TSESTree.TSTypeReference)\n .typeName as TSESTree.Identifier\n ).name &&\n (localBlock.typeAnnotation.type ===\n AST_NODE_TYPES.TSStringKeyword ||\n localBlock.typeAnnotation.type ===\n AST_NODE_TYPES.TSNumberKeyword ||\n localBlock.typeAnnotation.type ===\n AST_NODE_TYPES.TSBooleanKeyword ||\n (localBlock.typeAnnotation.type ===\n AST_NODE_TYPES.TSUnionType &&\n localBlock.typeAnnotation.types.every(\n t =>\n t.type === AST_NODE_TYPES.TSLiteralType &&\n t.literal.type === AST_NODE_TYPES.Literal &&\n (typeof t.literal.value === \"string\" ||\n typeof t.literal.value === \"number\" ||\n typeof t.literal.value === \"boolean\")\n )))\n )))\n )\n ) {\n context.report({\n node: type!,\n messageId: \"invalidArgsParam\"\n });\n }\n });\n }\n}\n\nexport default createRule<Options, MessageIds>({\n name: RULE_NAME,\n meta: {\n type: \"problem\",\n docs: {\n description:\n \"The command handler function must have a valid parameter types.\"\n },\n schema: [],\n messages: {\n invalidArgsParam: `All command handler function parameters, with the potential exception of the first (which can represent the command's options), should represent the command's positional arguments. As a result, these parameters' types must be included in the following list:\n- string\n- number\n- boolean\n- string or number or boolean literal\n- string array\n- number array\n- boolean array\n- string or number or boolean literal array `\n }\n },\n defaultOptions: [],\n create: context => {\n return {\n Program(node) {\n const fileName = context.filename ?? context.getFilename();\n if (\n findFileName(fileName, {\n withExtension: false\n }) !== \"command\"\n ) {\n return;\n }\n\n for (const block of node.body) {\n if (block.type === \"ExportDefaultDeclaration\") {\n // export default async function handler() {...}\n if (block.declaration?.type === \"FunctionDeclaration\") {\n if (block.declaration.params.length > 0) {\n checkArgsParam(node.body, block.declaration, context);\n }\n } else if (block.declaration?.type === \"Identifier\") {\n // async function handler() {...}; export default handler;\n const targetName = block.declaration.name;\n const functionDeclaration = node.body.find(\n localBlock =>\n (localBlock.type === \"FunctionDeclaration\" &&\n localBlock.id.name === targetName) ||\n (localBlock.type === \"VariableDeclaration\" &&\n localBlock.declarations.find(\n declaration =>\n declaration.id?.type === \"Identifier\" &&\n declaration.id.name === targetName\n ))\n );\n if (functionDeclaration?.type === \"FunctionDeclaration\") {\n checkArgsParam(node.body, functionDeclaration, context);\n } else if (functionDeclaration?.type === \"VariableDeclaration\") {\n const varDeclarator = functionDeclaration.declarations.find(\n declaration =>\n declaration.id?.type === \"Identifier\" &&\n declaration.id.name === targetName\n );\n if (varDeclarator?.init?.type === \"ArrowFunctionExpression\") {\n checkArgsParam(node.body, varDeclarator.init, context);\n }\n }\n }\n }\n }\n }\n };\n }\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invalid-handler-params.mjs","names":[],"sources":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shell-shock/eslint-plugin",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.77",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "An ESLint Plugin with linting rules that ensure a Shell Shock project is following the best practices.",
|
|
6
6
|
"keywords": ["eslint", "eslint-plugin", "shell-shock", "storm-software"],
|
|
@@ -40,119 +40,36 @@
|
|
|
40
40
|
],
|
|
41
41
|
"type": "module",
|
|
42
42
|
"exports": {
|
|
43
|
-
".": {
|
|
44
|
-
"require": {
|
|
45
|
-
"types": "./dist/index.d.cts",
|
|
46
|
-
"default": "./dist/index.cjs"
|
|
47
|
-
},
|
|
48
|
-
"import": {
|
|
49
|
-
"types": "./dist/index.d.mts",
|
|
50
|
-
"default": "./dist/index.mjs"
|
|
51
|
-
},
|
|
52
|
-
"default": {
|
|
53
|
-
"types": "./dist/index.d.mts",
|
|
54
|
-
"default": "./dist/index.mjs"
|
|
55
|
-
}
|
|
56
|
-
},
|
|
43
|
+
".": { "import": "./dist/index.mjs", "require": "./dist/index.cjs" },
|
|
57
44
|
"./configs": {
|
|
58
|
-
"
|
|
59
|
-
|
|
60
|
-
"default": "./dist/configs/index.cjs"
|
|
61
|
-
},
|
|
62
|
-
"import": {
|
|
63
|
-
"types": "./dist/configs/index.d.mts",
|
|
64
|
-
"default": "./dist/configs/index.mjs"
|
|
65
|
-
},
|
|
66
|
-
"default": {
|
|
67
|
-
"types": "./dist/configs/index.d.mts",
|
|
68
|
-
"default": "./dist/configs/index.mjs"
|
|
69
|
-
}
|
|
45
|
+
"import": "./dist/configs/index.mjs",
|
|
46
|
+
"require": "./dist/configs/index.cjs"
|
|
70
47
|
},
|
|
71
48
|
"./configs/base": {
|
|
72
|
-
"
|
|
73
|
-
|
|
74
|
-
"default": "./dist/configs/base.cjs"
|
|
75
|
-
},
|
|
76
|
-
"import": {
|
|
77
|
-
"types": "./dist/configs/base.d.mts",
|
|
78
|
-
"default": "./dist/configs/base.mjs"
|
|
79
|
-
},
|
|
80
|
-
"default": {
|
|
81
|
-
"types": "./dist/configs/base.d.mts",
|
|
82
|
-
"default": "./dist/configs/base.mjs"
|
|
83
|
-
}
|
|
49
|
+
"import": "./dist/configs/base.mjs",
|
|
50
|
+
"require": "./dist/configs/base.cjs"
|
|
84
51
|
},
|
|
85
52
|
"./configs/recommended": {
|
|
86
|
-
"
|
|
87
|
-
|
|
88
|
-
"default": "./dist/configs/recommended.cjs"
|
|
89
|
-
},
|
|
90
|
-
"import": {
|
|
91
|
-
"types": "./dist/configs/recommended.d.mts",
|
|
92
|
-
"default": "./dist/configs/recommended.mjs"
|
|
93
|
-
},
|
|
94
|
-
"default": {
|
|
95
|
-
"types": "./dist/configs/recommended.d.mts",
|
|
96
|
-
"default": "./dist/configs/recommended.mjs"
|
|
97
|
-
}
|
|
53
|
+
"import": "./dist/configs/recommended.mjs",
|
|
54
|
+
"require": "./dist/configs/recommended.cjs"
|
|
98
55
|
},
|
|
99
|
-
"./package.json": "./package.json",
|
|
100
56
|
"./plugin": {
|
|
101
|
-
"
|
|
102
|
-
|
|
103
|
-
"default": "./dist/plugin.cjs"
|
|
104
|
-
},
|
|
105
|
-
"import": {
|
|
106
|
-
"types": "./dist/plugin.d.mts",
|
|
107
|
-
"default": "./dist/plugin.mjs"
|
|
108
|
-
},
|
|
109
|
-
"default": {
|
|
110
|
-
"types": "./dist/plugin.d.mts",
|
|
111
|
-
"default": "./dist/plugin.mjs"
|
|
112
|
-
}
|
|
57
|
+
"import": "./dist/plugin.mjs",
|
|
58
|
+
"require": "./dist/plugin.cjs"
|
|
113
59
|
},
|
|
114
60
|
"./rules/duplicate-command-path": {
|
|
115
|
-
"
|
|
116
|
-
|
|
117
|
-
"default": "./dist/rules/duplicate-command-path.cjs"
|
|
118
|
-
},
|
|
119
|
-
"import": {
|
|
120
|
-
"types": "./dist/rules/duplicate-command-path.d.mts",
|
|
121
|
-
"default": "./dist/rules/duplicate-command-path.mjs"
|
|
122
|
-
},
|
|
123
|
-
"default": {
|
|
124
|
-
"types": "./dist/rules/duplicate-command-path.d.mts",
|
|
125
|
-
"default": "./dist/rules/duplicate-command-path.mjs"
|
|
126
|
-
}
|
|
61
|
+
"import": "./dist/rules/duplicate-command-path.mjs",
|
|
62
|
+
"require": "./dist/rules/duplicate-command-path.cjs"
|
|
127
63
|
},
|
|
128
64
|
"./rules/invalid-command-export": {
|
|
129
|
-
"
|
|
130
|
-
|
|
131
|
-
"default": "./dist/rules/invalid-command-export.cjs"
|
|
132
|
-
},
|
|
133
|
-
"import": {
|
|
134
|
-
"types": "./dist/rules/invalid-command-export.d.mts",
|
|
135
|
-
"default": "./dist/rules/invalid-command-export.mjs"
|
|
136
|
-
},
|
|
137
|
-
"default": {
|
|
138
|
-
"types": "./dist/rules/invalid-command-export.d.mts",
|
|
139
|
-
"default": "./dist/rules/invalid-command-export.mjs"
|
|
140
|
-
}
|
|
65
|
+
"import": "./dist/rules/invalid-command-export.mjs",
|
|
66
|
+
"require": "./dist/rules/invalid-command-export.cjs"
|
|
141
67
|
},
|
|
142
68
|
"./rules/invalid-handler-params": {
|
|
143
|
-
"
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
"import": {
|
|
148
|
-
"types": "./dist/rules/invalid-handler-params.d.mts",
|
|
149
|
-
"default": "./dist/rules/invalid-handler-params.mjs"
|
|
150
|
-
},
|
|
151
|
-
"default": {
|
|
152
|
-
"types": "./dist/rules/invalid-handler-params.d.mts",
|
|
153
|
-
"default": "./dist/rules/invalid-handler-params.mjs"
|
|
154
|
-
}
|
|
155
|
-
}
|
|
69
|
+
"import": "./dist/rules/invalid-handler-params.mjs",
|
|
70
|
+
"require": "./dist/rules/invalid-handler-params.cjs"
|
|
71
|
+
},
|
|
72
|
+
"./package.json": "./package.json"
|
|
156
73
|
},
|
|
157
74
|
"main": "./dist/index.cjs",
|
|
158
75
|
"module": "./dist/index.mjs",
|
|
@@ -160,29 +77,29 @@
|
|
|
160
77
|
"typings": "dist/index.d.mts",
|
|
161
78
|
"files": ["dist/**/*"],
|
|
162
79
|
"dependencies": {
|
|
163
|
-
"@stryke/fs": "^0.33.
|
|
164
|
-
"@stryke/path": "^0.
|
|
165
|
-
"@typescript-eslint/utils": "^8.
|
|
80
|
+
"@stryke/fs": "^0.33.85",
|
|
81
|
+
"@stryke/path": "^0.29.11",
|
|
82
|
+
"@typescript-eslint/utils": "^8.60.1",
|
|
166
83
|
"defu": "^6.1.7",
|
|
167
|
-
"@storm-software/testing-tools": "^1.119.
|
|
168
|
-
"powerlines": "^0.47.
|
|
84
|
+
"@storm-software/testing-tools": "^1.119.193",
|
|
85
|
+
"powerlines": "^0.47.126"
|
|
169
86
|
},
|
|
170
87
|
"devDependencies": {
|
|
171
|
-
"@eslint/compat": "^2.0
|
|
88
|
+
"@eslint/compat": "^2.1.0",
|
|
172
89
|
"@eslint/config-inspector": "^1.5.0",
|
|
173
|
-
"@powerlines/plugin-tsdown": "^0.1.
|
|
174
|
-
"@storm-software/testing-tools": "^1.119.
|
|
90
|
+
"@powerlines/plugin-tsdown": "^0.1.527",
|
|
91
|
+
"@storm-software/testing-tools": "^1.119.193",
|
|
175
92
|
"@types/eslint": "^9.6.1",
|
|
176
93
|
"@types/eslint__js": "^9.14.0",
|
|
177
|
-
"@types/node": "^25.
|
|
94
|
+
"@types/node": "^25.9.1",
|
|
178
95
|
"eslint": "^9.39.4",
|
|
179
|
-
"eslint-doc-generator": "^3.
|
|
96
|
+
"eslint-doc-generator": "^3.6.0",
|
|
180
97
|
"eslint-flat-config-utils": "^2.1.4",
|
|
181
|
-
"eslint-plugin-eslint-plugin": "^7.
|
|
98
|
+
"eslint-plugin-eslint-plugin": "^7.4.0",
|
|
182
99
|
"eslint-plugin-i18n-text": "^1.0.1",
|
|
183
100
|
"eslint-rule-documentation": "^1.0.23",
|
|
184
101
|
"eslint-typegen": "^2.3.1",
|
|
185
|
-
"powerlines": "^0.47.
|
|
102
|
+
"powerlines": "^0.47.126"
|
|
186
103
|
},
|
|
187
104
|
"peerDependencies": { "eslint": ">=9.39.3" },
|
|
188
105
|
"peerDependenciesMeta": { "eslint": { "optional": false } },
|
|
@@ -217,5 +134,5 @@
|
|
|
217
134
|
"./package.json": "./package.json"
|
|
218
135
|
}
|
|
219
136
|
},
|
|
220
|
-
"gitHead": "
|
|
137
|
+
"gitHead": "3c10901dd3fbbc3c9d6d1a3373f01cc5f56d3321"
|
|
221
138
|
}
|