@longzai-intelligence/oxlint-testing 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/dist/index.cjs ADDED
@@ -0,0 +1,2 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e,t=1,n=0){let r=e.split(`
2
+ `),i=t+r.length-1,a=r[r.length-1],o=r.length===1?n+e.length:a?a.length:0;return{type:`Block`,value:e,range:[n,n+e.length],loc:{start:{line:t,column:n},end:{line:i,column:o}}}}function t(){let e=(e,t)=>({range:e,text:t}),t=e=>typeof e==`object`&&!!e&&`range`in e,n=e=>t(e)?e.range??[0,0]:[0,0];return{replaceText:(t,r)=>e(n(t),r),replaceTextRange:(t,n)=>e(t,n),insertTextBefore:(t,r)=>{let i=n(t);return e([i[0],i[0]],r)},insertTextAfter:(t,r)=>{let i=n(t);return e([i[1],i[1]],r)},remove:t=>e(n(t),``),removeRange:t=>e(t,``)}}function n(e,n=``){let r=[],i=e=>typeof e==`object`&&!!e&&`range`in e;return{filename:e,sourceCode:{getText:e=>i(e)?n.slice(e.range[0],e.range[1]):n,text:n},report:e=>{let n={message:e.message,node:e.node,fix:e.fix&&typeof e.fix==`function`?e.fix(t()):e.fix};r.push(n)},getReports:()=>r}}function r(e,t,n=0){return{type:e,id:{name:t,range:[n,n+t.length]}}}exports.createMockComment=e,exports.createMockContext=n,exports.createMockFixer=t,exports.createMockNode=r;
@@ -0,0 +1,90 @@
1
+ //#region src/mocks/comment.mock.d.ts
2
+ type MockComment = {
3
+ type: 'Block' | 'Line' | string;
4
+ value: string;
5
+ range: [number, number];
6
+ loc: {
7
+ start: {
8
+ line: number;
9
+ column: number;
10
+ };
11
+ end: {
12
+ line: number;
13
+ column: number;
14
+ };
15
+ };
16
+ };
17
+ declare function createMockComment(value: string, startLine?: number, startColumn?: number): MockComment;
18
+ //#endregion
19
+ //#region src/mocks/oxlint-context.mock.d.ts
20
+ type MockFix = {
21
+ range: [number, number];
22
+ text: string;
23
+ };
24
+ type MockFixer = {
25
+ replaceText: (node: unknown, text: string) => MockFix;
26
+ replaceTextRange: (range: [number, number], text: string) => MockFix;
27
+ insertTextBefore: (node: unknown, text: string) => MockFix;
28
+ insertTextAfter: (node: unknown, text: string) => MockFix;
29
+ remove: (node: unknown) => MockFix;
30
+ removeRange: (range: [number, number]) => MockFix;
31
+ };
32
+ type MockFixFunction = (fixer: MockFixer) => MockFix;
33
+ type MockReportDescriptor = {
34
+ message: string;
35
+ node: {
36
+ type: string;
37
+ id?: {
38
+ name: string;
39
+ range?: [number, number];
40
+ } | null;
41
+ };
42
+ fix?: MockFixFunction | MockFix | null;
43
+ };
44
+ type MockOxlintContext = {
45
+ filename: string;
46
+ sourceCode: {
47
+ getText: (node?: unknown) => string;
48
+ text: string;
49
+ };
50
+ report: (descriptor: MockReportDescriptor) => void;
51
+ getReports: () => MockReportDescriptor[];
52
+ };
53
+ declare function createMockFixer(): MockFixer;
54
+ declare function createMockContext(filename: string, sourceText?: string): MockOxlintContext;
55
+ type MockNodeIdentifier = {
56
+ name: string;
57
+ range: [number, number];
58
+ };
59
+ type MockNode = {
60
+ type: string;
61
+ id: MockNodeIdentifier;
62
+ };
63
+ declare function createMockNode(type: string, name: string, startRange?: number): MockNode;
64
+ //#endregion
65
+ //#region src/types/config-test.types.d.ts
66
+ type ConfigTestMessage = {
67
+ ruleId: string | null;
68
+ severity: number;
69
+ message: string;
70
+ line: number;
71
+ column: number;
72
+ endLine?: number;
73
+ endColumn?: number;
74
+ };
75
+ type ConfigTestResult = {
76
+ errorCount: number;
77
+ warningCount: number;
78
+ fatalErrorCount: number;
79
+ messages: ConfigTestMessage[];
80
+ passed: boolean;
81
+ filePath: string;
82
+ };
83
+ type ConfigTestOptions = {
84
+ filePath: string;
85
+ ignoreWarnings?: boolean;
86
+ cwd?: string;
87
+ };
88
+ type ConfigValidator = (result: ConfigTestResult) => boolean | string | void;
89
+ //#endregion
90
+ export { type ConfigTestMessage, type ConfigTestOptions, type ConfigTestResult, type ConfigValidator, type MockComment, type MockFix, type MockFixFunction, type MockFixer, type MockOxlintContext, type MockReportDescriptor, createMockComment, createMockContext, createMockFixer, createMockNode };
@@ -0,0 +1,90 @@
1
+ //#region src/mocks/comment.mock.d.ts
2
+ type MockComment = {
3
+ type: 'Block' | 'Line' | string;
4
+ value: string;
5
+ range: [number, number];
6
+ loc: {
7
+ start: {
8
+ line: number;
9
+ column: number;
10
+ };
11
+ end: {
12
+ line: number;
13
+ column: number;
14
+ };
15
+ };
16
+ };
17
+ declare function createMockComment(value: string, startLine?: number, startColumn?: number): MockComment;
18
+ //#endregion
19
+ //#region src/mocks/oxlint-context.mock.d.ts
20
+ type MockFix = {
21
+ range: [number, number];
22
+ text: string;
23
+ };
24
+ type MockFixer = {
25
+ replaceText: (node: unknown, text: string) => MockFix;
26
+ replaceTextRange: (range: [number, number], text: string) => MockFix;
27
+ insertTextBefore: (node: unknown, text: string) => MockFix;
28
+ insertTextAfter: (node: unknown, text: string) => MockFix;
29
+ remove: (node: unknown) => MockFix;
30
+ removeRange: (range: [number, number]) => MockFix;
31
+ };
32
+ type MockFixFunction = (fixer: MockFixer) => MockFix;
33
+ type MockReportDescriptor = {
34
+ message: string;
35
+ node: {
36
+ type: string;
37
+ id?: {
38
+ name: string;
39
+ range?: [number, number];
40
+ } | null;
41
+ };
42
+ fix?: MockFixFunction | MockFix | null;
43
+ };
44
+ type MockOxlintContext = {
45
+ filename: string;
46
+ sourceCode: {
47
+ getText: (node?: unknown) => string;
48
+ text: string;
49
+ };
50
+ report: (descriptor: MockReportDescriptor) => void;
51
+ getReports: () => MockReportDescriptor[];
52
+ };
53
+ declare function createMockFixer(): MockFixer;
54
+ declare function createMockContext(filename: string, sourceText?: string): MockOxlintContext;
55
+ type MockNodeIdentifier = {
56
+ name: string;
57
+ range: [number, number];
58
+ };
59
+ type MockNode = {
60
+ type: string;
61
+ id: MockNodeIdentifier;
62
+ };
63
+ declare function createMockNode(type: string, name: string, startRange?: number): MockNode;
64
+ //#endregion
65
+ //#region src/types/config-test.types.d.ts
66
+ type ConfigTestMessage = {
67
+ ruleId: string | null;
68
+ severity: number;
69
+ message: string;
70
+ line: number;
71
+ column: number;
72
+ endLine?: number;
73
+ endColumn?: number;
74
+ };
75
+ type ConfigTestResult = {
76
+ errorCount: number;
77
+ warningCount: number;
78
+ fatalErrorCount: number;
79
+ messages: ConfigTestMessage[];
80
+ passed: boolean;
81
+ filePath: string;
82
+ };
83
+ type ConfigTestOptions = {
84
+ filePath: string;
85
+ ignoreWarnings?: boolean;
86
+ cwd?: string;
87
+ };
88
+ type ConfigValidator = (result: ConfigTestResult) => boolean | string | void;
89
+ //#endregion
90
+ export { type ConfigTestMessage, type ConfigTestOptions, type ConfigTestResult, type ConfigValidator, type MockComment, type MockFix, type MockFixFunction, type MockFixer, type MockOxlintContext, type MockReportDescriptor, createMockComment, createMockContext, createMockFixer, createMockNode };
package/dist/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ function e(e,t=1,n=0){let r=e.split(`
2
+ `),i=t+r.length-1,a=r[r.length-1],o=r.length===1?n+e.length:a?a.length:0;return{type:`Block`,value:e,range:[n,n+e.length],loc:{start:{line:t,column:n},end:{line:i,column:o}}}}function t(){let e=(e,t)=>({range:e,text:t}),t=e=>typeof e==`object`&&!!e&&`range`in e,n=e=>t(e)?e.range??[0,0]:[0,0];return{replaceText:(t,r)=>e(n(t),r),replaceTextRange:(t,n)=>e(t,n),insertTextBefore:(t,r)=>{let i=n(t);return e([i[0],i[0]],r)},insertTextAfter:(t,r)=>{let i=n(t);return e([i[1],i[1]],r)},remove:t=>e(n(t),``),removeRange:t=>e(t,``)}}function n(e,n=``){let r=[],i=e=>typeof e==`object`&&!!e&&`range`in e;return{filename:e,sourceCode:{getText:e=>i(e)?n.slice(e.range[0],e.range[1]):n,text:n},report:e=>{let n={message:e.message,node:e.node,fix:e.fix&&typeof e.fix==`function`?e.fix(t()):e.fix};r.push(n)},getReports:()=>r}}function r(e,t,n=0){return{type:e,id:{name:t,range:[n,n+t.length]}}}export{e as createMockComment,n as createMockContext,t as createMockFixer,r as createMockNode};
package/package.json ADDED
@@ -0,0 +1,74 @@
1
+ {
2
+ "name": "@longzai-intelligence/oxlint-testing",
3
+ "version": "0.0.1",
4
+ "license": "UNLICENSED",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "type": "module",
9
+ "main": "./dist/index.cjs",
10
+ "module": "./dist/index.mjs",
11
+ "types": "./dist/index.d.mts",
12
+ "exports": {
13
+ ".": {
14
+ "types": {
15
+ "import": "./dist/index.d.mts",
16
+ "require": "./dist/index.d.cts"
17
+ },
18
+ "import": "./dist/index.mjs",
19
+ "require": "./dist/index.cjs"
20
+ }
21
+ },
22
+ "scripts": {
23
+ "build": "tsdown",
24
+ "build:prod": "NODE_ENV=production tsdown",
25
+ "prepublishOnly": "bun run build:prod",
26
+ "dev": "tsdown --watch",
27
+ "clean": "rimraf dist tsconfig/.cache",
28
+ "test": "vitest run",
29
+ "test:watch": "vitest",
30
+ "test:coverage": "vitest run --coverage",
31
+ "lint": "bun run lint:oxlint",
32
+ "lint:oxlint": "oxlint",
33
+ "lint:eslint": "eslint .",
34
+ "lint:fix": "bun run oxc:fix",
35
+ "lint:fix:oxlint": "oxlint --fix",
36
+ "lint:fix:eslint": "eslint . --fix",
37
+ "typecheck": "bun run typecheck:app && bun run typecheck:node && bun run typecheck:test",
38
+ "typecheck:app": "tsc --noEmit -p tsconfig/app.json",
39
+ "typecheck:node": "tsc --noEmit -p tsconfig/node.json",
40
+ "typecheck:test": "tsc --noEmit -p tsconfig/test.json",
41
+ "lint:file": "bun run lint:file:oxlint",
42
+ "lint:file:oxlint": "oxlint",
43
+ "lint:file:eslint": "eslint",
44
+ "fmt": "oxfmt",
45
+ "fmt:check": "oxfmt --check",
46
+ "oxc": "bun run lint:oxlint && bun run fmt:check",
47
+ "oxc:fix": "bun run lint:fix:oxlint && bun run fmt"
48
+ },
49
+ "dependencies": {
50
+ "@oxlint/plugins": "^1.64.0"
51
+ },
52
+ "devDependencies": {
53
+ "@longzai-intelligence/eslint-preset-library": "0.2.13",
54
+ "@longzai-intelligence/oxlint-config": "0.0.1",
55
+ "@longzai-intelligence/oxlint-plugin-architecture": "0.0.1",
56
+ "@longzai-intelligence/oxlint-plugin-code-style": "0.0.1",
57
+ "@longzai-intelligence/oxlint-plugin-package-json": "0.0.1",
58
+ "@longzai-intelligence/oxlint-plugin-perfectionist": "0.0.1",
59
+ "@longzai-intelligence/oxlint-plugin-schema-type-separation": "0.0.1",
60
+ "@longzai-intelligence/oxlint-plugin-stylistic": "0.0.1",
61
+ "@longzai-intelligence/oxlint-plugin-tsdoc": "0.0.1",
62
+ "@longzai-intelligence/oxlint-plugin-typescript-eslint": "0.0.1",
63
+ "@longzai-intelligence/oxlint-plugin-zod": "0.0.1",
64
+ "@longzai-intelligence/tsdown-config": "0.0.1",
65
+ "@longzai-intelligence/typescript-config": "0.0.3",
66
+ "@longzai-intelligence/vitest-config": "0.0.10",
67
+ "@types/node": "^25.7.0",
68
+ "oxlint": "^1.64.0",
69
+ "rimraf": "^6.1.3",
70
+ "tsdown": "^0.21.10",
71
+ "typescript": "^6.0.3",
72
+ "vitest": "^4.1.6"
73
+ }
74
+ }