@mnaoumov/typescript-dev-toolkit 5.0.0 → 5.2.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/bundlers/esbuild-impl/svelte-preprocessor/package.json +6 -0
- package/dist/lib/cjs/bulk-concurrency.cjs +49 -0
- package/dist/lib/cjs/bulk-concurrency.d.cts +14 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +4 -1
- package/dist/lib/cjs/bundlers/esbuild-impl/index.d.cts +1 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/svelte-preprocessor.cjs +152 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/svelte-preprocessor.d.cts +95 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +4 -3
- package/dist/lib/cjs/bundlers/esbuild-impl/svelte-wrapper-plugin.d.cts +1 -1
- package/dist/lib/cjs/docs-site/docs-links.cjs +3 -2
- package/dist/lib/cjs/docs-site/og-images.cjs +3 -2
- package/dist/lib/cjs/index.cjs +4 -1
- package/dist/lib/cjs/index.d.cts +1 -0
- package/dist/lib/cjs/linters/eslint-config.cjs +2 -1
- package/dist/lib/cjs/linters/eslint-no-restricted-syntax.cjs +5 -1
- package/dist/lib/cjs/linters/eslint-rules/import-fix.cjs +116 -0
- package/dist/lib/cjs/linters/eslint-rules/import-fix.d.cts +49 -0
- package/dist/lib/cjs/linters/eslint-rules/in-house-plugin.cjs +5 -1
- package/dist/lib/cjs/linters/eslint-rules/index.cjs +10 -1
- package/dist/lib/cjs/linters/eslint-rules/index.d.cts +3 -0
- package/dist/lib/cjs/linters/eslint-rules/prefer-dedent.cjs +189 -0
- package/dist/lib/cjs/linters/eslint-rules/prefer-dedent.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint-rules/prefer-noop-async.cjs +57 -3
- package/dist/lib/cjs/linters/eslint-rules/readonly-member-arrays.cjs +130 -0
- package/dist/lib/cjs/linters/eslint-rules/readonly-member-arrays.d.cts +6 -0
- package/dist/lib/cjs/linters/markdownlint.cjs +8 -2
- package/dist/lib/cjs/linters/over-exposure.cjs +14 -3
- package/dist/lib/cjs/linters/over-exposure.d.cts +3 -1
- package/dist/lib/cjs/nano-staged-config.cjs +24 -3
- package/dist/lib/cjs/nano-staged-config.d.cts +4 -0
- package/dist/lib/cjs/test-runners/auto.cjs +1 -1
- package/dist/lib/cjs/test-runners/auto.d.cts +5 -0
- package/dist/lib/cjs/test-runners/forwarded-arguments.cjs +50 -0
- package/dist/lib/cjs/test-runners/forwarded-arguments.d.cts +49 -0
- package/dist/lib/cjs/test-runners/index.cjs +4 -1
- package/dist/lib/cjs/test-runners/index.d.cts +1 -0
- package/dist/lib/cjs/test-runners/jest.cjs +16 -3
- package/dist/lib/cjs/test-runners/jest.d.cts +5 -0
- package/dist/lib/cjs/test-runners/vitest.cjs +111 -5
- package/dist/lib/cjs/test-runners/vitest.d.cts +5 -0
- package/dist/lib/esm/bulk-concurrency.d.mts +14 -0
- package/dist/lib/esm/bulk-concurrency.mjs +15 -0
- package/dist/lib/esm/bundlers/esbuild-impl/index.d.mts +1 -0
- package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +3 -1
- package/dist/lib/esm/bundlers/esbuild-impl/svelte-preprocessor.d.mts +95 -0
- package/dist/lib/esm/bundlers/esbuild-impl/svelte-preprocessor.mjs +126 -0
- package/dist/lib/esm/bundlers/esbuild-impl/svelte-wrapper-plugin.d.mts +1 -1
- package/dist/lib/esm/bundlers/esbuild-impl/svelte-wrapper-plugin.mjs +4 -3
- package/dist/lib/esm/docs-site/docs-links.mjs +3 -2
- package/dist/lib/esm/docs-site/og-images.mjs +3 -2
- package/dist/lib/esm/index.d.mts +1 -0
- package/dist/lib/esm/index.mjs +3 -1
- package/dist/lib/esm/linters/eslint-config.mjs +2 -1
- package/dist/lib/esm/linters/eslint-no-restricted-syntax.mjs +5 -1
- package/dist/lib/esm/linters/eslint-rules/import-fix.d.mts +49 -0
- package/dist/lib/esm/linters/eslint-rules/import-fix.mjs +90 -0
- package/dist/lib/esm/linters/eslint-rules/in-house-plugin.mjs +5 -1
- package/dist/lib/esm/linters/eslint-rules/index.d.mts +3 -0
- package/dist/lib/esm/linters/eslint-rules/index.mjs +7 -1
- package/dist/lib/esm/linters/eslint-rules/prefer-dedent.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/prefer-dedent.mjs +168 -0
- package/dist/lib/esm/linters/eslint-rules/prefer-noop-async.mjs +61 -3
- package/dist/lib/esm/linters/eslint-rules/readonly-member-arrays.d.mts +6 -0
- package/dist/lib/esm/linters/eslint-rules/readonly-member-arrays.mjs +106 -0
- package/dist/lib/esm/linters/markdownlint.mjs +8 -2
- package/dist/lib/esm/linters/over-exposure.d.mts +3 -1
- package/dist/lib/esm/linters/over-exposure.mjs +16 -3
- package/dist/lib/esm/nano-staged-config.d.mts +4 -0
- package/dist/lib/esm/nano-staged-config.mjs +24 -3
- package/dist/lib/esm/test-runners/auto.d.mts +5 -0
- package/dist/lib/esm/test-runners/auto.mjs +1 -1
- package/dist/lib/esm/test-runners/forwarded-arguments.d.mts +49 -0
- package/dist/lib/esm/test-runners/forwarded-arguments.mjs +26 -0
- package/dist/lib/esm/test-runners/index.d.mts +1 -0
- package/dist/lib/esm/test-runners/index.mjs +3 -1
- package/dist/lib/esm/test-runners/jest.d.mts +5 -0
- package/dist/lib/esm/test-runners/jest.mjs +16 -3
- package/dist/lib/esm/test-runners/vitest.d.mts +5 -0
- package/dist/lib/esm/test-runners/vitest.mjs +105 -6
- package/linters/eslint-rules/import-fix/package.json +6 -0
- package/linters/eslint-rules/prefer-dedent/package.json +6 -0
- package/linters/eslint-rules/readonly-member-arrays/package.json +6 -0
- package/package.json +5 -2
- package/test-runners/forwarded-arguments/package.json +6 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
(function () {
|
|
6
|
+
function ensureBrowserProcess() {
|
|
7
|
+
const browserProcess = {
|
|
8
|
+
browser: true,
|
|
9
|
+
cwd() {
|
|
10
|
+
return '/';
|
|
11
|
+
},
|
|
12
|
+
env: {},
|
|
13
|
+
platform: 'android'
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const existingProcess = globalThis.process;
|
|
17
|
+
|
|
18
|
+
if (!existingProcess) {
|
|
19
|
+
globalThis.process = browserProcess;
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (existingProcess.versions?.node) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const existingProcessRecord = existingProcess;
|
|
28
|
+
|
|
29
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
30
|
+
existingProcessRecord[key] ??= value;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
existingProcessRecord['browser'] = true;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
ensureBrowserProcess();
|
|
37
|
+
})();
|
|
38
|
+
|
|
39
|
+
"use strict";
|
|
40
|
+
var __defProp = Object.defineProperty;
|
|
41
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
42
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
43
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
44
|
+
var __export = (target, all) => {
|
|
45
|
+
for (var name in all)
|
|
46
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
47
|
+
};
|
|
48
|
+
var __copyProps = (to, from, except, desc) => {
|
|
49
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
50
|
+
for (let key of __getOwnPropNames(from))
|
|
51
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
52
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
53
|
+
}
|
|
54
|
+
return to;
|
|
55
|
+
};
|
|
56
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
57
|
+
var import_fix_exports = {};
|
|
58
|
+
__export(import_fix_exports, {
|
|
59
|
+
findVisibleImportName: () => findVisibleImportName,
|
|
60
|
+
getUnusedName: () => getUnusedName,
|
|
61
|
+
insertImport: () => insertImport
|
|
62
|
+
});
|
|
63
|
+
module.exports = __toCommonJS(import_fix_exports);
|
|
64
|
+
var import_type_guards = require('@mnaoumov/typescript-lib/type-guards');
|
|
65
|
+
var import_utils = require('@typescript-eslint/utils');
|
|
66
|
+
var import_ts_estree_node = require('./ts-estree-node.cjs');
|
|
67
|
+
function findVisibleImportName(params) {
|
|
68
|
+
const { importedName, moduleName, node, sourceCode } = params;
|
|
69
|
+
const seen = /* @__PURE__ */ new Set();
|
|
70
|
+
for (let scope = sourceCode.getScope(node); scope; scope = scope.upper) {
|
|
71
|
+
for (const variable of scope.variables) {
|
|
72
|
+
if (seen.has(variable.name)) {
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
seen.add(variable.name);
|
|
76
|
+
for (const definition of variable.defs) {
|
|
77
|
+
if (definition.type !== "ImportBinding") {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
const specifier = (0, import_ts_estree_node.toTSESTreeNode)(definition.node);
|
|
81
|
+
const declaration = (0, import_ts_estree_node.toTSESTreeNode)(definition.parent);
|
|
82
|
+
if (declaration.importKind === "type" || declaration.source.value !== moduleName) {
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (specifier.type === import_utils.AST_NODE_TYPES.ImportDefaultSpecifier ? importedName === "default" : isNamedValueSpecifier(specifier, importedName)) {
|
|
86
|
+
return variable.name;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
function getUnusedName(sourceCode, preferredName) {
|
|
94
|
+
const names = new Set(sourceCode.getTokens(sourceCode.ast).map((token) => token.value));
|
|
95
|
+
let name = preferredName;
|
|
96
|
+
let suffix = 0;
|
|
97
|
+
while (names.has(name)) {
|
|
98
|
+
name = `${preferredName}${String(++suffix)}`;
|
|
99
|
+
}
|
|
100
|
+
return name;
|
|
101
|
+
}
|
|
102
|
+
function insertImport(fixer, sourceCode, importDeclaration) {
|
|
103
|
+
const firstStatement = (0, import_type_guards.ensureNonNullable)(sourceCode.ast.body.find((statement) => !("directive" in statement && typeof statement.directive === "string")));
|
|
104
|
+
return fixer.insertTextBefore((0, import_type_guards.ensureNonNullable)(sourceCode.getFirstToken(firstStatement)), `${importDeclaration}
|
|
105
|
+
`);
|
|
106
|
+
}
|
|
107
|
+
function isNamedValueSpecifier(specifier, importedName) {
|
|
108
|
+
return specifier.type === import_utils.AST_NODE_TYPES.ImportSpecifier && specifier.importKind !== "type" && specifier.imported.type === import_utils.AST_NODE_TYPES.Identifier && specifier.imported.name === importedName;
|
|
109
|
+
}
|
|
110
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
111
|
+
0 && (module.exports = {
|
|
112
|
+
findVisibleImportName,
|
|
113
|
+
getUnusedName,
|
|
114
|
+
insertImport
|
|
115
|
+
});
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saW50ZXJzL2VzbGludC1ydWxlcy9pbXBvcnQtZml4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBIZWxwZXJzIGZvciBhIHJ1bGUgZml4IHRoYXQgY2FsbHMgYW4gaW1wb3J0ZWQgZnVuY3Rpb246IHJldXNlIGEgdmlzaWJsZSBpbXBvcnQgb2YgaXQsIG9yIGFkZCBvbmUgdW5kZXIgYSBuYW1lXG4gKiBub3RoaW5nIGluIHRoZSBmaWxlIHVzZXMgeWV0LlxuICovXG5pbXBvcnQgdHlwZSB7IFRTRVNUcmVlIH0gZnJvbSAnQHR5cGVzY3JpcHQtZXNsaW50L3V0aWxzJztcbmltcG9ydCB0eXBlIHtcbiAgUnVsZSxcbiAgU2NvcGUsXG4gIFNvdXJjZUNvZGVcbn0gZnJvbSAnZXNsaW50JztcblxuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZS1ndWFyZHMnO1xuaW1wb3J0IHsgQVNUX05PREVfVFlQRVMgfSBmcm9tICdAdHlwZXNjcmlwdC1lc2xpbnQvdXRpbHMnO1xuXG5pbXBvcnQgeyB0b1RTRVNUcmVlTm9kZSB9IGZyb20gJy4vdHMtZXN0cmVlLW5vZGUudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgb2Yge0BsaW5rIGZpbmRWaXNpYmxlSW1wb3J0TmFtZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmluZFZpc2libGVJbXBvcnROYW1lUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRoZSBtb2R1bGUgZXhwb3J0cyB0aGUgYmluZGluZyB1bmRlcjsgYGRlZmF1bHRgIGZvciBpdHMgZGVmYXVsdCBleHBvcnQuXG4gICAqL1xuICByZWFkb25seSBpbXBvcnRlZE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1vZHVsZSBzcGVjaWZpZXIgdGhlIGltcG9ydCBtdXN0IG5hbWUuXG4gICAqL1xuICByZWFkb25seSBtb2R1bGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBub2RlIHRoZSBmaXggcmVwbGFjZXM7IHRoZSBpbXBvcnQgbXVzdCBiZSB2aXNpYmxlIGZyb20gaXRzIHNjb3BlLlxuICAgKi9cbiAgcmVhZG9ubHkgbm9kZTogUnVsZS5Ob2RlO1xuXG4gIC8qKlxuICAgKiBUaGUgc291cmNlIGNvZGUgb2YgdGhlIGxpbnRlZCBmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlQ29kZTogU291cmNlQ29kZTtcbn1cblxuLyoqXG4gKiBGaW5kcyB0aGUgbG9jYWwgbmFtZSBvZiBhIHZhbHVlIGltcG9ydCBvZiBhIGJpbmRpbmcgdGhhdCBpcyB2aXNpYmxlIGZyb20gYSBub2RlIGFuZCBub3Qgc2hhZG93ZWQgdGhlcmUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgRmluZFZpc2libGVJbXBvcnROYW1lUGFyYW1zfS5cbiAqIEByZXR1cm5zIFRoZSBsb2NhbCBuYW1lLCBvciBgbnVsbGAgd2hlbiBubyBzdWNoIGltcG9ydCBpcyB2aXNpYmxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFZpc2libGVJbXBvcnROYW1lKHBhcmFtczogRmluZFZpc2libGVJbXBvcnROYW1lUGFyYW1zKTogbnVsbCB8IHN0cmluZyB7XG4gIGNvbnN0IHsgaW1wb3J0ZWROYW1lLCBtb2R1bGVOYW1lLCBub2RlLCBzb3VyY2VDb2RlIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHNlZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgZm9yIChsZXQgc2NvcGU6IG51bGwgfCBTY29wZS5TY29wZSA9IHNvdXJjZUNvZGUuZ2V0U2NvcGUobm9kZSk7IHNjb3BlOyBzY29wZSA9IHNjb3BlLnVwcGVyKSB7XG4gICAgZm9yIChjb25zdCB2YXJpYWJsZSBvZiBzY29wZS52YXJpYWJsZXMpIHtcbiAgICAgIGlmIChzZWVuLmhhcyh2YXJpYWJsZS5uYW1lKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHNlZW4uYWRkKHZhcmlhYmxlLm5hbWUpO1xuICAgICAgZm9yIChjb25zdCBkZWZpbml0aW9uIG9mIHZhcmlhYmxlLmRlZnMpIHtcbiAgICAgICAgaWYgKGRlZmluaXRpb24udHlwZSAhPT0gJ0ltcG9ydEJpbmRpbmcnKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3BlY2lmaWVyID0gdG9UU0VTVHJlZU5vZGUoZGVmaW5pdGlvbi5ub2RlKTtcbiAgICAgICAgY29uc3QgZGVjbGFyYXRpb24gPSB0b1RTRVNUcmVlTm9kZShkZWZpbml0aW9uLnBhcmVudCkgYXMgVFNFU1RyZWUuSW1wb3J0RGVjbGFyYXRpb247XG4gICAgICAgIGlmIChkZWNsYXJhdGlvbi5pbXBvcnRLaW5kID09PSAndHlwZScgfHwgZGVjbGFyYXRpb24uc291cmNlLnZhbHVlICE9PSBtb2R1bGVOYW1lKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNwZWNpZmllci50eXBlID09PSBBU1RfTk9ERV9UWVBFUy5JbXBvcnREZWZhdWx0U3BlY2lmaWVyID8gaW1wb3J0ZWROYW1lID09PSAnZGVmYXVsdCcgOiBpc05hbWVkVmFsdWVTcGVjaWZpZXIoc3BlY2lmaWVyLCBpbXBvcnRlZE5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHZhcmlhYmxlLm5hbWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogUGlja3MgYSBuYW1lIG5vIHRva2VuIG9mIHRoZSBmaWxlIHVzZXMsIHNvIGEgbmV3IGltcG9ydCBuZXZlciBjYXB0dXJlcyBhbiBleGlzdGluZyBkZWNsYXJhdGlvbiBvciBmcmVlIHJlYWQuXG4gKlxuICogQHBhcmFtIHNvdXJjZUNvZGUgLSBUaGUgc291cmNlIGNvZGUgb2YgdGhlIGxpbnRlZCBmaWxlLlxuICogQHBhcmFtIHByZWZlcnJlZE5hbWUgLSBUaGUgbmFtZSB0byB1c2Ugd2hlbiBpdCBpcyBmcmVlOyBvdGhlcndpc2UgaXQgaXMgc3VmZml4ZWQgd2l0aCBhIG51bWJlci5cbiAqIEByZXR1cm5zIFRoZSBmcmVlIG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRVbnVzZWROYW1lKHNvdXJjZUNvZGU6IFNvdXJjZUNvZGUsIHByZWZlcnJlZE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG5hbWVzID0gbmV3IFNldChzb3VyY2VDb2RlLmdldFRva2Vucyhzb3VyY2VDb2RlLmFzdCkubWFwKCh0b2tlbikgPT4gdG9rZW4udmFsdWUpKTtcbiAgbGV0IG5hbWUgPSBwcmVmZXJyZWROYW1lO1xuICBsZXQgc3VmZml4ID0gMDtcbiAgd2hpbGUgKG5hbWVzLmhhcyhuYW1lKSkge1xuICAgIG5hbWUgPSBgJHtwcmVmZXJyZWROYW1lfSR7U3RyaW5nKCsrc3VmZml4KX1gO1xuICB9XG4gIHJldHVybiBuYW1lO1xufVxuXG4vKipcbiAqIEluc2VydHMgYW4gaW1wb3J0IGRlY2xhcmF0aW9uIGJlZm9yZSB0aGUgZmlyc3Qgc3RhdGVtZW50IG9mIHRoZSBwcm9ncmFtLCBhZnRlciBhbnkgZGlyZWN0aXZlIHByb2xvZ3VlLlxuICpcbiAqIFRoZSBwcm9ncmFtIG11c3QgaG9sZCBhIHN0YXRlbWVudCB0aGF0IGlzIG5vdCBhIGRpcmVjdGl2ZTsgdGhlIG5vZGUgYSBydWxlIHJlcG9ydHMgZ3VhcmFudGVlcyBvbmUuXG4gKlxuICogQHBhcmFtIGZpeGVyIC0gVGhlIHJ1bGUgZml4ZXIuXG4gKiBAcGFyYW0gc291cmNlQ29kZSAtIFRoZSBzb3VyY2UgY29kZSBvZiB0aGUgbGludGVkIGZpbGUuXG4gKiBAcGFyYW0gaW1wb3J0RGVjbGFyYXRpb24gLSBUaGUgaW1wb3J0IGRlY2xhcmF0aW9uLCB3aXRob3V0IGEgdHJhaWxpbmcgbmV3bGluZS5cbiAqIEByZXR1cm5zIFRoZSBmaXggaW5zZXJ0aW5nIGl0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0SW1wb3J0KGZpeGVyOiBSdWxlLlJ1bGVGaXhlciwgc291cmNlQ29kZTogU291cmNlQ29kZSwgaW1wb3J0RGVjbGFyYXRpb246IHN0cmluZyk6IFJ1bGUuRml4IHtcbiAgY29uc3QgZmlyc3RTdGF0ZW1lbnQgPSBlbnN1cmVOb25OdWxsYWJsZShzb3VyY2VDb2RlLmFzdC5ib2R5LmZpbmQoKHN0YXRlbWVudCkgPT4gISgnZGlyZWN0aXZlJyBpbiBzdGF0ZW1lbnQgJiYgdHlwZW9mIHN0YXRlbWVudC5kaXJlY3RpdmUgPT09ICdzdHJpbmcnKSkpO1xuICByZXR1cm4gZml4ZXIuaW5zZXJ0VGV4dEJlZm9yZShlbnN1cmVOb25OdWxsYWJsZShzb3VyY2VDb2RlLmdldEZpcnN0VG9rZW4oZmlyc3RTdGF0ZW1lbnQpKSwgYCR7aW1wb3J0RGVjbGFyYXRpb259XFxuYCk7XG59XG5cbmZ1bmN0aW9uIGlzTmFtZWRWYWx1ZVNwZWNpZmllcihzcGVjaWZpZXI6IFRTRVNUcmVlLk5vZGUsIGltcG9ydGVkTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBzcGVjaWZpZXIudHlwZSA9PT0gQVNUX05PREVfVFlQRVMuSW1wb3J0U3BlY2lmaWVyXG4gICAgJiYgc3BlY2lmaWVyLmltcG9ydEtpbmQgIT09ICd0eXBlJ1xuICAgICYmIHNwZWNpZmllci5pbXBvcnRlZC50eXBlID09PSBBU1RfTk9ERV9UWVBFUy5JZGVudGlmaWVyICYmIHNwZWNpZmllci5pbXBvcnRlZC5uYW1lID09PSBpbXBvcnRlZE5hbWU7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQSx5QkFBa0M7QUFDbEMsbUJBQStCO0FBRS9CLDRCQUErQjtBQWlDeEIsU0FBUyxzQkFBc0IsUUFBb0Q7QUFDeEYsUUFBTSxFQUFFLGNBQWMsWUFBWSxNQUFNLFdBQVcsSUFBSTtBQUN2RCxRQUFNLE9BQU8sb0JBQUksSUFBWTtBQUM3QixXQUFTLFFBQTRCLFdBQVcsU0FBUyxJQUFJLEdBQUcsT0FBTyxRQUFRLE1BQU0sT0FBTztBQUMxRixlQUFXLFlBQVksTUFBTSxXQUFXO0FBQ3RDLFVBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxHQUFHO0FBQzNCO0FBQUEsTUFDRjtBQUNBLFdBQUssSUFBSSxTQUFTLElBQUk7QUFDdEIsaUJBQVcsY0FBYyxTQUFTLE1BQU07QUFDdEMsWUFBSSxXQUFXLFNBQVMsaUJBQWlCO0FBQ3ZDO0FBQUEsUUFDRjtBQUNBLGNBQU0sZ0JBQVksc0NBQWUsV0FBVyxJQUFJO0FBQ2hELGNBQU0sa0JBQWMsc0NBQWUsV0FBVyxNQUFNO0FBQ3BELFlBQUksWUFBWSxlQUFlLFVBQVUsWUFBWSxPQUFPLFVBQVUsWUFBWTtBQUNoRjtBQUFBLFFBQ0Y7QUFDQSxZQUFJLFVBQVUsU0FBUyw0QkFBZSx5QkFBeUIsaUJBQWlCLFlBQVksc0JBQXNCLFdBQVcsWUFBWSxHQUFHO0FBQzFJLGlCQUFPLFNBQVM7QUFBQSxRQUNsQjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNBLFNBQU87QUFDVDtBQVNPLFNBQVMsY0FBYyxZQUF3QixlQUErQjtBQUNuRixRQUFNLFFBQVEsSUFBSSxJQUFJLFdBQVcsVUFBVSxXQUFXLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxNQUFNLEtBQUssQ0FBQztBQUN0RixNQUFJLE9BQU87QUFDWCxNQUFJLFNBQVM7QUFDYixTQUFPLE1BQU0sSUFBSSxJQUFJLEdBQUc7QUFDdEIsV0FBTyxHQUFHLGFBQWEsR0FBRyxPQUFPLEVBQUUsTUFBTSxDQUFDO0FBQUEsRUFDNUM7QUFDQSxTQUFPO0FBQ1Q7QUFZTyxTQUFTLGFBQWEsT0FBdUIsWUFBd0IsbUJBQXFDO0FBQy9HLFFBQU0scUJBQWlCLHNDQUFrQixXQUFXLElBQUksS0FBSyxLQUFLLENBQUMsY0FBYyxFQUFFLGVBQWUsYUFBYSxPQUFPLFVBQVUsY0FBYyxTQUFTLENBQUM7QUFDeEosU0FBTyxNQUFNLHFCQUFpQixzQ0FBa0IsV0FBVyxjQUFjLGNBQWMsQ0FBQyxHQUFHLEdBQUcsaUJBQWlCO0FBQUEsQ0FBSTtBQUNySDtBQUVBLFNBQVMsc0JBQXNCLFdBQTBCLGNBQStCO0FBQ3RGLFNBQU8sVUFBVSxTQUFTLDRCQUFlLG1CQUNwQyxVQUFVLGVBQWUsVUFDekIsVUFBVSxTQUFTLFNBQVMsNEJBQWUsY0FBYyxVQUFVLFNBQVMsU0FBUztBQUM1RjsiLCJuYW1lcyI6W119
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/// <reference path="../../library-references.d.cts" />
|
|
2
|
+
import type { Rule, SourceCode } from 'eslint' with { 'resolution-mode': 'import' };
|
|
3
|
+
/**
|
|
4
|
+
* Parameters of {@link findVisibleImportName}.
|
|
5
|
+
*/
|
|
6
|
+
export interface FindVisibleImportNameParams {
|
|
7
|
+
/**
|
|
8
|
+
* The name the module exports the binding under; `default` for its default export.
|
|
9
|
+
*/
|
|
10
|
+
readonly importedName: string;
|
|
11
|
+
/**
|
|
12
|
+
* The module specifier the import must name.
|
|
13
|
+
*/
|
|
14
|
+
readonly moduleName: string;
|
|
15
|
+
/**
|
|
16
|
+
* The node the fix replaces; the import must be visible from its scope.
|
|
17
|
+
*/
|
|
18
|
+
readonly node: Rule.Node;
|
|
19
|
+
/**
|
|
20
|
+
* The source code of the linted file.
|
|
21
|
+
*/
|
|
22
|
+
readonly sourceCode: SourceCode;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Finds the local name of a value import of a binding that is visible from a node and not shadowed there.
|
|
26
|
+
*
|
|
27
|
+
* @param params - The {@link FindVisibleImportNameParams}.
|
|
28
|
+
* @returns The local name, or `null` when no such import is visible.
|
|
29
|
+
*/
|
|
30
|
+
export declare function findVisibleImportName(params: FindVisibleImportNameParams): null | string;
|
|
31
|
+
/**
|
|
32
|
+
* Picks a name no token of the file uses, so a new import never captures an existing declaration or free read.
|
|
33
|
+
*
|
|
34
|
+
* @param sourceCode - The source code of the linted file.
|
|
35
|
+
* @param preferredName - The name to use when it is free; otherwise it is suffixed with a number.
|
|
36
|
+
* @returns The free name.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getUnusedName(sourceCode: SourceCode, preferredName: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* Inserts an import declaration before the first statement of the program, after any directive prologue.
|
|
41
|
+
*
|
|
42
|
+
* The program must hold a statement that is not a directive; the node a rule reports guarantees one.
|
|
43
|
+
*
|
|
44
|
+
* @param fixer - The rule fixer.
|
|
45
|
+
* @param sourceCode - The source code of the linted file.
|
|
46
|
+
* @param importDeclaration - The import declaration, without a trailing newline.
|
|
47
|
+
* @returns The fix inserting it.
|
|
48
|
+
*/
|
|
49
|
+
export declare function insertImport(fixer: Rule.RuleFixer, sourceCode: SourceCode, importDeclaration: string): Rule.Fix;
|
|
@@ -34,9 +34,11 @@ var import_no_unresolved_jsdoc_link = require('./no-unresolved-jsdoc-link.cjs');
|
|
|
34
34
|
var import_no_unused_params_members = require('./no-unused-params-members.cjs');
|
|
35
35
|
var import_no_used_underscore_variables = require('./no-used-underscore-variables.cjs');
|
|
36
36
|
var import_params_options_name_match = require('./params-options-name-match.cjs');
|
|
37
|
+
var import_prefer_dedent = require('./prefer-dedent.cjs');
|
|
37
38
|
var import_prefer_logical_operator_over_ternary = require('./prefer-logical-operator-over-ternary.cjs');
|
|
38
39
|
var import_prefer_noop_async = require('./prefer-noop-async.cjs');
|
|
39
40
|
var import_readonly_interface_members = require('./readonly-interface-members.cjs');
|
|
41
|
+
var import_readonly_member_arrays = require('./readonly-member-arrays.cjs');
|
|
40
42
|
var import_require_method_template = require('./require-method-template.cjs');
|
|
41
43
|
var import_require_super_call = require('./require-super-call.cjs');
|
|
42
44
|
const IN_HOUSE_ESLINT_PLUGIN_NAME = "typescript-dev-toolkit";
|
|
@@ -47,9 +49,11 @@ const genericInHouseEslintRules = {
|
|
|
47
49
|
"no-unused-params-members": import_no_unused_params_members.noUnusedParamsMembers,
|
|
48
50
|
"no-used-underscore-variables": import_no_used_underscore_variables.noUsedUnderscoreVariables,
|
|
49
51
|
"params-options-name-match": import_params_options_name_match.paramsOptionsNameMatch,
|
|
52
|
+
"prefer-dedent": import_prefer_dedent.preferDedent,
|
|
50
53
|
"prefer-logical-operator-over-ternary": import_prefer_logical_operator_over_ternary.preferLogicalOperatorOverTernary,
|
|
51
54
|
"prefer-noop-async": import_prefer_noop_async.preferNoopAsync,
|
|
52
55
|
"readonly-interface-members": import_readonly_interface_members.readonlyInterfaceMembers,
|
|
56
|
+
"readonly-member-arrays": import_readonly_member_arrays.readonlyMemberArrays,
|
|
53
57
|
"require-method-template": import_require_method_template.requireMethodTemplate,
|
|
54
58
|
"require-super-call": import_require_super_call.requireSuperCall
|
|
55
59
|
};
|
|
@@ -62,4 +66,4 @@ const inHouseEslintPlugin = {
|
|
|
62
66
|
genericInHouseEslintRules,
|
|
63
67
|
inHouseEslintPlugin
|
|
64
68
|
});
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL2luLWhvdXNlLXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBnZW5lcmljIGluLWhvdXNlIEVTTGludCBydWxlcywgYW5kIHRoZSBwbHVnaW4gdGhhdCByZWdpc3RlcnMgdGhlbS5cbiAqXG4gKiBUaGUgZ2VuZXJpYyBydWxlcyBhcmUgcmVnaXN0ZXJlZCB1bmRlciB7QGxpbmsgSU5fSE9VU0VfRVNMSU5UX1BMVUdJTl9OQU1FfSwgdGhlIG5hbWUgb2YgdGhlIHBhY2thZ2UgdGhhdCBkZWZpbmVzXG4gKiB0aGVtLiBBIHBhY2thZ2UgYWRkaW5nIHJ1bGVzIG9mIGl0cyBvd24gcmVnaXN0ZXJzIHRoZW0gdW5kZXIgaXRzIG93biBuYW1lLCBhcyBhIHBsdWdpbiBvZiBpdHMgb3duIGJlc2lkZVxuICoge0BsaW5rIGluSG91c2VFc2xpbnRQbHVnaW59LlxuICovXG5cbmltcG9ydCB0eXBlIHsgRVNMaW50IH0gZnJvbSAnZXNsaW50JztcblxuaW1wb3J0IHsgbm9Bc3luY0NhbGxiYWNrVG9VbnNhZmVSZXR1cm4gfSBmcm9tICcuL25vLWFzeW5jLWNhbGxiYWNrLXRvLXVuc2FmZS1yZXR1cm4udHMnO1xuaW1wb3J0IHsgbm9LZXl3b3JkSWRlbnRpZmllcnMgfSBmcm9tICcuL25vLWtleXdvcmQtaWRlbnRpZmllcnMudHMnO1xuaW1wb3J0IHsgbm9VbnJlc29sdmVkSnNkb2NMaW5rIH0gZnJvbSAnLi9uby11bnJlc29sdmVkLWpzZG9jLWxpbmsudHMnO1xuaW1wb3J0IHsgbm9VbnVzZWRQYXJhbXNNZW1iZXJzIH0gZnJvbSAnLi9uby11bnVzZWQtcGFyYW1zLW1lbWJlcnMudHMnO1xuaW1wb3J0IHsgbm9Vc2VkVW5kZXJzY29yZVZhcmlhYmxlcyB9IGZyb20gJy4vbm8tdXNlZC11bmRlcnNjb3JlLXZhcmlhYmxlcy50cyc7XG5pbXBvcnQgeyBwYXJhbXNPcHRpb25zTmFtZU1hdGNoIH0gZnJvbSAnLi9wYXJhbXMtb3B0aW9ucy1uYW1lLW1hdGNoLnRzJztcbmltcG9ydCB7IHByZWZlckRlZGVudCB9IGZyb20gJy4vcHJlZmVyLWRlZGVudC50cyc7XG5pbXBvcnQgeyBwcmVmZXJMb2dpY2FsT3BlcmF0b3JPdmVyVGVybmFyeSB9IGZyb20gJy4vcHJlZmVyLWxvZ2ljYWwtb3BlcmF0b3Itb3Zlci10ZXJuYXJ5LnRzJztcbmltcG9ydCB7IHByZWZlck5vb3BBc3luYyB9IGZyb20gJy4vcHJlZmVyLW5vb3AtYXN5bmMudHMnO1xuaW1wb3J0IHsgcmVhZG9ubHlJbnRlcmZhY2VNZW1iZXJzIH0gZnJvbSAnLi9yZWFkb25seS1pbnRlcmZhY2UtbWVtYmVycy50cyc7XG5pbXBvcnQgeyByZWFkb25seU1lbWJlckFycmF5cyB9IGZyb20gJy4vcmVhZG9ubHktbWVtYmVyLWFycmF5cy50cyc7XG5pbXBvcnQgeyByZXF1aXJlTWV0aG9kVGVtcGxhdGUgfSBmcm9tICcuL3JlcXVpcmUtbWV0aG9kLXRlbXBsYXRlLnRzJztcbmltcG9ydCB7IHJlcXVpcmVTdXBlckNhbGwgfSBmcm9tICcuL3JlcXVpcmUtc3VwZXItY2FsbC50cyc7XG5cbi8qKlxuICogVGhlIG5hbWVzcGFjZSB0aGUgZ2VuZXJpYyBpbi1ob3VzZSBydWxlcyBhcmUgcmVnaXN0ZXJlZCB1bmRlcjogdGhlIG5hbWUgb2YgdGhlIHBhY2thZ2UgdGhhdCBkZWZpbmVzIHRoZW0uXG4gKi9cbmV4cG9ydCBjb25zdCBJTl9IT1VTRV9FU0xJTlRfUExVR0lOX05BTUUgPSAndHlwZXNjcmlwdC1kZXYtdG9vbGtpdCc7XG5cbi8qKlxuICogVGhlIGdlbmVyaWMgaW4taG91c2UgcnVsZXMsIGtleWVkIGJ5IHRoZWlyIG5hbWUgaW5zaWRlIHtAbGluayBJTl9IT1VTRV9FU0xJTlRfUExVR0lOX05BTUV9LlxuICovXG5leHBvcnQgY29uc3QgZ2VuZXJpY0luSG91c2VFc2xpbnRSdWxlczogTm9uTnVsbGFibGU8RVNMaW50LlBsdWdpblsncnVsZXMnXT4gPSB7XG4gICduby1hc3luYy1jYWxsYmFjay10by11bnNhZmUtcmV0dXJuJzogbm9Bc3luY0NhbGxiYWNrVG9VbnNhZmVSZXR1cm4sXG4gICduby1rZXl3b3JkLWlkZW50aWZpZXJzJzogbm9LZXl3b3JkSWRlbnRpZmllcnMsXG4gICduby11bnJlc29sdmVkLWpzZG9jLWxpbmsnOiBub1VucmVzb2x2ZWRKc2RvY0xpbmssXG4gICduby11bnVzZWQtcGFyYW1zLW1lbWJlcnMnOiBub1VudXNlZFBhcmFtc01lbWJlcnMsXG4gICduby11c2VkLXVuZGVyc2NvcmUtdmFyaWFibGVzJzogbm9Vc2VkVW5kZXJzY29yZVZhcmlhYmxlcyxcbiAgJ3BhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2gnOiBwYXJhbXNPcHRpb25zTmFtZU1hdGNoLFxuICAncHJlZmVyLWRlZGVudCc6IHByZWZlckRlZGVudCxcbiAgJ3ByZWZlci1sb2dpY2FsLW9wZXJhdG9yLW92ZXItdGVybmFyeSc6IHByZWZlckxvZ2ljYWxPcGVyYXRvck92ZXJUZXJuYXJ5LFxuICAncHJlZmVyLW5vb3AtYXN5bmMnOiBwcmVmZXJOb29wQXN5bmMsXG4gICdyZWFkb25seS1pbnRlcmZhY2UtbWVtYmVycyc6IHJlYWRvbmx5SW50ZXJmYWNlTWVtYmVycyxcbiAgJ3JlYWRvbmx5LW1lbWJlci1hcnJheXMnOiByZWFkb25seU1lbWJlckFycmF5cyxcbiAgJ3JlcXVpcmUtbWV0aG9kLXRlbXBsYXRlJzogcmVxdWlyZU1ldGhvZFRlbXBsYXRlLFxuICAncmVxdWlyZS1zdXBlci1jYWxsJzogcmVxdWlyZVN1cGVyQ2FsbFxufTtcblxuLyoqXG4gKiBUaGUgRVNMaW50IHBsdWdpbiByZWdpc3RlcmluZyB0aGUgZ2VuZXJpYyBpbi1ob3VzZSBydWxlcyBhbG9uZSwgZm9yIGEgcHJvamVjdCB0aGF0IGFkZHMgbm9uZSBvZiBpdHMgb3duLlxuICovXG5leHBvcnQgY29uc3QgaW5Ib3VzZUVzbGludFBsdWdpbjogRVNMaW50LlBsdWdpbiA9IHtcbiAgcnVsZXM6IGdlbmVyaWNJbkhvdXNlRXNsaW50UnVsZXNcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUEsZ0RBQThDO0FBQzlDLG9DQUFxQztBQUNyQyxzQ0FBc0M7QUFDdEMsc0NBQXNDO0FBQ3RDLDBDQUEwQztBQUMxQyx1Q0FBdUM7QUFDdkMsMkJBQTZCO0FBQzdCLGtEQUFpRDtBQUNqRCwrQkFBZ0M7QUFDaEMsd0NBQXlDO0FBQ3pDLG9DQUFxQztBQUNyQyxxQ0FBc0M7QUFDdEMsZ0NBQWlDO0FBSzFCLE1BQU0sOEJBQThCO0FBS3BDLE1BQU0sNEJBQWlFO0FBQUEsRUFDNUUsc0NBQXNDO0FBQUEsRUFDdEMsMEJBQTBCO0FBQUEsRUFDMUIsNEJBQTRCO0FBQUEsRUFDNUIsNEJBQTRCO0FBQUEsRUFDNUIsZ0NBQWdDO0FBQUEsRUFDaEMsNkJBQTZCO0FBQUEsRUFDN0IsaUJBQWlCO0FBQUEsRUFDakIsd0NBQXdDO0FBQUEsRUFDeEMscUJBQXFCO0FBQUEsRUFDckIsOEJBQThCO0FBQUEsRUFDOUIsMEJBQTBCO0FBQUEsRUFDMUIsMkJBQTJCO0FBQUEsRUFDM0Isc0JBQXNCO0FBQ3hCO0FBS08sTUFBTSxzQkFBcUM7QUFBQSxFQUNoRCxPQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -33,6 +33,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
33
33
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
34
34
|
var eslint_rules_exports = {};
|
|
35
35
|
__export(eslint_rules_exports, {
|
|
36
|
+
"import-fix": () => import_fix,
|
|
36
37
|
"in-house-plugin": () => in_house_plugin,
|
|
37
38
|
"no-async-callback-to-unsafe-return": () => no_async_callback_to_unsafe_return,
|
|
38
39
|
"no-keyword-identifiers": () => no_keyword_identifiers,
|
|
@@ -40,15 +41,18 @@ __export(eslint_rules_exports, {
|
|
|
40
41
|
"no-unused-params-members": () => no_unused_params_members,
|
|
41
42
|
"no-used-underscore-variables": () => no_used_underscore_variables,
|
|
42
43
|
"params-options-name-match": () => params_options_name_match,
|
|
44
|
+
"prefer-dedent": () => prefer_dedent,
|
|
43
45
|
"prefer-logical-operator-over-ternary": () => prefer_logical_operator_over_ternary,
|
|
44
46
|
"prefer-noop-async": () => prefer_noop_async,
|
|
45
47
|
"readonly-interface-members": () => readonly_interface_members,
|
|
48
|
+
"readonly-member-arrays": () => readonly_member_arrays,
|
|
46
49
|
"require-method-template": () => require_method_template,
|
|
47
50
|
"require-super-call": () => require_super_call,
|
|
48
51
|
"rule-tester-helper": () => rule_tester_helper,
|
|
49
52
|
"ts-estree-node": () => ts_estree_node
|
|
50
53
|
});
|
|
51
54
|
module.exports = __toCommonJS(eslint_rules_exports);
|
|
55
|
+
var import_fix = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./import-fix.cjs')), 1);
|
|
52
56
|
var in_house_plugin = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./in-house-plugin.cjs')), 1);
|
|
53
57
|
var no_async_callback_to_unsafe_return = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./no-async-callback-to-unsafe-return.cjs')), 1);
|
|
54
58
|
var no_keyword_identifiers = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./no-keyword-identifiers.cjs')), 1);
|
|
@@ -56,15 +60,18 @@ var no_unresolved_jsdoc_link = __toESM(((module) => module && module.__esModule
|
|
|
56
60
|
var no_unused_params_members = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./no-unused-params-members.cjs')), 1);
|
|
57
61
|
var no_used_underscore_variables = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./no-used-underscore-variables.cjs')), 1);
|
|
58
62
|
var params_options_name_match = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./params-options-name-match.cjs')), 1);
|
|
63
|
+
var prefer_dedent = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./prefer-dedent.cjs')), 1);
|
|
59
64
|
var prefer_logical_operator_over_ternary = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./prefer-logical-operator-over-ternary.cjs')), 1);
|
|
60
65
|
var prefer_noop_async = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./prefer-noop-async.cjs')), 1);
|
|
61
66
|
var readonly_interface_members = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./readonly-interface-members.cjs')), 1);
|
|
67
|
+
var readonly_member_arrays = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./readonly-member-arrays.cjs')), 1);
|
|
62
68
|
var require_method_template = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./require-method-template.cjs')), 1);
|
|
63
69
|
var require_super_call = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./require-super-call.cjs')), 1);
|
|
64
70
|
var rule_tester_helper = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./rule-tester-helper.cjs')), 1);
|
|
65
71
|
var ts_estree_node = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./ts-estree-node.cjs')), 1);
|
|
66
72
|
// Annotate the CommonJS export names for ESM import in node:
|
|
67
73
|
0 && (module.exports = {
|
|
74
|
+
"import-fix": null,
|
|
68
75
|
"in-house-plugin": null,
|
|
69
76
|
"no-async-callback-to-unsafe-return": null,
|
|
70
77
|
"no-keyword-identifiers": null,
|
|
@@ -72,12 +79,14 @@ var ts_estree_node = __toESM(((module) => module && module.__esModule && 'defaul
|
|
|
72
79
|
"no-unused-params-members": null,
|
|
73
80
|
"no-used-underscore-variables": null,
|
|
74
81
|
"params-options-name-match": null,
|
|
82
|
+
"prefer-dedent": null,
|
|
75
83
|
"prefer-logical-operator-over-ternary": null,
|
|
76
84
|
"prefer-noop-async": null,
|
|
77
85
|
"readonly-interface-members": null,
|
|
86
|
+
"readonly-member-arrays": null,
|
|
78
87
|
"require-method-template": null,
|
|
79
88
|
"require-super-call": null,
|
|
80
89
|
"rule-tester-helper": null,
|
|
81
90
|
"ts-estree-node": null
|
|
82
91
|
});
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgJ2ltcG9ydC1maXgnIGZyb20gJy4vaW1wb3J0LWZpeC50cyc7XG5leHBvcnQgKiBhcyAnaW4taG91c2UtcGx1Z2luJyBmcm9tICcuL2luLWhvdXNlLXBsdWdpbi50cyc7XG5leHBvcnQgKiBhcyAnbm8tYXN5bmMtY2FsbGJhY2stdG8tdW5zYWZlLXJldHVybicgZnJvbSAnLi9uby1hc3luYy1jYWxsYmFjay10by11bnNhZmUtcmV0dXJuLnRzJztcbmV4cG9ydCAqIGFzICduby1rZXl3b3JkLWlkZW50aWZpZXJzJyBmcm9tICcuL25vLWtleXdvcmQtaWRlbnRpZmllcnMudHMnO1xuZXhwb3J0ICogYXMgJ25vLXVucmVzb2x2ZWQtanNkb2MtbGluaycgZnJvbSAnLi9uby11bnJlc29sdmVkLWpzZG9jLWxpbmsudHMnO1xuZXhwb3J0ICogYXMgJ25vLXVudXNlZC1wYXJhbXMtbWVtYmVycycgZnJvbSAnLi9uby11bnVzZWQtcGFyYW1zLW1lbWJlcnMudHMnO1xuZXhwb3J0ICogYXMgJ25vLXVzZWQtdW5kZXJzY29yZS12YXJpYWJsZXMnIGZyb20gJy4vbm8tdXNlZC11bmRlcnNjb3JlLXZhcmlhYmxlcy50cyc7XG5leHBvcnQgKiBhcyAncGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaCcgZnJvbSAnLi9wYXJhbXMtb3B0aW9ucy1uYW1lLW1hdGNoLnRzJztcbmV4cG9ydCAqIGFzICdwcmVmZXItZGVkZW50JyBmcm9tICcuL3ByZWZlci1kZWRlbnQudHMnO1xuZXhwb3J0ICogYXMgJ3ByZWZlci1sb2dpY2FsLW9wZXJhdG9yLW92ZXItdGVybmFyeScgZnJvbSAnLi9wcmVmZXItbG9naWNhbC1vcGVyYXRvci1vdmVyLXRlcm5hcnkudHMnO1xuZXhwb3J0ICogYXMgJ3ByZWZlci1ub29wLWFzeW5jJyBmcm9tICcuL3ByZWZlci1ub29wLWFzeW5jLnRzJztcbmV4cG9ydCAqIGFzICdyZWFkb25seS1pbnRlcmZhY2UtbWVtYmVycycgZnJvbSAnLi9yZWFkb25seS1pbnRlcmZhY2UtbWVtYmVycy50cyc7XG5leHBvcnQgKiBhcyAncmVhZG9ubHktbWVtYmVyLWFycmF5cycgZnJvbSAnLi9yZWFkb25seS1tZW1iZXItYXJyYXlzLnRzJztcbmV4cG9ydCAqIGFzICdyZXF1aXJlLW1ldGhvZC10ZW1wbGF0ZScgZnJvbSAnLi9yZXF1aXJlLW1ldGhvZC10ZW1wbGF0ZS50cyc7XG5leHBvcnQgKiBhcyAncmVxdWlyZS1zdXBlci1jYWxsJyBmcm9tICcuL3JlcXVpcmUtc3VwZXItY2FsbC50cyc7XG5leHBvcnQgKiBhcyAncnVsZS10ZXN0ZXItaGVscGVyJyBmcm9tICcuL3J1bGUtdGVzdGVyLWhlbHBlci50cyc7XG5leHBvcnQgKiBhcyAndHMtZXN0cmVlLW5vZGUnIGZyb20gJy4vdHMtZXN0cmVlLW5vZGUudHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBLHNCQUFBQTtBQUFBLEVBQUEseUJBQUFDO0FBQUEsRUFBQSw0Q0FBQUM7QUFBQSxFQUFBLGdDQUFBQztBQUFBLEVBQUEsa0NBQUFDO0FBQUEsRUFBQSxrQ0FBQUM7QUFBQSxFQUFBLHNDQUFBQztBQUFBLEVBQUEsbUNBQUFDO0FBQUEsRUFBQSx1QkFBQUM7QUFBQSxFQUFBLDhDQUFBQztBQUFBLEVBQUEsMkJBQUFDO0FBQUEsRUFBQSxvQ0FBQUM7QUFBQSxFQUFBLGdDQUFBQztBQUFBLEVBQUEsaUNBQUFDO0FBQUEsRUFBQSw0QkFBQUM7QUFBQSxFQUFBLDRCQUFBQztBQUFBLEVBQUEsd0JBQUFDO0FBQUE7QUFBQTtBQUVBLElBQUFoQixhQUE4QjtBQUM5QixJQUFBQyxrQkFBbUM7QUFDbkMsSUFBQUMscUNBQXNEO0FBQ3RELElBQUFDLHlCQUEwQztBQUMxQyxJQUFBQywyQkFBNEM7QUFDNUMsSUFBQUMsMkJBQTRDO0FBQzVDLElBQUFDLCtCQUFnRDtBQUNoRCxJQUFBQyw0QkFBNkM7QUFDN0MsSUFBQUMsZ0JBQWlDO0FBQ2pDLElBQUFDLHVDQUF3RDtBQUN4RCxJQUFBQyxvQkFBcUM7QUFDckMsSUFBQUMsNkJBQThDO0FBQzlDLElBQUFDLHlCQUEwQztBQUMxQyxJQUFBQywwQkFBMkM7QUFDM0MsSUFBQUMscUJBQXNDO0FBQ3RDLElBQUFDLHFCQUFzQztBQUN0QyxJQUFBQyxpQkFBa0M7IiwKICAibmFtZXMiOiBbImltcG9ydC1maXgiLCAiaW4taG91c2UtcGx1Z2luIiwgIm5vLWFzeW5jLWNhbGxiYWNrLXRvLXVuc2FmZS1yZXR1cm4iLCAibm8ta2V5d29yZC1pZGVudGlmaWVycyIsICJuby11bnJlc29sdmVkLWpzZG9jLWxpbmsiLCAibm8tdW51c2VkLXBhcmFtcy1tZW1iZXJzIiwgIm5vLXVzZWQtdW5kZXJzY29yZS12YXJpYWJsZXMiLCAicGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaCIsICJwcmVmZXItZGVkZW50IiwgInByZWZlci1sb2dpY2FsLW9wZXJhdG9yLW92ZXItdGVybmFyeSIsICJwcmVmZXItbm9vcC1hc3luYyIsICJyZWFkb25seS1pbnRlcmZhY2UtbWVtYmVycyIsICJyZWFkb25seS1tZW1iZXItYXJyYXlzIiwgInJlcXVpcmUtbWV0aG9kLXRlbXBsYXRlIiwgInJlcXVpcmUtc3VwZXItY2FsbCIsICJydWxlLXRlc3Rlci1oZWxwZXIiLCAidHMtZXN0cmVlLW5vZGUiXQp9Cg==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference path="../../library-references.d.cts" />
|
|
2
|
+
export * as 'import-fix' from './import-fix.cjs';
|
|
2
3
|
export * as 'in-house-plugin' from './in-house-plugin.cjs';
|
|
3
4
|
export * as 'no-async-callback-to-unsafe-return' from './no-async-callback-to-unsafe-return.cjs';
|
|
4
5
|
export * as 'no-keyword-identifiers' from './no-keyword-identifiers.cjs';
|
|
@@ -6,9 +7,11 @@ export * as 'no-unresolved-jsdoc-link' from './no-unresolved-jsdoc-link.cjs';
|
|
|
6
7
|
export * as 'no-unused-params-members' from './no-unused-params-members.cjs';
|
|
7
8
|
export * as 'no-used-underscore-variables' from './no-used-underscore-variables.cjs';
|
|
8
9
|
export * as 'params-options-name-match' from './params-options-name-match.cjs';
|
|
10
|
+
export * as 'prefer-dedent' from './prefer-dedent.cjs';
|
|
9
11
|
export * as 'prefer-logical-operator-over-ternary' from './prefer-logical-operator-over-ternary.cjs';
|
|
10
12
|
export * as 'prefer-noop-async' from './prefer-noop-async.cjs';
|
|
11
13
|
export * as 'readonly-interface-members' from './readonly-interface-members.cjs';
|
|
14
|
+
export * as 'readonly-member-arrays' from './readonly-member-arrays.cjs';
|
|
12
15
|
export * as 'require-method-template' from './require-method-template.cjs';
|
|
13
16
|
export * as 'require-super-call' from './require-super-call.cjs';
|
|
14
17
|
export * as 'rule-tester-helper' from './rule-tester-helper.cjs';
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
(function () {
|
|
6
|
+
function ensureBrowserProcess() {
|
|
7
|
+
const browserProcess = {
|
|
8
|
+
browser: true,
|
|
9
|
+
cwd() {
|
|
10
|
+
return '/';
|
|
11
|
+
},
|
|
12
|
+
env: {},
|
|
13
|
+
platform: 'android'
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const existingProcess = globalThis.process;
|
|
17
|
+
|
|
18
|
+
if (!existingProcess) {
|
|
19
|
+
globalThis.process = browserProcess;
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (existingProcess.versions?.node) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const existingProcessRecord = existingProcess;
|
|
28
|
+
|
|
29
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
30
|
+
existingProcessRecord[key] ??= value;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
existingProcessRecord['browser'] = true;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
ensureBrowserProcess();
|
|
37
|
+
})();
|
|
38
|
+
|
|
39
|
+
"use strict";
|
|
40
|
+
var __defProp = Object.defineProperty;
|
|
41
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
42
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
43
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
44
|
+
var __export = (target, all) => {
|
|
45
|
+
for (var name in all)
|
|
46
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
47
|
+
};
|
|
48
|
+
var __copyProps = (to, from, except, desc) => {
|
|
49
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
50
|
+
for (let key of __getOwnPropNames(from))
|
|
51
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
52
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
53
|
+
}
|
|
54
|
+
return to;
|
|
55
|
+
};
|
|
56
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
57
|
+
var prefer_dedent_exports = {};
|
|
58
|
+
__export(prefer_dedent_exports, {
|
|
59
|
+
MESSAGE_ID: () => MESSAGE_ID,
|
|
60
|
+
preferDedent: () => preferDedent
|
|
61
|
+
});
|
|
62
|
+
module.exports = __toCommonJS(prefer_dedent_exports);
|
|
63
|
+
var import_type_guards = require('@mnaoumov/typescript-lib/type-guards');
|
|
64
|
+
var import_utils = require('@typescript-eslint/utils');
|
|
65
|
+
var import_import_fix = require('./import-fix.cjs');
|
|
66
|
+
var import_ts_estree_node = require('./ts-estree-node.cjs');
|
|
67
|
+
const DEDENT_MODULE = "dedent";
|
|
68
|
+
const INDENT = " ";
|
|
69
|
+
const LINE_BREAK_SEPARATORS = /* @__PURE__ */ new Set(["\n", "\r\n"]);
|
|
70
|
+
const MINIMUM_ELEMENTS_WITH_A_LINE_BREAK = 2;
|
|
71
|
+
const MESSAGE_ID = "preferDedent";
|
|
72
|
+
const preferDedent = {
|
|
73
|
+
create(context) {
|
|
74
|
+
return {
|
|
75
|
+
"CallExpression"(node) {
|
|
76
|
+
const callNode = (0, import_ts_estree_node.toTSESTreeNode)(node);
|
|
77
|
+
const joined = getJoinedStringElements(callNode);
|
|
78
|
+
if (!joined) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
context.report({
|
|
82
|
+
fix(fixer) {
|
|
83
|
+
const sourceCode = context.sourceCode;
|
|
84
|
+
if (sourceCode.getCommentsInside(node).length > 0) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
const text = getJoinedText(joined.elements, joined.separator);
|
|
88
|
+
const lines = text === null ? null : toDedentLines(text);
|
|
89
|
+
if (lines === null) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
const fixes = [];
|
|
93
|
+
let name = (0, import_import_fix.findVisibleImportName)({ importedName: "default", moduleName: DEDENT_MODULE, node, sourceCode });
|
|
94
|
+
if (name === null) {
|
|
95
|
+
if (sourceCode.ast.sourceType !== "module") {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
name = (0, import_import_fix.getUnusedName)(sourceCode, "dedent");
|
|
99
|
+
fixes.push((0, import_import_fix.insertImport)(fixer, sourceCode, `import ${name} from '${DEDENT_MODULE}';`));
|
|
100
|
+
}
|
|
101
|
+
const linePrefix = sourceCode.text.slice(sourceCode.getIndexFromLoc({ column: 0, line: callNode.loc.start.line }), callNode.range[0]);
|
|
102
|
+
const lineIndent = linePrefix.slice(0, linePrefix.length - linePrefix.trimStart().length);
|
|
103
|
+
const body = lines.map((line) => line === "" ? "" : `${lineIndent}${INDENT}${line}`).join("\n");
|
|
104
|
+
fixes.push(fixer.replaceText(node, `${name}\`
|
|
105
|
+
${body}
|
|
106
|
+
${lineIndent}\``));
|
|
107
|
+
return fixes;
|
|
108
|
+
},
|
|
109
|
+
messageId: MESSAGE_ID,
|
|
110
|
+
node
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
},
|
|
115
|
+
meta: {
|
|
116
|
+
docs: {
|
|
117
|
+
description: "Prefer a `dedent` template over an array of string literals joined with a newline"
|
|
118
|
+
},
|
|
119
|
+
fixable: "code",
|
|
120
|
+
messages: {
|
|
121
|
+
[MESSAGE_ID]: "Write this multiline string as a `dedent` template instead of joining an array of string literals with a newline."
|
|
122
|
+
},
|
|
123
|
+
schema: [],
|
|
124
|
+
type: "suggestion"
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
function escapeLineBreaks(text) {
|
|
128
|
+
return text.replaceAll("\r", String.raw`\r`).replaceAll("\n", String.raw`\n`);
|
|
129
|
+
}
|
|
130
|
+
function escapeTemplateText(text) {
|
|
131
|
+
return text.replaceAll("`", "\\`").replaceAll("${", "\\${").replaceAll("\r", String.raw`\r`);
|
|
132
|
+
}
|
|
133
|
+
function getJoinedStringElements(node) {
|
|
134
|
+
const callee = node.callee;
|
|
135
|
+
if (node.optional || node.arguments.length !== 1 || callee.type !== import_utils.AST_NODE_TYPES.MemberExpression || callee.optional || callee.computed || callee.property.type !== import_utils.AST_NODE_TYPES.Identifier || callee.property.name !== "join" || callee.object.type !== import_utils.AST_NODE_TYPES.ArrayExpression) {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
const separator = getStaticString((0, import_type_guards.ensureNonNullable)(node.arguments[0]));
|
|
139
|
+
if (separator === null || !LINE_BREAK_SEPARATORS.has(separator)) {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
const elements = [];
|
|
143
|
+
for (const element of callee.object.elements) {
|
|
144
|
+
if (!isStringElement(element)) {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
elements.push(element);
|
|
148
|
+
}
|
|
149
|
+
return elements.length < MINIMUM_ELEMENTS_WITH_A_LINE_BREAK ? null : { elements, separator };
|
|
150
|
+
}
|
|
151
|
+
function getJoinedText(elements, separator) {
|
|
152
|
+
const values = [];
|
|
153
|
+
for (const element of elements) {
|
|
154
|
+
const value = getStaticString(element);
|
|
155
|
+
if (value === null) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
values.push(value);
|
|
159
|
+
}
|
|
160
|
+
return values.join(separator);
|
|
161
|
+
}
|
|
162
|
+
function getStaticString(node) {
|
|
163
|
+
if (node.type === import_utils.AST_NODE_TYPES.Literal) {
|
|
164
|
+
return typeof node.value === "string" ? node.value : null;
|
|
165
|
+
}
|
|
166
|
+
return node.type === import_utils.AST_NODE_TYPES.TemplateLiteral && node.expressions.length === 0 ? (0, import_type_guards.ensureNonNullable)(node.quasis[0]).value.cooked : null;
|
|
167
|
+
}
|
|
168
|
+
function isStringElement(element) {
|
|
169
|
+
return element?.type === import_utils.AST_NODE_TYPES.TemplateLiteral || element?.type === import_utils.AST_NODE_TYPES.Literal && typeof element.value === "string";
|
|
170
|
+
}
|
|
171
|
+
function toDedentLines(text) {
|
|
172
|
+
if (text.includes("\\")) {
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
const rest = text.replace(/^[\r\n]+/, "");
|
|
176
|
+
const leading = text.slice(0, text.length - rest.length);
|
|
177
|
+
const core = rest.replace(/[\r\n]+$/, "");
|
|
178
|
+
const trailing = rest.slice(core.length);
|
|
179
|
+
if (core === "" || leading === "" && /^\s/.test(core) || trailing === "" && /\s$/.test(core)) {
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
return `${escapeLineBreaks(leading)}${escapeTemplateText(core)}${escapeLineBreaks(trailing)}`.split("\n");
|
|
183
|
+
}
|
|
184
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
185
|
+
0 && (module.exports = {
|
|
186
|
+
MESSAGE_ID,
|
|
187
|
+
preferDedent
|
|
188
|
+
});
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saW50ZXJzL2VzbGludC1ydWxlcy9wcmVmZXItZGVkZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogcHJlZmVyLWRlZGVudFxuICpcbiAqIFJlcG9ydHMgYW4gYXJyYXkgb2Ygc3RyaW5nIGxpdGVyYWxzIGpvaW5lZCB3aXRoIGEgbmV3bGluZSAoYFsnYScsICdiJ10uam9pbignXFxuJylgKSBhbmQgZml4ZXMgaXQgdG8gYSBgZGVkZW50YFxuICogdGVtcGxhdGUuIEFuIGFycmF5IGhvbGRpbmcgYW55dGhpbmcgYnV0IHN0cmluZyBhbmQgdGVtcGxhdGUgbGl0ZXJhbHMgaXMgbGVmdCBhbG9uZTogaXQgYnVpbGRzIGEgc3RyaW5nIGF0IHJ1bnRpbWUuXG4gKlxuICogVGhlIGZpeCByZXdyaXRlcyB0aGUgam9pbmVkIHRleHQgc28gdGhhdCBgZGVkZW50YCAoMS54LCB1c2VkIGFzIGEgdGFnKSByZXR1cm5zIGV4YWN0bHkgdGhlIHNhbWUgc3RyaW5nLiBJdCBydW5zIHRoZVxuICogc2FtZSBzdGVwcyBgZGVkZW50YCBkb2VzIGluIHJldmVyc2U6IGEgbGVhZGluZyBvciB0cmFpbGluZyBydW4gb2YgbGluZSBicmVha3MgYW5kIGV2ZXJ5IGNhcnJpYWdlIHJldHVybiBiZWNvbWVcbiAqIGBcXG5gIC8gYFxccmAgZXNjYXBlcywgd2hpY2ggYGRlZGVudGAgZGVjb2RlcyBvbmx5IGFmdGVyIGl0IHRyaW1zLCBhbmQgYmFja3RpY2tzIGFuZCBgJHtgIGFyZSBlc2NhcGVkLiBUZXh0IGl0IGNhbm5vdFxuICogcmVwcmVzZW50IHRoYXQgd2F5IGtlZXBzIHRoZSBkaWFnbm9zdGljIHdpdGhvdXQgYSBmaXg6IGEgYmFja3NsYXNoLCB3aGljaCBgZGVkZW50YCBwYXNzZXMgb24gcmF3OyBsZWFkaW5nIG9yIHRyYWlsaW5nXG4gKiB3aGl0ZXNwYWNlIHRoYXQgYGRlZGVudGAgd291bGQgdHJpbTsgYSB0ZW1wbGF0ZSBsaXRlcmFsIHdpdGggZXhwcmVzc2lvbnMsIHdob3NlIHZhbHVlcyBhcmUgdW5rbm93bjsgYW5kIGNvbW1lbnRzXG4gKiBpbnNpZGUgdGhlIGNhbGwuIFRoZSBmaXggcmV1c2VzIGEgdmlzaWJsZSBkZWZhdWx0IGltcG9ydCBvZiBgZGVkZW50YCwgb3IgYWRkcyBvbmUgdW5kZXIgYSBmcmVlIG5hbWUuXG4gKi9cbmltcG9ydCB0eXBlIHsgVFNFU1RyZWUgfSBmcm9tICdAdHlwZXNjcmlwdC1lc2xpbnQvdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSAnZXNsaW50JztcblxuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZS1ndWFyZHMnO1xuaW1wb3J0IHsgQVNUX05PREVfVFlQRVMgfSBmcm9tICdAdHlwZXNjcmlwdC1lc2xpbnQvdXRpbHMnO1xuXG5pbXBvcnQge1xuICBmaW5kVmlzaWJsZUltcG9ydE5hbWUsXG4gIGdldFVudXNlZE5hbWUsXG4gIGluc2VydEltcG9ydFxufSBmcm9tICcuL2ltcG9ydC1maXgudHMnO1xuaW1wb3J0IHsgdG9UU0VTVHJlZU5vZGUgfSBmcm9tICcuL3RzLWVzdHJlZS1ub2RlLnRzJztcblxuY29uc3QgREVERU5UX01PRFVMRSA9ICdkZWRlbnQnO1xuY29uc3QgSU5ERU5UID0gJyAgJztcbmNvbnN0IExJTkVfQlJFQUtfU0VQQVJBVE9SUyA9IG5ldyBTZXQoWydcXG4nLCAnXFxyXFxuJ10pO1xuY29uc3QgTUlOSU1VTV9FTEVNRU5UU19XSVRIX0FfTElORV9CUkVBSyA9IDI7XG5cbi8qKlxuICogTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGFuIGFycmF5IG9mIHN0cmluZyBsaXRlcmFscyBpcyBqb2luZWQgd2l0aCBhIG5ld2xpbmUgaW5zdGVhZCBvZiB3cml0dGVuIGFzIGEgYGRlZGVudGAgdGVtcGxhdGUuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEID0gJ3ByZWZlckRlZGVudCc7XG5cbnR5cGUgU3RyaW5nRWxlbWVudCA9IFRTRVNUcmVlLlN0cmluZ0xpdGVyYWwgfCBUU0VTVHJlZS5UZW1wbGF0ZUxpdGVyYWw7XG5cbi8qKlxuICogRVNMaW50IHJ1bGUgcHJlZmVycmluZyBhIGBkZWRlbnRgIHRlbXBsYXRlIG92ZXIgYW4gYXJyYXkgb2Ygc3RyaW5nIGxpdGVyYWxzIGpvaW5lZCB3aXRoIGEgbmV3bGluZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHByZWZlckRlZGVudDogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICAnQ2FsbEV4cHJlc3Npb24nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjYWxsTm9kZSA9IHRvVFNFU1RyZWVOb2RlKG5vZGUpIGFzIFRTRVNUcmVlLkNhbGxFeHByZXNzaW9uO1xuICAgICAgICBjb25zdCBqb2luZWQgPSBnZXRKb2luZWRTdHJpbmdFbGVtZW50cyhjYWxsTm9kZSk7XG4gICAgICAgIGlmICgham9pbmVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIGZpeChmaXhlcikge1xuICAgICAgICAgICAgY29uc3Qgc291cmNlQ29kZSA9IGNvbnRleHQuc291cmNlQ29kZTtcbiAgICAgICAgICAgIGlmIChzb3VyY2VDb2RlLmdldENvbW1lbnRzSW5zaWRlKG5vZGUpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB0ZXh0ID0gZ2V0Sm9pbmVkVGV4dChqb2luZWQuZWxlbWVudHMsIGpvaW5lZC5zZXBhcmF0b3IpO1xuICAgICAgICAgICAgY29uc3QgbGluZXMgPSB0ZXh0ID09PSBudWxsID8gbnVsbCA6IHRvRGVkZW50TGluZXModGV4dCk7XG4gICAgICAgICAgICBpZiAobGluZXMgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGZpeGVzOiBSdWxlLkZpeFtdID0gW107XG4gICAgICAgICAgICBsZXQgbmFtZSA9IGZpbmRWaXNpYmxlSW1wb3J0TmFtZSh7IGltcG9ydGVkTmFtZTogJ2RlZmF1bHQnLCBtb2R1bGVOYW1lOiBERURFTlRfTU9EVUxFLCBub2RlLCBzb3VyY2VDb2RlIH0pO1xuICAgICAgICAgICAgaWYgKG5hbWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gQSBzY3JpcHQgY2Fubm90IGFjY2VwdCBhbiBFU00gaW1wb3J0LiBMZWF2ZSBpdHMgZGlhZ25vc3RpYyBmb3IgYSBtYW51YWwgZWRpdC5cbiAgICAgICAgICAgICAgaWYgKHNvdXJjZUNvZGUuYXN0LnNvdXJjZVR5cGUgIT09ICdtb2R1bGUnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbmFtZSA9IGdldFVudXNlZE5hbWUoc291cmNlQ29kZSwgJ2RlZGVudCcpO1xuICAgICAgICAgICAgICBmaXhlcy5wdXNoKGluc2VydEltcG9ydChmaXhlciwgc291cmNlQ29kZSwgYGltcG9ydCAke25hbWV9IGZyb20gJyR7REVERU5UX01PRFVMRX0nO2ApKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbGluZVByZWZpeCA9IHNvdXJjZUNvZGUudGV4dC5zbGljZShzb3VyY2VDb2RlLmdldEluZGV4RnJvbUxvYyh7IGNvbHVtbjogMCwgbGluZTogY2FsbE5vZGUubG9jLnN0YXJ0LmxpbmUgfSksIGNhbGxOb2RlLnJhbmdlWzBdKTtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVJbmRlbnQgPSBsaW5lUHJlZml4LnNsaWNlKDAsIGxpbmVQcmVmaXgubGVuZ3RoIC0gbGluZVByZWZpeC50cmltU3RhcnQoKS5sZW5ndGgpO1xuICAgICAgICAgICAgY29uc3QgYm9keSA9IGxpbmVzLm1hcCgobGluZSkgPT4gbGluZSA9PT0gJycgPyAnJyA6IGAke2xpbmVJbmRlbnR9JHtJTkRFTlR9JHtsaW5lfWApLmpvaW4oJ1xcbicpO1xuICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5yZXBsYWNlVGV4dChub2RlLCBgJHtuYW1lfVxcYFxcbiR7Ym9keX1cXG4ke2xpbmVJbmRlbnR9XFxgYCkpO1xuICAgICAgICAgICAgcmV0dXJuIGZpeGVzO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgIG5vZGVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnUHJlZmVyIGEgYGRlZGVudGAgdGVtcGxhdGUgb3ZlciBhbiBhcnJheSBvZiBzdHJpbmcgbGl0ZXJhbHMgam9pbmVkIHdpdGggYSBuZXdsaW5lJ1xuICAgIH0sXG4gICAgZml4YWJsZTogJ2NvZGUnLFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBbTUVTU0FHRV9JRF06ICdXcml0ZSB0aGlzIG11bHRpbGluZSBzdHJpbmcgYXMgYSBgZGVkZW50YCB0ZW1wbGF0ZSBpbnN0ZWFkIG9mIGpvaW5pbmcgYW4gYXJyYXkgb2Ygc3RyaW5nIGxpdGVyYWxzIHdpdGggYSBuZXdsaW5lLidcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nXG4gIH1cbn07XG5cbmludGVyZmFjZSBKb2luZWRTdHJpbmdFbGVtZW50cyB7XG4gIHJlYWRvbmx5IGVsZW1lbnRzOiByZWFkb25seSBTdHJpbmdFbGVtZW50W107XG4gIHJlYWRvbmx5IHNlcGFyYXRvcjogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBlc2NhcGVMaW5lQnJlYWtzKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB0ZXh0LnJlcGxhY2VBbGwoJ1xccicsIFN0cmluZy5yYXdgXFxyYCkucmVwbGFjZUFsbCgnXFxuJywgU3RyaW5nLnJhd2BcXG5gKTtcbn1cblxuZnVuY3Rpb24gZXNjYXBlVGVtcGxhdGVUZXh0KHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB0ZXh0LnJlcGxhY2VBbGwoJ2AnLCAnXFxcXGAnKS5yZXBsYWNlQWxsKCckeycsICdcXFxcJHsnKS5yZXBsYWNlQWxsKCdcXHInLCBTdHJpbmcucmF3YFxccmApO1xufVxuXG5mdW5jdGlvbiBnZXRKb2luZWRTdHJpbmdFbGVtZW50cyhub2RlOiBUU0VTVHJlZS5DYWxsRXhwcmVzc2lvbik6IEpvaW5lZFN0cmluZ0VsZW1lbnRzIHwgbnVsbCB7XG4gIGNvbnN0IGNhbGxlZSA9IG5vZGUuY2FsbGVlO1xuICBpZiAoXG4gICAgbm9kZS5vcHRpb25hbCB8fCBub2RlLmFyZ3VtZW50cy5sZW5ndGggIT09IDFcbiAgICB8fCBjYWxsZWUudHlwZSAhPT0gQVNUX05PREVfVFlQRVMuTWVtYmVyRXhwcmVzc2lvbiB8fCBjYWxsZWUub3B0aW9uYWwgfHwgY2FsbGVlLmNvbXB1dGVkXG4gICAgfHwgY2FsbGVlLnByb3BlcnR5LnR5cGUgIT09IEFTVF9OT0RFX1RZUEVTLklkZW50aWZpZXIgfHwgY2FsbGVlLnByb3BlcnR5Lm5hbWUgIT09ICdqb2luJ1xuICAgIHx8IGNhbGxlZS5vYmplY3QudHlwZSAhPT0gQVNUX05PREVfVFlQRVMuQXJyYXlFeHByZXNzaW9uXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qgc2VwYXJhdG9yID0gZ2V0U3RhdGljU3RyaW5nKGVuc3VyZU5vbk51bGxhYmxlKG5vZGUuYXJndW1lbnRzWzBdKSk7XG4gIGlmIChzZXBhcmF0b3IgPT09IG51bGwgfHwgIUxJTkVfQlJFQUtfU0VQQVJBVE9SUy5oYXMoc2VwYXJhdG9yKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgZWxlbWVudHM6IFN0cmluZ0VsZW1lbnRbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgY2FsbGVlLm9iamVjdC5lbGVtZW50cykge1xuICAgIGlmICghaXNTdHJpbmdFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZWxlbWVudHMucHVzaChlbGVtZW50KTtcbiAgfVxuICAvLyBBIHNpbmdsZSBlbGVtZW50IGpvaW5zIHRvIGl0c2VsZjsgdGhlcmUgaXMgbm8gbGluZSBicmVhayB0byByZXdyaXRlLlxuICByZXR1cm4gZWxlbWVudHMubGVuZ3RoIDwgTUlOSU1VTV9FTEVNRU5UU19XSVRIX0FfTElORV9CUkVBSyA/IG51bGwgOiB7IGVsZW1lbnRzLCBzZXBhcmF0b3IgfTtcbn1cblxuZnVuY3Rpb24gZ2V0Sm9pbmVkVGV4dChlbGVtZW50czogcmVhZG9ubHkgU3RyaW5nRWxlbWVudFtdLCBzZXBhcmF0b3I6IHN0cmluZyk6IG51bGwgfCBzdHJpbmcge1xuICBjb25zdCB2YWx1ZXM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3QgZWxlbWVudCBvZiBlbGVtZW50cykge1xuICAgIGNvbnN0IHZhbHVlID0gZ2V0U3RhdGljU3RyaW5nKGVsZW1lbnQpO1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHZhbHVlcy5wdXNoKHZhbHVlKTtcbiAgfVxuICByZXR1cm4gdmFsdWVzLmpvaW4oc2VwYXJhdG9yKTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhdGljU3RyaW5nKG5vZGU6IFRTRVNUcmVlLk5vZGUpOiBudWxsIHwgc3RyaW5nIHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gQVNUX05PREVfVFlQRVMuTGl0ZXJhbCkge1xuICAgIHJldHVybiB0eXBlb2Ygbm9kZS52YWx1ZSA9PT0gJ3N0cmluZycgPyBub2RlLnZhbHVlIDogbnVsbDtcbiAgfVxuICAvLyBBbiB1bnRhZ2dlZCB0ZW1wbGF0ZSB3aXRoIGFuIGludmFsaWQgZXNjYXBlIGlzIGEgc3ludGF4IGVycm9yLCBzbyBpdHMgY29va2VkIHRleHQgYWx3YXlzIGV4aXN0cy5cbiAgcmV0dXJuIG5vZGUudHlwZSA9PT0gQVNUX05PREVfVFlQRVMuVGVtcGxhdGVMaXRlcmFsICYmIG5vZGUuZXhwcmVzc2lvbnMubGVuZ3RoID09PSAwID8gZW5zdXJlTm9uTnVsbGFibGUobm9kZS5xdWFzaXNbMF0pLnZhbHVlLmNvb2tlZCA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGlzU3RyaW5nRWxlbWVudChlbGVtZW50OiBudWxsIHwgVFNFU1RyZWUuTm9kZSk6IGVsZW1lbnQgaXMgU3RyaW5nRWxlbWVudCB7XG4gIHJldHVybiBlbGVtZW50Py50eXBlID09PSBBU1RfTk9ERV9UWVBFUy5UZW1wbGF0ZUxpdGVyYWxcbiAgICB8fCAoZWxlbWVudD8udHlwZSA9PT0gQVNUX05PREVfVFlQRVMuTGl0ZXJhbCAmJiB0eXBlb2YgZWxlbWVudC52YWx1ZSA9PT0gJ3N0cmluZycpO1xufVxuXG4vKipcbiAqIEVuY29kZXMgdGV4dCBhcyB0aGUgbGluZXMgb2YgYSBgZGVkZW50YCB0ZW1wbGF0ZSBib2R5LCBiZWZvcmUgaW5kZW50YXRpb24uXG4gKlxuICogYGRlZGVudGAgdHJpbXMgdGhlIHdob2xlIHJlc3VsdCBhbmQgb25seSB0aGVuIGRlY29kZXMgYFxcbmAgYW5kIGBcXHJgIGVzY2FwZXMsIHNvIGFuIGVkZ2UgcnVuIG9mIGxpbmUgYnJlYWtzIHN1cnZpdmVzXG4gKiB3aGVuIHdyaXR0ZW4gYXMgZXNjYXBlcywgYW5kIGFueSBvdGhlciBlZGdlIHdoaXRlc3BhY2UgZG9lcyBub3Qgc3Vydml2ZSBhdCBhbGwuIEl0IHN0cmlwcyB0aGUgc21hbGxlc3QgaW5kZW50YXRpb25cbiAqIG9mIHRoZSBsaW5lcywgYW5kIHRoZSBmaXJzdCBsaW5lIGhlcmUgYWx3YXlzIHN0YXJ0cyB3aXRoIGEgbm9uLWJsYW5rIGNoYXJhY3Rlciwgc28gZXZlcnkgbGluZSBrZWVwcyBpdHMgb3duLlxuICpcbiAqIEBwYXJhbSB0ZXh0IC0gVGhlIHRleHQgdGhlIHRlbXBsYXRlIG11c3QgcHJvZHVjZS5cbiAqIEByZXR1cm5zIFRoZSBib2R5IGxpbmVzLCBvciBgbnVsbGAgd2hlbiBgZGVkZW50YCBjYW5ub3QgcHJvZHVjZSB0aGUgdGV4dCBmcm9tIGEgcGxhaW4gdGVtcGxhdGUuXG4gKi9cbmZ1bmN0aW9uIHRvRGVkZW50TGluZXModGV4dDogc3RyaW5nKTogbnVsbCB8IHN0cmluZ1tdIHtcbiAgaWYgKHRleHQuaW5jbHVkZXMoJ1xcXFwnKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHJlc3QgPSB0ZXh0LnJlcGxhY2UoL15bXFxyXFxuXSsvLCAnJyk7XG4gIGNvbnN0IGxlYWRpbmcgPSB0ZXh0LnNsaWNlKDAsIHRleHQubGVuZ3RoIC0gcmVzdC5sZW5ndGgpO1xuICBjb25zdCBjb3JlID0gcmVzdC5yZXBsYWNlKC9bXFxyXFxuXSskLywgJycpO1xuICBjb25zdCB0cmFpbGluZyA9IHJlc3Quc2xpY2UoY29yZS5sZW5ndGgpO1xuICBpZiAoY29yZSA9PT0gJycgfHwgKGxlYWRpbmcgPT09ICcnICYmIC9eXFxzLy50ZXN0KGNvcmUpKSB8fCAodHJhaWxpbmcgPT09ICcnICYmIC9cXHMkLy50ZXN0KGNvcmUpKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gVGhlIGVzY2FwZXMgaG9sZCBubyBsaW5lIGJyZWFrLCBzbyBzcGxpdHRpbmcgYWZ0ZXIgZXNjYXBpbmcgc3BsaXRzIG9ubHkgdGhlIGxpbmUgYnJlYWtzIG9mIHRoZSBjb3JlLlxuICByZXR1cm4gYCR7ZXNjYXBlTGluZUJyZWFrcyhsZWFkaW5nKX0ke2VzY2FwZVRlbXBsYXRlVGV4dChjb3JlKX0ke2VzY2FwZUxpbmVCcmVha3ModHJhaWxpbmcpfWAuc3BsaXQoJ1xcbicpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7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
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference path="../../library-references.d.cts" />
|
|
2
|
+
import type { Rule } from 'eslint' with { 'resolution-mode': 'import' };
|
|
3
|
+
/**
|
|
4
|
+
* Message ID reported when an array of string literals is joined with a newline instead of written as a `dedent` template.
|
|
5
|
+
*/
|
|
6
|
+
export declare const MESSAGE_ID = "preferDedent";
|
|
7
|
+
/**
|
|
8
|
+
* ESLint rule preferring a `dedent` template over an array of string literals joined with a newline.
|
|
9
|
+
*/
|
|
10
|
+
export declare const preferDedent: Rule.RuleModule;
|