@effect-app/eslint-codegen-model 0.7.0
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/.tsbuildinfo +1 -0
- package/dist/compiler.d.ts +3 -0
- package/dist/compiler.d.ts.map +1 -0
- package/dist/compiler.js +244 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/presets/barrel.d.ts +39 -0
- package/dist/presets/barrel.d.ts.map +1 -0
- package/dist/presets/barrel.js +143 -0
- package/dist/presets/index.d.ts +3 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +20 -0
- package/dist/presets/model.d.ts +5 -0
- package/dist/presets/model.d.ts.map +1 -0
- package/dist/presets/model.js +126 -0
- package/index.js +2 -0
- package/package.json +38 -0
- package/src/compiler.ts +235 -0
- package/src/index.ts +3 -0
- package/src/presets/barrel.ts +150 -0
- package/src/presets/index.ts +4 -0
- package/src/presets/model.ts +114 -0
- package/tsconfig.json +94 -0
- package/tsconfig.json.bak +16 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// codegen:start {preset: barrel, include: ./*/, nodir: false }
|
|
18
|
+
__exportStar(require("./presets"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtEQUErRDtBQUMvRCw0Q0FBMEIifQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Preset } from 'eslint-plugin-codegen';
|
|
2
|
+
/**
|
|
3
|
+
* Bundle several modules into a single convenient one.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* // codegen:start {preset: barrel, include: some/path/*.ts, exclude: some/path/*util.ts}
|
|
7
|
+
* export * from './some/path/module-a'
|
|
8
|
+
* export * from './some/path/module-b'
|
|
9
|
+
* export * from './some/path/module-c'
|
|
10
|
+
* // codegen:end
|
|
11
|
+
*
|
|
12
|
+
* @param include
|
|
13
|
+
* [optional] If specified, the barrel will only include file paths that match this glob pattern
|
|
14
|
+
* @param exclude
|
|
15
|
+
* [optional] If specified, the barrel will exclude file paths that match these glob patterns
|
|
16
|
+
* @param import
|
|
17
|
+
* [optional] If specified, matching files will be imported and re-exported rather than directly exported
|
|
18
|
+
* with `export * from './xyz'`. Use `import: star` for `import * as xyz from './xyz'` style imports.
|
|
19
|
+
* Use `import: default` for `import xyz from './xyz'` style imports.
|
|
20
|
+
* @param export
|
|
21
|
+
* [optional] Only valid if the import style has been specified (either `import: star` or `import: default`).
|
|
22
|
+
* If specified, matching modules will be bundled into a const or default export based on this name. If set
|
|
23
|
+
* to `{name: someName, keys: path}` the relative file paths will be used as keys. Otherwise the file paths
|
|
24
|
+
* will be camel-cased to make them valid js identifiers.
|
|
25
|
+
*/
|
|
26
|
+
export declare const barrel: Preset<{
|
|
27
|
+
include?: string;
|
|
28
|
+
exclude?: string | string[];
|
|
29
|
+
import?: 'default' | 'star';
|
|
30
|
+
export?: string | {
|
|
31
|
+
name: string;
|
|
32
|
+
keys: 'path' | 'camelCase';
|
|
33
|
+
} | {
|
|
34
|
+
as: 'PascalCase';
|
|
35
|
+
postfix?: string;
|
|
36
|
+
};
|
|
37
|
+
nodir?: boolean;
|
|
38
|
+
}>;
|
|
39
|
+
//# sourceMappingURL=barrel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barrel.d.ts","sourceRoot":"","sources":["../../src/presets/barrel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAMpD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,EACH,MAAM,GACN;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,GAC5C;QAAE,EAAE,EAAE,YAAY,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CA4GA,CAAC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.barrel = void 0;
|
|
30
|
+
const generator_1 = __importDefault(require("@babel/generator"));
|
|
31
|
+
const parser_1 = require("@babel/parser");
|
|
32
|
+
const glob = __importStar(require("glob"));
|
|
33
|
+
const io_ts_extra_1 = require("io-ts-extra");
|
|
34
|
+
const lodash = __importStar(require("lodash"));
|
|
35
|
+
const path = __importStar(require("path"));
|
|
36
|
+
/**
|
|
37
|
+
* Bundle several modules into a single convenient one.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* // codegen:start {preset: barrel, include: some/path/*.ts, exclude: some/path/*util.ts}
|
|
41
|
+
* export * from './some/path/module-a'
|
|
42
|
+
* export * from './some/path/module-b'
|
|
43
|
+
* export * from './some/path/module-c'
|
|
44
|
+
* // codegen:end
|
|
45
|
+
*
|
|
46
|
+
* @param include
|
|
47
|
+
* [optional] If specified, the barrel will only include file paths that match this glob pattern
|
|
48
|
+
* @param exclude
|
|
49
|
+
* [optional] If specified, the barrel will exclude file paths that match these glob patterns
|
|
50
|
+
* @param import
|
|
51
|
+
* [optional] If specified, matching files will be imported and re-exported rather than directly exported
|
|
52
|
+
* with `export * from './xyz'`. Use `import: star` for `import * as xyz from './xyz'` style imports.
|
|
53
|
+
* Use `import: default` for `import xyz from './xyz'` style imports.
|
|
54
|
+
* @param export
|
|
55
|
+
* [optional] Only valid if the import style has been specified (either `import: star` or `import: default`).
|
|
56
|
+
* If specified, matching modules will be bundled into a const or default export based on this name. If set
|
|
57
|
+
* to `{name: someName, keys: path}` the relative file paths will be used as keys. Otherwise the file paths
|
|
58
|
+
* will be camel-cased to make them valid js identifiers.
|
|
59
|
+
*/
|
|
60
|
+
const barrel = ({ meta, options: opts }) => {
|
|
61
|
+
var _a;
|
|
62
|
+
const cwd = path.dirname(meta.filename);
|
|
63
|
+
const nodir = (_a = opts.nodir) !== null && _a !== void 0 ? _a : true;
|
|
64
|
+
const ext = meta.filename.split('.').slice(-1)[0];
|
|
65
|
+
const pattern = opts.include || `*.${ext}`;
|
|
66
|
+
const relativeFiles = glob
|
|
67
|
+
.sync(pattern, { cwd, ignore: opts.exclude, nodir })
|
|
68
|
+
.filter((f) => path.resolve(cwd, f) !== path.resolve(meta.filename))
|
|
69
|
+
.map((f) => `./${f}`.replace(/(\.\/)+\./g, '.'))
|
|
70
|
+
.filter((file) => nodir
|
|
71
|
+
? ['.js', '.mjs', '.ts', '.tsx'].includes(path.extname(file))
|
|
72
|
+
: true)
|
|
73
|
+
.map((f) => f.replace(/\.\w+$/, '').replace(/\/$/, ''));
|
|
74
|
+
function last(list) {
|
|
75
|
+
return list[list.length - 1];
|
|
76
|
+
}
|
|
77
|
+
const expectedContent = (0, io_ts_extra_1.match)(opts.import)
|
|
78
|
+
.case(undefined, () => (0, io_ts_extra_1.match)(opts.export)
|
|
79
|
+
.case({ as: 'PascalCase' }, (v) => lodash
|
|
80
|
+
.chain(relativeFiles)
|
|
81
|
+
.map((f) => `export * as ${lodash
|
|
82
|
+
.startCase(lodash.camelCase(last(f.split("/"))))
|
|
83
|
+
.replace(/ /g, "") // why?
|
|
84
|
+
.replace(/\//, '')}${"postfix" in v ? v.postfix : ''} from '${f}.js'`)
|
|
85
|
+
.value()
|
|
86
|
+
.join('\n'))
|
|
87
|
+
.default(() => {
|
|
88
|
+
return relativeFiles.map((f) => `export * from '${f}.js'`).join('\n');
|
|
89
|
+
})
|
|
90
|
+
.get())
|
|
91
|
+
.case(String, (s) => {
|
|
92
|
+
const importPrefix = s === 'default' ? '' : '* as ';
|
|
93
|
+
const withIdentifiers = lodash
|
|
94
|
+
.chain(relativeFiles)
|
|
95
|
+
.map((f) => ({
|
|
96
|
+
file: f,
|
|
97
|
+
identifier: lodash
|
|
98
|
+
.camelCase(f)
|
|
99
|
+
.replace(/^([^a-z])/, '_$1')
|
|
100
|
+
.replace(/Index$/, ''),
|
|
101
|
+
}))
|
|
102
|
+
.groupBy((info) => info.identifier)
|
|
103
|
+
.values()
|
|
104
|
+
.flatMap((group) => group.length === 1
|
|
105
|
+
? group
|
|
106
|
+
: group.map((info, i) => ({
|
|
107
|
+
...info,
|
|
108
|
+
identifier: `${info.identifier}_${i + 1}`,
|
|
109
|
+
})))
|
|
110
|
+
.value();
|
|
111
|
+
const imports = withIdentifiers
|
|
112
|
+
.map((i) => `import ${importPrefix}${i.identifier} from '${i.file}.js'`)
|
|
113
|
+
.join('\n');
|
|
114
|
+
const exportProps = (0, io_ts_extra_1.match)(opts.export)
|
|
115
|
+
.case({ name: String, keys: 'path' }, () => withIdentifiers.map((i) => `${JSON.stringify(i.file)}: ${i.identifier}`))
|
|
116
|
+
.default(() => withIdentifiers.map((i) => i.identifier))
|
|
117
|
+
.get();
|
|
118
|
+
const exportPrefix = (0, io_ts_extra_1.match)(opts.export)
|
|
119
|
+
.case(undefined, () => 'export')
|
|
120
|
+
.case('default', () => 'export default')
|
|
121
|
+
.case({ name: 'default' }, () => 'export default')
|
|
122
|
+
.case(String, (name) => `export const ${name} =`)
|
|
123
|
+
.case({ name: String }, ({ name }) => `export const ${name} =`)
|
|
124
|
+
.default(() => '')
|
|
125
|
+
.get();
|
|
126
|
+
const exports = exportProps.join(',\n ');
|
|
127
|
+
return `${imports}\n\n${exportPrefix} {\n ${exports}\n}\n`;
|
|
128
|
+
})
|
|
129
|
+
.get();
|
|
130
|
+
// ignore stylistic differences. babel generate deals with most
|
|
131
|
+
const normalise = (str) => (0, generator_1.default)((0, parser_1.parse)(str, { sourceType: 'module', plugins: ['typescript'] }))
|
|
132
|
+
.code.replace(/'/g, `"`)
|
|
133
|
+
.replace(/\/index/g, '');
|
|
134
|
+
try {
|
|
135
|
+
if (normalise(expectedContent) === normalise(meta.existingContent)) {
|
|
136
|
+
return meta.existingContent;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
catch (_b) { }
|
|
140
|
+
return expectedContent;
|
|
141
|
+
};
|
|
142
|
+
exports.barrel = barrel;
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFycmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByZXNldHMvYmFycmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUVBQXdDO0FBQ3hDLDBDQUFzQztBQUV0QywyQ0FBNkI7QUFDN0IsNkNBQW9DO0FBQ3BDLCtDQUFpQztBQUNqQywyQ0FBNkI7QUFFN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBQ0ksTUFBTSxNQUFNLEdBU2QsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTs7SUFDL0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsTUFBTSxLQUFLLEdBQUcsTUFBQSxJQUFJLENBQUMsS0FBSyxtQ0FBSSxJQUFJLENBQUM7SUFFakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBRTNDLE1BQU0sYUFBYSxHQUFHLElBQUk7U0FDdkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUNuRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ25FLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// codegen:start {preset: barrel, include: ./*.ts}
|
|
18
|
+
__exportStar(require("./barrel"), exports);
|
|
19
|
+
__exportStar(require("./model"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJlc2V0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQWtEO0FBQ2xELDJDQUF5QjtBQUN6QiwwQ0FBd0IifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/presets/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAsBnD,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAuFA,CAAA"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.model = void 0;
|
|
30
|
+
const generator_1 = __importDefault(require("@babel/generator"));
|
|
31
|
+
const parser_1 = require("@babel/parser");
|
|
32
|
+
const fs = __importStar(require("fs"));
|
|
33
|
+
const compiler_1 = require("../compiler");
|
|
34
|
+
function normalise(str) {
|
|
35
|
+
try {
|
|
36
|
+
return (0, generator_1.default)((0, parser_1.parse)(str, { sourceType: "module", plugins: ["typescript"] }))
|
|
37
|
+
.code;
|
|
38
|
+
// .replace(/'/g, `"`)
|
|
39
|
+
// .replace(/\/index/g, "")
|
|
40
|
+
//.replace(/([\n\s]+ \|)/g, " |").replaceAll(": |", ":")
|
|
41
|
+
//.replaceAll(/[\s\n]+\|/g, " |")
|
|
42
|
+
//.replaceAll("\n", ";")
|
|
43
|
+
//.replaceAll(" ", "")
|
|
44
|
+
// TODO: remove all \n and whitespace?
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
return str;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// TODO: get shared compiler host...
|
|
51
|
+
const utils_1 = require("@typescript-eslint/utils");
|
|
52
|
+
const model = ({ meta }, context) => {
|
|
53
|
+
if (!context.parserOptions.project) {
|
|
54
|
+
console.warn(`${meta.filename}: Cannot run ESLint Model plugin, because no TS Compiler is enabled`);
|
|
55
|
+
return meta.existingContent;
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
// option to exclude some methods
|
|
59
|
+
//const exclude = (options.exclude || "").split(",")
|
|
60
|
+
// checks and reads the file
|
|
61
|
+
const sourcePath = meta.filename;
|
|
62
|
+
if (!fs.existsSync(sourcePath) || !fs.statSync(sourcePath).isFile()) {
|
|
63
|
+
throw Error(`Source path is not a file: ${sourcePath}`);
|
|
64
|
+
}
|
|
65
|
+
// const cfgFile = ts.findConfigFile(sourcePath, (fn) => fs.existsSync(fn))
|
|
66
|
+
// if (!cfgFile) {
|
|
67
|
+
// throw new Error("No TS config file found")
|
|
68
|
+
// }
|
|
69
|
+
// const cfg = ts.readConfigFile(cfgFile, (fn) => fs.readFileSync(fn, "utf-8"))
|
|
70
|
+
// const basePath = path.dirname(cfgFile); // equal to "getDirectoryPath" from ts, at least in our case.
|
|
71
|
+
// const parsedConfig = ts.parseJsonConfigFileContent(cfg.config, ts.sys, basePath);
|
|
72
|
+
// const program = ts.createProgram([sourcePath], parsedConfig.options)
|
|
73
|
+
const { program } = utils_1.ESLintUtils.getParserServices(context);
|
|
74
|
+
//console.log("$$ processing", sourcePath)
|
|
75
|
+
// create and parse the AST
|
|
76
|
+
const sourceFile = program.getSourceFile(sourcePath);
|
|
77
|
+
// collect data-first declarations
|
|
78
|
+
// const dataFirstDeclarations = sourceFile.statements
|
|
79
|
+
// .filter(ts.isFunctionDeclaration)
|
|
80
|
+
// // .filter(
|
|
81
|
+
// // (node) =>
|
|
82
|
+
// // node.modifiers &&
|
|
83
|
+
// // node.modifiers.filter(
|
|
84
|
+
// // (modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword
|
|
85
|
+
// // ).length > 0
|
|
86
|
+
// // )
|
|
87
|
+
// // .filter((node) => !!node.name)
|
|
88
|
+
// // .filter((node) => node.parameters.length >= 2)
|
|
89
|
+
// // .filter((node) => node.name!.getText(sourceFile).endsWith("_"))
|
|
90
|
+
// // .map((node) => ({
|
|
91
|
+
// // functionName: node.name!.getText(sourceFile),
|
|
92
|
+
// // typeParameters: node.typeParameters || ts.factory.createNodeArray(),
|
|
93
|
+
// // parameters: node.parameters || ts.factory.createNodeArray(),
|
|
94
|
+
// // type: node.type!,
|
|
95
|
+
// // implemented: !!node.body,
|
|
96
|
+
// // jsDoc: getJSDoc(node)
|
|
97
|
+
// // }))
|
|
98
|
+
// // .filter((decl) => exclude.indexOf(decl.functionName) === -1)
|
|
99
|
+
// // create the actual AST nodes
|
|
100
|
+
// const nodes = dataFirstDeclarations.map(createPipeableFunctionDeclaration)
|
|
101
|
+
// const expectedContent = nodes.map((node) => printNode(node, sourceFile)).join("\n")
|
|
102
|
+
const pn = (0, compiler_1.processNode)(program.getTypeChecker(), sourceFile);
|
|
103
|
+
let abc = [];
|
|
104
|
+
// TODO: must return void, cannot use getChildren() etc, or it wont work, no idea why!
|
|
105
|
+
sourceFile.forEachChild(c => { abc = abc.concat(pn(c)); });
|
|
106
|
+
const expectedContent = [
|
|
107
|
+
"//",
|
|
108
|
+
`/* eslint-disable */`,
|
|
109
|
+
...abc.filter((x) => !!x),
|
|
110
|
+
`/* eslint-enable */`,
|
|
111
|
+
"//"
|
|
112
|
+
].join("\n");
|
|
113
|
+
// do not re-emit in a different style, or a loop will occur
|
|
114
|
+
if (normalise(meta.existingContent) === normalise(expectedContent))
|
|
115
|
+
return meta.existingContent;
|
|
116
|
+
return expectedContent;
|
|
117
|
+
}
|
|
118
|
+
catch (e) {
|
|
119
|
+
return ("/** Got exception: " +
|
|
120
|
+
("stack" in e ? e.stack : "") +
|
|
121
|
+
JSON.stringify(e) +
|
|
122
|
+
"*/");
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
exports.model = model;
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJlc2V0cy9tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlFQUF1QztBQUN2QywwQ0FBcUM7QUFFckMsdUNBQXdCO0FBQ3hCLDBDQUF5QztBQUN6QyxTQUFTLFNBQVMsQ0FBQyxHQUFXO0lBQzVCLElBQUk7UUFDRixPQUFPLElBQUEsbUJBQVEsRUFDYixJQUFBLGNBQUssRUFBQyxHQUFHLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQVEsQ0FDckU7YUFDRSxJQUFJLENBQUE7UUFDTCxzQkFBc0I7UUFDdEIsMkJBQTJCO1FBQzNCLHdEQUF3RDtRQUN4RCxpQ0FBaUM7UUFDakMsd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0QixzQ0FBc0M7S0FDekM7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sR0FBRyxDQUFBO0tBQ1g7QUFDSCxDQUFDO0FBQ0Qsb0NBQW9DO0FBQ3BDLG9EQUFzRDtBQUMvQyxNQUFNLEtBQUssR0FFYixDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBWSxFQUFFLEVBQUU7SUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFO1FBQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxxRUFBcUUsQ0FBQyxDQUFBO1FBQ25HLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQTtLQUM1QjtJQUVELElBQUk7UUFDRixpQ0FBaUM7UUFDakMsb0RBQW9EO1FBRXBELDRCQUE0QjtRQUM1QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNuRSxNQUFNLEtBQUssQ0FBQyw4QkFBOEIsVUFBVSxFQUFFLENBQUMsQ0FBQTtTQUN4RDtRQUNELDJFQUEyRTtRQUMzRSxrQkFBa0I7UUFDbEIsK0NBQStDO1FBQy9DLElBQUk7UUFFSiwrRUFBK0U7UUFDL0Usd0dBQXdHO1FBQ3hHLG9GQUFvRjtRQUVwRix1RUFBdUU7UUFHdkUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLG1CQUFXLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0QsMENBQTBDO1FBRTFDLDJCQUEyQjtRQUMzQixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUN0QyxVQUFVLENBQ1YsQ0FBQTtRQUVGLGtDQUFrQztRQUNsQyxzREFBc0Q7UUFDdEQsc0NBQXNDO1FBQ3RDLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsNkJBQTZCO1FBQzdCLGtDQUFrQztRQUNsQyx5RUFBeUU7UUFDekUsd0JBQXdCO1FBQ3hCLFNBQVM7UUFDVCxzQ0FBc0M7UUFDdEMsc0RBQXNEO1FBQ3RELHVFQUF1RTtRQUN2RSx5QkFBeUI7UUFDekIsdURBQXVEO1FBQ3ZELDhFQUE4RTtRQUM5RSxzRUFBc0U7UUFDdEUsMkJBQTJCO1FBQzNCLG1DQUFtQztRQUNuQywrQkFBK0I7UUFDL0IsV0FBVztRQUNYLG9FQUFvRTtRQUVwRSxpQ0FBaUM7UUFDakMsNkVBQTZFO1FBQzdFLHNGQUFzRjtRQUV0RixNQUFNLEVBQUUsR0FBRyxJQUFBLHNCQUFXLEVBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQzVELElBQUksR0FBRyxHQUE2QixFQUFFLENBQUE7UUFDdEMsd0ZBQXdGO1FBQ3hGLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBO1FBQ3ZELE1BQU0sZUFBZSxHQUFHO1lBQ3RCLElBQUk7WUFDSixzQkFBc0I7WUFDdEIsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxxQkFBcUI7WUFDckIsSUFBSTtTQUNMLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRVosNERBQTREO1FBQzVELElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxTQUFTLENBQUMsZUFBZSxDQUFDO1lBQ2hFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQTtRQUM3QixPQUFPLGVBQWUsQ0FBQTtLQUN2QjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxDQUNMLHFCQUFxQjtZQUNyQixDQUFDLE9BQU8sSUFBSyxDQUFTLENBQUMsQ0FBQyxDQUFFLENBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNqQixJQUFJLENBQ0wsQ0FBQTtLQUNGO0FBQ0gsQ0FBQyxDQUFBO0FBekZZLFFBQUEsS0FBSyxTQXlGakIifQ==
|
package/index.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@effect-app/eslint-codegen-model",
|
|
3
|
+
"description": "Contains eslint helpers",
|
|
4
|
+
"sideEffects": false,
|
|
5
|
+
"version": "0.7.0",
|
|
6
|
+
"dependencies": {
|
|
7
|
+
"@babel/generator": "7.20.7",
|
|
8
|
+
"@babel/parser": "7.20.7",
|
|
9
|
+
"eslint-plugin-codegen": "0.17.0",
|
|
10
|
+
"glob": "8.1.0",
|
|
11
|
+
"io-ts": "2.2.20",
|
|
12
|
+
"io-ts-extra": "0.11.6",
|
|
13
|
+
"js-yaml": "4.1.0",
|
|
14
|
+
"lodash": "4.17.21"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@babel/types": "7.20.7",
|
|
18
|
+
"@types/babel__generator": "7.6.4",
|
|
19
|
+
"@types/babel__traverse": "7.18.3",
|
|
20
|
+
"@types/glob": "8.0.0",
|
|
21
|
+
"@types/lodash": "4.14.191",
|
|
22
|
+
"madge": "5.0.1",
|
|
23
|
+
"ts-node": "10.9.1",
|
|
24
|
+
"typescript": "https://cdn.jsdelivr.net/npm/@tsplus/installer@0.0.164/compiler/typescript.tgz"
|
|
25
|
+
},
|
|
26
|
+
"main": "index.js",
|
|
27
|
+
"author": "Wessel van der Veen & Scott vanBommel",
|
|
28
|
+
"license": "ISC",
|
|
29
|
+
"scripts": {
|
|
30
|
+
"watch": "pnpm build:tsc -w",
|
|
31
|
+
"build:tsc": "pnpm clean-dist && node ../../scripts/package.js && NODE_OPTIONS=--max-old-space-size=6144 tsc --build",
|
|
32
|
+
"build": "tsc",
|
|
33
|
+
"circular": "madge --circular --ts-config ./tsconfig.json --extensions ts ./src",
|
|
34
|
+
"ncu": "ncu",
|
|
35
|
+
"pub": "pnpm prepublish && npm publish --access public",
|
|
36
|
+
"prepublish": "pnpm build && cp -f ./tsconfig.json ./tsconfig.json.bak && node ../../scripts/mergeTsConfig.cjs ./tsconfig.json"
|
|
37
|
+
}
|
|
38
|
+
}
|