@longzai-intelligence-oxlint/vitest-config-plugin 0.1.42 → 0.1.44
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/index.js +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineRule as e,eslintCompatPlugin as t}from"@oxlint/plugins";const n=[],r=[],i=[],a=[];function o(e){if(typeof e!=`object`||!e)return!1;if(`configPackagePaths`in e){let t=Object.getOwnPropertyDescriptor(e,`configPackagePaths`)?.value;if(t!==void 0&&!Array.isArray(t))return!1}if(`allowedExportNames`in e){let t=Object.getOwnPropertyDescriptor(e,`allowedExportNames`)?.value;if(t!==void 0&&!Array.isArray(t))return!1}if(`forbiddenExportNames`in e){let t=Object.getOwnPropertyDescriptor(e,`forbiddenExportNames`)?.value;if(t!==void 0&&!Array.isArray(t))return!1}if(`excludedPaths`in e){let t=Object.getOwnPropertyDescriptor(e,`excludedPaths`)?.value;if(t!==void 0&&!Array.isArray(t))return!1}return!0}function s(e){let t=Array.isArray(e)?e[0]:e;return o(t)?{configPackagePaths:t.configPackagePaths??n,allowedExportNames:t.allowedExportNames??r,forbiddenExportNames:t.forbiddenExportNames??i,excludedPaths:t.excludedPaths??a}:{configPackagePaths:n,allowedExportNames:r,forbiddenExportNames:i,excludedPaths:a}}function c(e){return e.replace(/\\/g,`/`).endsWith(`/vitest.config.ts`)}function l(e,t){return t.some(t=>e.includes(t))}function u(e){if(typeof e!=`object`||!e||!(`type`in e)||!(`callee`in e)||Object.getOwnPropertyDescriptor(e,`type`)?.value!==`CallExpression`)return null;let t=Object.getOwnPropertyDescriptor(e,`callee`)?.value;if(typeof t!=`object`||!t)return null;let n=Object.getOwnPropertyDescriptor(t,`type`)?.value,r=Object.getOwnPropertyDescriptor(t,`name`)?.value;return{type:`CallExpression`,callee:{type:typeof n==`string`?n:``,name:typeof r==`string`?r:void 0}}}function d(e){return typeof e==`object`&&!!e&&`type`in e&&Object.getOwnPropertyDescriptor(e,`type`)?.value===`ObjectExpression`}function f(){return{hasValidImport:!1,hasForbiddenImport:!1,hasExportDefault:!1,forbiddenImportName:``}}function p(e){return e.source.type===`Literal`&&typeof e.source.value==`string`?e.source.value:null}function m(e){return e.imported?.type===`Identifier`?e.imported.name??null:null}function h(e){return`必须使用共享配置函数(${e.allowedExportNames.join(`, `)})从 ${e.configPackagePaths.join(` 或 `)} 导入`}function g(e,t,n){c(t)?(e.resolvedOptions=s(n),l(t,e.resolvedOptions.excludedPaths)?e.isActive=!1:(e.isActive=!0,e.state.hasValidImport=!1,e.state.hasForbiddenImport=!1,e.state.hasExportDefault=!1,e.state.forbiddenImportName=``)):e.isActive=!1}function _(e,t,n){if(e.isActive&&e.resolvedOptions&&t)for(let r of n){if(r.type!==`ImportSpecifier`)continue;let n=m(r);n&&(t===`vitest`&&e.resolvedOptions.forbiddenExportNames.includes(n)?(e.state.hasForbiddenImport=!0,e.state.forbiddenImportName=n):e.resolvedOptions.configPackagePaths.includes(t)&&e.resolvedOptions.allowedExportNames.includes(n)&&(e.state.hasValidImport=!0))}}function v(e,t,n){if(!e.isActive||!e.resolvedOptions)return;if(e.state.hasExportDefault=!0,e.state.hasForbiddenImport){n(`禁止从 vitest 包导入 "${e.state.forbiddenImportName}"。应使用共享配置函数(${e.resolvedOptions.allowedExportNames.join(`, `)})从 ${e.resolvedOptions.configPackagePaths.join(` 或 `)} 导入`);return}let r=u(t);r?r.callee.type===`Identifier`&&r.callee.name&&!e.resolvedOptions.allowedExportNames.includes(r.callee.name)&&!e.state.hasValidImport&&n(h(e.resolvedOptions)):d(t)&&(e.state.hasValidImport||n(h(e.resolvedOptions)))}function y(e,t){e.isActive&&e.resolvedOptions&&(e.state.hasExportDefault||t(`vitest.config.ts 必须使用共享配置函数(${e.resolvedOptions.allowedExportNames.join(`, `)})从 ${e.resolvedOptions.configPackagePaths.join(` 或 `)} 导入`))}const b=e({meta:{type:`problem`,docs:{description:`强制执行 vitest.config.ts 文件中的配置导入规范,必须使用共享配置函数`},schema:[{type:`object`,properties:{configPackagePaths:{type:`array`,items:{type:`string`}},allowedExportNames:{type:`array`,items:{type:`string`}},forbiddenExportNames:{type:`array`,items:{type:`string`}},excludedPaths:{type:`array`,items:{type:`string`}}},additionalProperties:!1}]},createOnce(e){let t={resolvedOptions:null,state:f(),isActive:!1};return{Program(n){g(t,e.filename,e.options)},ImportDeclaration(e){_(t,p(e),e.specifiers)},ExportDefaultDeclaration(n){n.type===`ExportDefaultDeclaration`&&n.declaration&&typeof n.declaration==`object`&&v(t,n.declaration,t=>{e.report({node:n,message:t})})},"Program:exit"(n){y(t,t=>{e.report({node:n,message:t})})}}}}),x=t({meta:{name:`@longzai-intelligence-oxlint/vitest-config-plugin`},rules:{"require-vitest-config-import":b}});export{x as default,x as vitestConfigPlugin,b as requireVitestConfigImportRule};
|
|
1
|
+
import{defineRule as e,eslintCompatPlugin as t}from"@oxlint/plugins";const n=[],r=[],i=[],a=[];function o(e){if(typeof e!=`object`||!e)return!1;if(`configPackagePaths`in e){let t=Object.getOwnPropertyDescriptor(e,`configPackagePaths`)?.value;if(t!==void 0&&!Array.isArray(t))return!1}if(`allowedExportNames`in e){let t=Object.getOwnPropertyDescriptor(e,`allowedExportNames`)?.value;if(t!==void 0&&!Array.isArray(t))return!1}if(`forbiddenExportNames`in e){let t=Object.getOwnPropertyDescriptor(e,`forbiddenExportNames`)?.value;if(t!==void 0&&!Array.isArray(t))return!1}if(`excludedPaths`in e){let t=Object.getOwnPropertyDescriptor(e,`excludedPaths`)?.value;if(t!==void 0&&!Array.isArray(t))return!1}return!0}function s(e){let t=Array.isArray(e)?e[0]:e;return o(t)?{configPackagePaths:t.configPackagePaths??n,allowedExportNames:t.allowedExportNames??r,forbiddenExportNames:t.forbiddenExportNames??i,excludedPaths:t.excludedPaths??a}:{configPackagePaths:n,allowedExportNames:r,forbiddenExportNames:i,excludedPaths:a}}function c(e){return e.replace(/\\/g,`/`).endsWith(`/vitest.config.ts`)}function l(e,t){return t.some(t=>e.includes(t))}function u(e){if(typeof e!=`object`||!e||!(`type`in e)||!(`callee`in e)||Object.getOwnPropertyDescriptor(e,`type`)?.value!==`CallExpression`)return null;let t=Object.getOwnPropertyDescriptor(e,`callee`)?.value;if(typeof t!=`object`||!t)return null;let n=Object.getOwnPropertyDescriptor(t,`type`)?.value,r=Object.getOwnPropertyDescriptor(t,`name`)?.value;return{type:`CallExpression`,callee:{type:typeof n==`string`?n:``,name:typeof r==`string`?r:void 0}}}function d(e){return typeof e==`object`&&!!e&&`type`in e&&Object.getOwnPropertyDescriptor(e,`type`)?.value===`ObjectExpression`}function f(){return{hasValidImport:!1,hasForbiddenImport:!1,hasExportDefault:!1,forbiddenImportName:``}}function p(e){return e.source.type===`Literal`&&typeof e.source.value==`string`?e.source.value:null}function m(e){return e.imported?.type===`Identifier`?e.imported.name??null:null}function h(e){return`必须使用共享配置函数(${e.allowedExportNames.join(`, `)})从 ${e.configPackagePaths.join(` 或 `)} 导入`}function g(e,t,n){c(t)?(e.resolvedOptions=s(n),e.resolvedOptions.configPackagePaths.length===0||e.resolvedOptions.allowedExportNames.length===0||l(t,e.resolvedOptions.excludedPaths)?e.isActive=!1:(e.isActive=!0,e.state.hasValidImport=!1,e.state.hasForbiddenImport=!1,e.state.hasExportDefault=!1,e.state.forbiddenImportName=``)):e.isActive=!1}function _(e,t,n){if(e.isActive&&e.resolvedOptions&&t)for(let r of n){if(r.type!==`ImportSpecifier`)continue;let n=m(r);n&&(t===`vitest`&&e.resolvedOptions.forbiddenExportNames.includes(n)?(e.state.hasForbiddenImport=!0,e.state.forbiddenImportName=n):e.resolvedOptions.configPackagePaths.includes(t)&&e.resolvedOptions.allowedExportNames.includes(n)&&(e.state.hasValidImport=!0))}}function v(e,t,n){if(!e.isActive||!e.resolvedOptions)return;if(e.state.hasExportDefault=!0,e.state.hasForbiddenImport){n(`禁止从 vitest 包导入 "${e.state.forbiddenImportName}"。应使用共享配置函数(${e.resolvedOptions.allowedExportNames.join(`, `)})从 ${e.resolvedOptions.configPackagePaths.join(` 或 `)} 导入`);return}let r=u(t);r?r.callee.type===`Identifier`&&r.callee.name&&!e.resolvedOptions.allowedExportNames.includes(r.callee.name)&&!e.state.hasValidImport&&n(h(e.resolvedOptions)):d(t)&&(e.state.hasValidImport||n(h(e.resolvedOptions)))}function y(e,t){e.isActive&&e.resolvedOptions&&(e.state.hasExportDefault||t(`vitest.config.ts 必须使用共享配置函数(${e.resolvedOptions.allowedExportNames.join(`, `)})从 ${e.resolvedOptions.configPackagePaths.join(` 或 `)} 导入`))}const b=e({meta:{type:`problem`,docs:{description:`强制执行 vitest.config.ts 文件中的配置导入规范,必须使用共享配置函数`},schema:[{type:`object`,properties:{configPackagePaths:{type:`array`,items:{type:`string`}},allowedExportNames:{type:`array`,items:{type:`string`}},forbiddenExportNames:{type:`array`,items:{type:`string`}},excludedPaths:{type:`array`,items:{type:`string`}}},additionalProperties:!1}]},createOnce(e){let t={resolvedOptions:null,state:f(),isActive:!1};return{Program(n){g(t,e.filename,e.options)},ImportDeclaration(e){_(t,p(e),e.specifiers)},ExportDefaultDeclaration(n){n.type===`ExportDefaultDeclaration`&&n.declaration&&typeof n.declaration==`object`&&v(t,n.declaration,t=>{e.report({node:n,message:t})})},"Program:exit"(n){y(t,t=>{e.report({node:n,message:t})})}}}}),x=t({meta:{name:`@longzai-intelligence-oxlint/vitest-config-plugin`},rules:{"require-vitest-config-import":b}});export{x as default,x as vitestConfigPlugin,b as requireVitestConfigImportRule};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@longzai-intelligence-oxlint/vitest-config-plugin",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.44",
|
|
4
4
|
"description": "Longzai Intelligence oxlint vitest 配置规则插件",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"config",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"typecheck:test": "lzi-tsgo typecheck tsconfig/test.json"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@longzai-intelligence-oxlint/core": "0.1.
|
|
46
|
+
"@longzai-intelligence-oxlint/core": "0.1.44",
|
|
47
47
|
"@oxlint/plugins": "^1.74.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|