@longzai-intelligence/eslint-preset-base 0.0.1
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 +71 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +23 -0
- package/dist/index.d.mts +23 -0
- package/dist/index.mjs +1 -0
- package/package.json +69 -0
package/README.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# @longzai-intelligence/eslint-preset-base
|
|
2
|
+
|
|
3
|
+
ESLint 基础预设包,提供所有其他预设的基础配置。
|
|
4
|
+
|
|
5
|
+
## 安装
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
bun add @longzai-intelligence/eslint-preset-base
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 功能
|
|
12
|
+
|
|
13
|
+
- ESLint 推荐规则
|
|
14
|
+
- TypeScript 推荐规则
|
|
15
|
+
- Prettier 集成
|
|
16
|
+
- 忽略模式配置
|
|
17
|
+
- 代码风格规则(Stylistic)
|
|
18
|
+
- 现代 JavaScript 最佳实践(Unicorn)
|
|
19
|
+
- TSDoc 语法验证
|
|
20
|
+
|
|
21
|
+
## 使用
|
|
22
|
+
|
|
23
|
+
### 基本使用
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
import { createBasePreset } from '@longzai-intelligence/eslint-preset-base';
|
|
27
|
+
|
|
28
|
+
export default createBasePreset();
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 自定义配置
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
import { createBasePreset } from '@longzai-intelligence/eslint-preset-base';
|
|
35
|
+
|
|
36
|
+
export default createBasePreset({
|
|
37
|
+
tsconfigRootDir: '/path/to/project',
|
|
38
|
+
});
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## API
|
|
42
|
+
|
|
43
|
+
### createBasePreset(options?)
|
|
44
|
+
|
|
45
|
+
创建基础预设配置。
|
|
46
|
+
|
|
47
|
+
**参数:**
|
|
48
|
+
- `options.tsconfigRootDir` - TypeScript 配置文件的根目录路径
|
|
49
|
+
- `options.skipSourceFilesConfig` - 是否跳过源码文件配置
|
|
50
|
+
|
|
51
|
+
**返回:**
|
|
52
|
+
- `Linter.Config[]` - ESLint 配置数组
|
|
53
|
+
|
|
54
|
+
## 依赖
|
|
55
|
+
|
|
56
|
+
### 必须的 peerDependencies
|
|
57
|
+
|
|
58
|
+
- `eslint` ^10.0.0
|
|
59
|
+
- `typescript` ^5.9.3
|
|
60
|
+
- `@eslint/js` ^10.0.1
|
|
61
|
+
- `typescript-eslint` ^8.58.0
|
|
62
|
+
- `@stylistic/eslint-plugin` ^5.10.0
|
|
63
|
+
- `eslint-config-prettier` ^10.1.8
|
|
64
|
+
- `eslint-plugin-prettier` ^5.5.5
|
|
65
|
+
- `globals` ^17.4.0
|
|
66
|
+
- `eslint-plugin-unicorn` ^64.0.0
|
|
67
|
+
- `eslint-plugin-tsdoc` ^0.5.2
|
|
68
|
+
|
|
69
|
+
## 许可证
|
|
70
|
+
|
|
71
|
+
UNLICENSED
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`@eslint/js`);c=s(c);let l=require(`typescript-eslint`);l=s(l);let u=require(`@longzai-intelligence/eslint-core`),d=require(`@stylistic/eslint-plugin`);d=s(d);let f=require(`eslint-plugin-unicorn`);f=s(f);let p=require(`eslint-plugin-tsdoc`);p=s(p);let m=require(`eslint-plugin-prettier/recommended`);m=s(m);function h(){return{plugins:{"@stylistic":d.default},rules:{"@stylistic/multiline-comment-style":[`error`,`starred-block`]}}}function g(){return{plugins:{unicorn:f.default},rules:{"unicorn/prefer-node-protocol":`error`,"unicorn/prefer-top-level-await":`warn`}}}function _(){return{plugins:{tsdoc:p.default},rules:{"tsdoc/syntax":`warn`}}}function v(){return m.default}function y(){return{ignores:[...u.GLOBAL_IGNORE_PATTERNS]}}function b(e){return{projectService:!0,tsconfigRootDir:e,warnOnUnsupportedTypeScriptVersion:!1}}function x(e={}){let t=(0,u.resolveTsconfigRootDir)(e);return[y(),c.default.configs.recommended,...l.default.configs.recommended,v(),g(),h(),_(),{languageOptions:{parserOptions:b(t)}}]}const S=x();exports.basePreset=S,exports.createBasePreset=x,exports.createPrettierConfig=v,exports.createStylisticConfig=h,exports.createTsdocConfig=_,exports.createUnicornConfig=g;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Linter } from "eslint";
|
|
2
|
+
import { BaseConfigOptions } from "@longzai-intelligence/eslint-core";
|
|
3
|
+
|
|
4
|
+
//#region src/base.types.d.ts
|
|
5
|
+
type BasePresetOptions = BaseConfigOptions;
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/base.preset.d.ts
|
|
8
|
+
declare function createBasePreset(options?: BasePresetOptions): Linter.Config[];
|
|
9
|
+
declare const basePreset: Linter.Config[];
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/plugins/stylistic.config.d.ts
|
|
12
|
+
declare function createStylisticConfig(): Linter.Config;
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/plugins/unicorn.config.d.ts
|
|
15
|
+
declare function createUnicornConfig(): Linter.Config;
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/plugins/tsdoc.config.d.ts
|
|
18
|
+
declare function createTsdocConfig(): Linter.Config;
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/plugins/prettier.config.d.ts
|
|
21
|
+
declare function createPrettierConfig(): Linter.Config;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { type BasePresetOptions, basePreset, createBasePreset, createPrettierConfig, createStylisticConfig, createTsdocConfig, createUnicornConfig };
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BaseConfigOptions } from "@longzai-intelligence/eslint-core";
|
|
2
|
+
import { Linter } from "eslint";
|
|
3
|
+
|
|
4
|
+
//#region src/base.types.d.ts
|
|
5
|
+
type BasePresetOptions = BaseConfigOptions;
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/base.preset.d.ts
|
|
8
|
+
declare function createBasePreset(options?: BasePresetOptions): Linter.Config[];
|
|
9
|
+
declare const basePreset: Linter.Config[];
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/plugins/stylistic.config.d.ts
|
|
12
|
+
declare function createStylisticConfig(): Linter.Config;
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/plugins/unicorn.config.d.ts
|
|
15
|
+
declare function createUnicornConfig(): Linter.Config;
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/plugins/tsdoc.config.d.ts
|
|
18
|
+
declare function createTsdocConfig(): Linter.Config;
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/plugins/prettier.config.d.ts
|
|
21
|
+
declare function createPrettierConfig(): Linter.Config;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { type BasePresetOptions, basePreset, createBasePreset, createPrettierConfig, createStylisticConfig, createTsdocConfig, createUnicornConfig };
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"@eslint/js";import t from"typescript-eslint";import{GLOBAL_IGNORE_PATTERNS as n,resolveTsconfigRootDir as r}from"@longzai-intelligence/eslint-core";import i from"@stylistic/eslint-plugin";import a from"eslint-plugin-unicorn";import o from"eslint-plugin-tsdoc";import s from"eslint-plugin-prettier/recommended";function c(){return{plugins:{"@stylistic":i},rules:{"@stylistic/multiline-comment-style":[`error`,`starred-block`]}}}function l(){return{plugins:{unicorn:a},rules:{"unicorn/prefer-node-protocol":`error`,"unicorn/prefer-top-level-await":`warn`}}}function u(){return{plugins:{tsdoc:o},rules:{"tsdoc/syntax":`warn`}}}function d(){return s}function f(){return{ignores:[...n]}}function p(e){return{projectService:!0,tsconfigRootDir:e,warnOnUnsupportedTypeScriptVersion:!1}}function m(n={}){let i=r(n);return[f(),e.configs.recommended,...t.configs.recommended,d(),l(),c(),u(),{languageOptions:{parserOptions:p(i)}}]}const h=m();export{h as basePreset,m as createBasePreset,d as createPrettierConfig,c as createStylisticConfig,u as createTsdocConfig,l as createUnicornConfig};
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@longzai-intelligence/eslint-preset-base",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.cjs",
|
|
6
|
+
"types": "./dist/index.d.mts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": {
|
|
10
|
+
"import": "./dist/index.d.mts",
|
|
11
|
+
"require": "./dist/index.d.cts"
|
|
12
|
+
},
|
|
13
|
+
"import": "./dist/index.mjs",
|
|
14
|
+
"require": "./dist/index.cjs"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsdown",
|
|
22
|
+
"build:prod": "NODE_ENV=production tsdown",
|
|
23
|
+
"prepublishOnly": "bun run build:prod",
|
|
24
|
+
"dev": "tsdown --watch",
|
|
25
|
+
"clean": "rimraf dist tsconfig/.cache",
|
|
26
|
+
"test": "vitest run",
|
|
27
|
+
"test:watch": "vitest",
|
|
28
|
+
"test:coverage": "vitest run --coverage",
|
|
29
|
+
"lint": "eslint .",
|
|
30
|
+
"lint:fix": "eslint . --fix",
|
|
31
|
+
"typecheck": "bun run typecheck:app && bun run typecheck:node && bun run typecheck:test",
|
|
32
|
+
"typecheck:app": "tsc --noEmit -p tsconfig/app.json",
|
|
33
|
+
"typecheck:node": "tsc --noEmit -p tsconfig/node.json",
|
|
34
|
+
"typecheck:test": "tsc --noEmit -p tsconfig/test.json"
|
|
35
|
+
},
|
|
36
|
+
"peerDependencies": {
|
|
37
|
+
"eslint": "^10.0.0",
|
|
38
|
+
"typescript": "^5.9.3",
|
|
39
|
+
"@eslint/js": "^10.0.1",
|
|
40
|
+
"typescript-eslint": "^8.58.0",
|
|
41
|
+
"@stylistic/eslint-plugin": "^5.10.0",
|
|
42
|
+
"eslint-config-prettier": "^10.1.8",
|
|
43
|
+
"eslint-plugin-prettier": "^5.5.5",
|
|
44
|
+
"globals": "^17.4.0",
|
|
45
|
+
"eslint-plugin-unicorn": "^64.0.0",
|
|
46
|
+
"eslint-plugin-tsdoc": "^0.5.2"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"@longzai-intelligence/eslint-core": "0.0.1"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@longzai-intelligence/tsdown-config": "0.0.1",
|
|
53
|
+
"@longzai-intelligence/typescript-config": "0.0.2",
|
|
54
|
+
"@longzai-intelligence/vitest-config": "0.0.3",
|
|
55
|
+
"@types/node": "^25.5.2",
|
|
56
|
+
"eslint": "^10.2.0",
|
|
57
|
+
"rimraf": "^6.1.3",
|
|
58
|
+
"tsdown": "^0.21.7",
|
|
59
|
+
"typescript": "^6.0.2",
|
|
60
|
+
"vitest": "^4.1.2"
|
|
61
|
+
},
|
|
62
|
+
"keywords": [
|
|
63
|
+
"eslint",
|
|
64
|
+
"preset",
|
|
65
|
+
"base"
|
|
66
|
+
],
|
|
67
|
+
"license": "UNLICENSED",
|
|
68
|
+
"module": "./dist/index.mjs"
|
|
69
|
+
}
|