@trebired/code-discipline 1.4.1 → 1.5.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/CHANGELOG.md +8 -0
- package/README.md +147 -6
- package/dist/checks/index.d.ts.map +1 -1
- package/dist/checks/index.js +5 -0
- package/dist/checks/index.js.map +1 -1
- package/dist/checks/rules/max-function-lines.d.ts +6 -0
- package/dist/checks/rules/max-function-lines.d.ts.map +1 -0
- package/dist/checks/rules/max-function-lines.js +103 -0
- package/dist/checks/rules/max-function-lines.js.map +1 -0
- package/dist/checks/types.d.ts +43 -1
- package/dist/checks/types.d.ts.map +1 -1
- package/dist/cli/run-cli.d.ts.map +1 -1
- package/dist/cli/run-cli.js +10 -12
- package/dist/cli/run-cli.js.map +1 -1
- package/dist/config/index.d.ts +4 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +29 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/normalize-check-options.d.ts.map +1 -1
- package/dist/config/normalize-check-options.js +2 -1
- package/dist/config/normalize-check-options.js.map +1 -1
- package/dist/config/normalize-rule-options.d.ts +6 -2
- package/dist/config/normalize-rule-options.d.ts.map +1 -1
- package/dist/config/normalize-rule-options.js +16 -1
- package/dist/config/normalize-rule-options.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/run.d.ts +3 -3
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +28 -8
- package/dist/run.js.map +1 -1
- package/dist/runtime/orchestrate.d.ts +20 -0
- package/dist/runtime/orchestrate.d.ts.map +1 -0
- package/dist/runtime/orchestrate.js +60 -0
- package/dist/runtime/orchestrate.js.map +1 -0
- package/dist/runtime/runtime-imports-sync.d.ts +13 -0
- package/dist/runtime/runtime-imports-sync.d.ts.map +1 -0
- package/dist/runtime/runtime-imports-sync.js +87 -0
- package/dist/runtime/runtime-imports-sync.js.map +1 -0
- package/dist/runtime/tsconfig-paths.d.ts +21 -0
- package/dist/runtime/tsconfig-paths.d.ts.map +1 -0
- package/dist/runtime/tsconfig-paths.js +89 -0
- package/dist/runtime/tsconfig-paths.js.map +1 -0
- package/dist/shared/discipline-types.d.ts +1 -1
- package/dist/shared/discipline-types.d.ts.map +1 -1
- package/package.json +9 -1
package/dist/config/index.js
CHANGED
|
@@ -2,6 +2,14 @@ import path from "node:path";
|
|
|
2
2
|
import { pathToFileURL } from "node:url";
|
|
3
3
|
import { InvalidCodeDisciplineConfigError } from "../shared/errors.js";
|
|
4
4
|
import { pathExists } from "../shared/utils.js";
|
|
5
|
+
const DEFAULT_CONFIG_FILENAMES = [
|
|
6
|
+
"discipline.config.mjs",
|
|
7
|
+
"discipline.config.js",
|
|
8
|
+
"discipline.config.cjs",
|
|
9
|
+
"code-discipline.config.mjs",
|
|
10
|
+
"code-discipline.config.js",
|
|
11
|
+
"code-discipline.config.cjs",
|
|
12
|
+
];
|
|
5
13
|
function defineCodeDisciplineConfig(config) {
|
|
6
14
|
return config;
|
|
7
15
|
}
|
|
@@ -24,5 +32,25 @@ async function loadCodeDisciplineConfigModule(projectRoot, configPath) {
|
|
|
24
32
|
configPath: resolvedPath,
|
|
25
33
|
};
|
|
26
34
|
}
|
|
27
|
-
|
|
35
|
+
async function findCodeDisciplineConfigModule(projectRoot) {
|
|
36
|
+
for (const filename of DEFAULT_CONFIG_FILENAMES) {
|
|
37
|
+
const resolvedPath = path.resolve(projectRoot, filename);
|
|
38
|
+
if (await pathExists(resolvedPath)) {
|
|
39
|
+
return resolvedPath;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
async function loadResolvedCodeDisciplineConfig(projectRoot, configPath) {
|
|
45
|
+
const resolvedPath = configPath
|
|
46
|
+
? path.resolve(projectRoot, configPath)
|
|
47
|
+
: await findCodeDisciplineConfigModule(projectRoot);
|
|
48
|
+
if (!resolvedPath) {
|
|
49
|
+
throw new InvalidCodeDisciplineConfigError("No code-discipline config module was found", {
|
|
50
|
+
tried: DEFAULT_CONFIG_FILENAMES,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return loadCodeDisciplineConfigModule(projectRoot, resolvedPath);
|
|
54
|
+
}
|
|
55
|
+
export { DEFAULT_CONFIG_FILENAMES, defineCodeDisciplineConfig, findCodeDisciplineConfigModule, loadCodeDisciplineConfigModule, loadResolvedCodeDisciplineConfig };
|
|
28
56
|
//# sourceMappingURL=index.js.map
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,wBAAwB,GAAG;IAC/B,uBAAuB;IACvB,sBAAsB;IACtB,uBAAuB;IACvB,4BAA4B;IAC5B,2BAA2B;IAC3B,4BAA4B;CAC7B,CAAC;AAOF,SAAS,0BAA0B,CAAC,MAA4B;IAC9D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,8BAA8B,CAAC,WAAmB,EAAE,UAAkB;IACnF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAE3D,IAAI,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,gCAAgC,CAAC,6BAA6B,EAAE;YACxE,QAAQ,EAAE,YAAY;SACvB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAkB,CAAC;IAE3C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,gCAAgC,CAAC,mDAAmD,EAAE;YAC9F,QAAQ,EAAE,YAAY;SACvB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAA8B;QACtC,UAAU,EAAE,YAAY;KACzB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,8BAA8B,CAAC,WAAmB;IAC/D,KAAK,MAAM,QAAQ,IAAI,wBAAwB,EAAE,CAAC;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,gCAAgC,CAAC,WAAmB,EAAE,UAAmB;IACtF,MAAM,YAAY,GAAG,UAAU;QAC7B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC;QACvC,CAAC,CAAC,MAAM,8BAA8B,CAAC,WAAW,CAAC,CAAC;IAEtD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,gCAAgC,CAAC,4CAA4C,EAAE;YACvF,KAAK,EAAE,wBAAwB;SAChC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,8BAA8B,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AACnE,CAAC;AAED,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,gCAAgC,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-check-options.d.ts","sourceRoot":"","sources":["../../src/config/normalize-check-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize-check-options.d.ts","sourceRoot":"","sources":["../../src/config/normalize-check-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAS3G,iBAAe,mCAAmC,CAChD,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,oCAAoC,CAAC,CAkB/C;AAED,OAAO,EAAE,mCAAmC,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { normalizeFolderizeCompoundFilesRule, normalizeMaxFileLinesRule, normalizeSyncImportsRule } from "./normalize-rule-options.js";
|
|
1
|
+
import { normalizeFolderizeCompoundFilesRule, normalizeMaxFileLinesRule, normalizeMaxFunctionLinesRule, normalizeSyncImportsRule, } from "./normalize-rule-options.js";
|
|
2
2
|
import { normalizeSourceOptions } from "./normalize-source-options.js";
|
|
3
3
|
async function normalizeCheckCodeDisciplineOptions(options) {
|
|
4
4
|
const source = await normalizeSourceOptions(options);
|
|
@@ -12,6 +12,7 @@ async function normalizeCheckCodeDisciplineOptions(options) {
|
|
|
12
12
|
},
|
|
13
13
|
rules: {
|
|
14
14
|
maxFileLines: normalizeMaxFileLinesRule(options.rules?.maxFileLines),
|
|
15
|
+
maxFunctionLines: normalizeMaxFunctionLinesRule(options.rules?.maxFunctionLines),
|
|
15
16
|
folderizeCompoundFiles: normalizeFolderizeCompoundFilesRule(options.rules?.folderizeCompoundFiles),
|
|
16
17
|
syncImports: normalizeSyncImportsRule(options.rules?.syncImports),
|
|
17
18
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-check-options.js","sourceRoot":"","sources":["../../src/config/normalize-check-options.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"normalize-check-options.js","sourceRoot":"","sources":["../../src/config/normalize-check-options.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mCAAmC,EACnC,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,KAAK,UAAU,mCAAmC,CAChD,OAAmC;IAEnC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE;YACP,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;YACjG,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM;YAC/B,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO;YACjC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,KAAK;SACvC;QACD,KAAK,EAAE;YACL,YAAY,EAAE,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;YACpE,gBAAgB,EAAE,6BAA6B,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC;YAChF,sBAAsB,EAAE,mCAAmC,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC;YAClG,WAAW,EAAE,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;SAClE;KACF,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,mCAAmC,EAAE,CAAC"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import type { FolderizeCompoundFilesRuleOptions, MaxFileLinesRuleOptions } from "../checks/types.js";
|
|
1
|
+
import type { FolderizeCompoundFilesRuleOptions, MaxFileLinesRuleOptions, MaxFunctionLinesRuleOptions } from "../checks/types.js";
|
|
2
2
|
import type { SyncImportsRuleOptions } from "../imports/types.js";
|
|
3
3
|
import type { CodeDisciplineSeverity } from "../shared/discipline-types.js";
|
|
4
4
|
declare function normalizeMaxFileLinesRule(rule: MaxFileLinesRuleOptions | undefined): {
|
|
5
5
|
severity: CodeDisciplineSeverity;
|
|
6
6
|
max: number;
|
|
7
7
|
};
|
|
8
|
+
declare function normalizeMaxFunctionLinesRule(rule: MaxFunctionLinesRuleOptions | undefined): {
|
|
9
|
+
severity: CodeDisciplineSeverity;
|
|
10
|
+
max: number;
|
|
11
|
+
};
|
|
8
12
|
declare function normalizeFolderizeCompoundFilesRule(rule: FolderizeCompoundFilesRuleOptions | undefined): {
|
|
9
13
|
severity: CodeDisciplineSeverity;
|
|
10
14
|
fix: boolean;
|
|
@@ -21,5 +25,5 @@ declare function normalizeSyncImportsRule(rule: SyncImportsRuleOptions | undefin
|
|
|
21
25
|
};
|
|
22
26
|
allowRelative: string[] | import("../index.js").AllowRelativeFn;
|
|
23
27
|
};
|
|
24
|
-
export { normalizeFolderizeCompoundFilesRule, normalizeMaxFileLinesRule, normalizeSyncImportsRule };
|
|
28
|
+
export { normalizeFolderizeCompoundFilesRule, normalizeMaxFileLinesRule, normalizeMaxFunctionLinesRule, normalizeSyncImportsRule };
|
|
25
29
|
//# sourceMappingURL=normalize-rule-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-rule-options.d.ts","sourceRoot":"","sources":["../../src/config/normalize-rule-options.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,iCAAiC,EACjC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"normalize-rule-options.d.ts","sourceRoot":"","sources":["../../src/config/normalize-rule-options.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,iCAAiC,EACjC,uBAAuB,EACvB,2BAA2B,EAE5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AA4B5E,iBAAS,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,GAAG,SAAS;;;EAe3E;AAED,iBAAS,6BAA6B,CAAC,IAAI,EAAE,2BAA2B,GAAG,SAAS;;;EAenF;AAED,iBAAS,mCAAmC,CAAC,IAAI,EAAE,iCAAiC,GAAG,SAAS;;;;EAgB/F;AAED,iBAAS,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,GAAG,SAAS;;;;;;;;;;EAmBzE;AAMD,OAAO,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -35,6 +35,21 @@ function normalizeMaxFileLinesRule(rule) {
|
|
|
35
35
|
max: Math.max(1, Math.floor(rule.max)),
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
+
function normalizeMaxFunctionLinesRule(rule) {
|
|
39
|
+
if (!rule)
|
|
40
|
+
return undefined;
|
|
41
|
+
assertRemovedKeys("maxFunctionLines", rule, ["enabled", "stop", "fix"]);
|
|
42
|
+
if (!Number.isFinite(rule?.max)) {
|
|
43
|
+
throw new InvalidCodeDisciplineConfigError("maxFunctionLines.max must be a finite number when the rule is configured", {
|
|
44
|
+
rule: "maxFunctionLines",
|
|
45
|
+
value: rule?.max,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
severity: normalizeSeverity("maxFunctionLines", rule),
|
|
50
|
+
max: Math.max(1, Math.floor(rule.max)),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
38
53
|
function normalizeFolderizeCompoundFilesRule(rule) {
|
|
39
54
|
if (!rule)
|
|
40
55
|
return undefined;
|
|
@@ -73,5 +88,5 @@ function normalizeSyncImportsRule(rule) {
|
|
|
73
88
|
function uniqueStrings(values) {
|
|
74
89
|
return Array.from(new Set(values));
|
|
75
90
|
}
|
|
76
|
-
export { normalizeFolderizeCompoundFilesRule, normalizeMaxFileLinesRule, normalizeSyncImportsRule };
|
|
91
|
+
export { normalizeFolderizeCompoundFilesRule, normalizeMaxFileLinesRule, normalizeMaxFunctionLinesRule, normalizeSyncImportsRule };
|
|
77
92
|
//# sourceMappingURL=normalize-rule-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-rule-options.js","sourceRoot":"","sources":["../../src/config/normalize-rule-options.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,0CAA0C,EAC1C,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize-rule-options.js","sourceRoot":"","sources":["../../src/config/normalize-rule-options.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { DEFAULT_ALIAS_PREFIX, DEFAULT_ALIAS_RANDOM_LENGTH, DEFAULT_ALIAS_STRATEGY, DEFAULT_ALLOW_RELATIVE, DEFAULT_EXCLUDE_DIRS, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS, DEFAULT_RULE_FIX, DEFAULT_RULE_SEVERITY, DEFAULT_SOURCE_EXTENSIONS, DEFAULT_SOURCE_ROOT, } from "./shared/constants.js";
|
|
2
2
|
export { checkCodeDiscipline, fixCodeDiscipline } from "./checks/index.js";
|
|
3
|
-
export { defineCodeDisciplineConfig } from "./config/index.js";
|
|
3
|
+
export { DEFAULT_CONFIG_FILENAMES, defineCodeDisciplineConfig, findCodeDisciplineConfigModule, loadResolvedCodeDisciplineConfig, } from "./config/index.js";
|
|
4
4
|
export { normalizeSyncImportsOptions } from "./config/normalize-sync-imports-options.js";
|
|
5
5
|
export { planTsconfigAliases, syncTsconfigAliases } from "./imports/aliases.js";
|
|
6
6
|
export { resolveRelativeImport } from "./imports/resolve.js";
|
|
@@ -8,6 +8,8 @@ export { rewriteSourceImports } from "./imports/rewrite.js";
|
|
|
8
8
|
export { scanSourceFiles } from "./imports/scan.js";
|
|
9
9
|
export { createRandomAlias, createRelativePathHashAlias, createRelativePathSlugAlias } from "./imports/strategies.js";
|
|
10
10
|
export { syncImports } from "./imports/sync-imports.js";
|
|
11
|
+
export { syncPackageJsonImportsFromTsconfigPaths } from "./runtime/runtime-imports-sync.js";
|
|
12
|
+
export { prepareTsconfigPaths, restoreTsconfigPaths } from "./runtime/tsconfig-paths.js";
|
|
11
13
|
export { codeDiscipline, createCodeDiscipline } from "./run.js";
|
|
12
14
|
export { resolveLogger } from "./shared/logging.js";
|
|
13
15
|
export { AliasCollisionError, FileConflictError, FixFailureError, InvalidCodeDisciplineConfigError, InvalidAliasError, InvalidProjectRootError, InvalidSourceRootError, InvalidTsconfigPathError, ParseFailureError, RewriteFailureError, SyncImportsError, isSyncImportsError, } from "./shared/errors.js";
|
|
@@ -15,5 +17,5 @@ export type { CodeDisciplineResult, CodeDisciplineRuleName, CodeDisciplineSeveri
|
|
|
15
17
|
export type { CodeDisciplineLogAdapterFn, CodeDisciplineLogEvent, CodeDisciplineLogLevel, LogAdapterFn, LoggingOptions, NormalizedCodeDisciplineLogger, NormalizedSyncImportsLogger, SyncImportsLogEvent, SyncImportsLogLevel, } from "./shared/logging-types.js";
|
|
16
18
|
export type { AliasRecord, AliasStrategyFn, AliasStrategyInput, AllowRelativeContext, AllowRelativeFn, NormalizedSyncImportsOptions, RewriteFileResult, RewriteResult, ScannedSourceFile, SourceScanOptions, SyncAliasesResult, SyncImportsOptions, SyncImportsResult, SyncImportsRuleOptions, TsconfigJson, } from "./imports/types.js";
|
|
17
19
|
export type { CheckCodeDisciplineCommandOptions, CodeDisciplineInvocationOptions, CodeDisciplineMode, CodeDisciplineOptions, CodeDisciplineResult as RunCodeDisciplineResult, CodeDisciplineRuntimeMode, CreatedCodeDiscipline, FixCodeDisciplineCommandOptions, StartupCodeDisciplineCommandOptions, SyncCodeDisciplineCommandOptions, } from "./run.js";
|
|
18
|
-
export type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineConfig, CodeDisciplineRules, FixCodeDisciplineOptions, FixCodeDisciplineResult, FolderizeCompoundFilesRuleOptions, MaxFileLinesRuleOptions, NormalizedCheckCodeDisciplineOptions, NormalizedFolderizeCompoundFilesRule, NormalizedMaxFileLinesRule, SeverityRuleOptions, } from "./checks/types.js";
|
|
20
|
+
export type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineConfig, CodeDisciplineLifecycleContext, CodeDisciplineLifecycleHookResult, CodeDisciplineLifecycleHooks, CodeDisciplineRuntimeImportsSyncOptions, CodeDisciplineRuntimeMode as SharedCodeDisciplineRuntimeMode, CodeDisciplineRules, CodeDisciplineTsconfigPathsOptions, FixCodeDisciplineOptions, FixCodeDisciplineResult, FolderizeCompoundFilesRuleOptions, MaxFileLinesRuleOptions, MaxFunctionLinesRuleOptions, NormalizedCheckCodeDisciplineOptions, NormalizedFolderizeCompoundFilesRule, NormalizedMaxFileLinesRule, NormalizedMaxFunctionLinesRule, SeverityRuleOptions, TsconfigPathsNormalizeMode, } from "./checks/types.js";
|
|
19
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,uCAAuC,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gCAAgC,EAChC,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,8BAA8B,EAC9B,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,iCAAiC,EACjC,+BAA+B,EAC/B,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,IAAI,uBAAuB,EAC/C,yBAAyB,EACzB,qBAAqB,EACrB,+BAA+B,EAC/B,mCAAmC,EACnC,gCAAgC,GACjC,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,8BAA8B,EAC9B,iCAAiC,EACjC,4BAA4B,EAC5B,uCAAuC,EACvC,yBAAyB,IAAI,+BAA+B,EAC5D,mBAAmB,EACnB,kCAAkC,EAClC,wBAAwB,EACxB,uBAAuB,EACvB,iCAAiC,EACjC,uBAAuB,EACvB,2BAA2B,EAC3B,oCAAoC,EACpC,oCAAoC,EACpC,0BAA0B,EAC1B,8BAA8B,EAC9B,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { DEFAULT_ALIAS_PREFIX, DEFAULT_ALIAS_RANDOM_LENGTH, DEFAULT_ALIAS_STRATEGY, DEFAULT_ALLOW_RELATIVE, DEFAULT_EXCLUDE_DIRS, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS, DEFAULT_RULE_FIX, DEFAULT_RULE_SEVERITY, DEFAULT_SOURCE_EXTENSIONS, DEFAULT_SOURCE_ROOT, } from "./shared/constants.js";
|
|
2
2
|
export { checkCodeDiscipline, fixCodeDiscipline } from "./checks/index.js";
|
|
3
|
-
export { defineCodeDisciplineConfig } from "./config/index.js";
|
|
3
|
+
export { DEFAULT_CONFIG_FILENAMES, defineCodeDisciplineConfig, findCodeDisciplineConfigModule, loadResolvedCodeDisciplineConfig, } from "./config/index.js";
|
|
4
4
|
export { normalizeSyncImportsOptions } from "./config/normalize-sync-imports-options.js";
|
|
5
5
|
export { planTsconfigAliases, syncTsconfigAliases } from "./imports/aliases.js";
|
|
6
6
|
export { resolveRelativeImport } from "./imports/resolve.js";
|
|
@@ -8,6 +8,8 @@ export { rewriteSourceImports } from "./imports/rewrite.js";
|
|
|
8
8
|
export { scanSourceFiles } from "./imports/scan.js";
|
|
9
9
|
export { createRandomAlias, createRelativePathHashAlias, createRelativePathSlugAlias } from "./imports/strategies.js";
|
|
10
10
|
export { syncImports } from "./imports/sync-imports.js";
|
|
11
|
+
export { syncPackageJsonImportsFromTsconfigPaths } from "./runtime/runtime-imports-sync.js";
|
|
12
|
+
export { prepareTsconfigPaths, restoreTsconfigPaths } from "./runtime/tsconfig-paths.js";
|
|
11
13
|
export { codeDiscipline, createCodeDiscipline } from "./run.js";
|
|
12
14
|
export { resolveLogger } from "./shared/logging.js";
|
|
13
15
|
export { AliasCollisionError, FileConflictError, FixFailureError, InvalidCodeDisciplineConfigError, InvalidAliasError, InvalidProjectRootError, InvalidSourceRootError, InvalidTsconfigPathError, ParseFailureError, RewriteFailureError, SyncImportsError, isSyncImportsError, } from "./shared/errors.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,uCAAuC,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gCAAgC,EAChC,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC"}
|
package/dist/run.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineConfig, FixCodeDisciplineResult } from "./checks/types.js";
|
|
1
|
+
import type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineConfig, CodeDisciplineMode, CodeDisciplineRuntimeMode, FixCodeDisciplineResult } from "./checks/types.js";
|
|
2
2
|
import type { SyncImportsResult } from "./imports/types.js";
|
|
3
3
|
import type { LoggingOptions } from "./shared/logging-types.js";
|
|
4
|
-
type CodeDisciplineMode = "check" | "fix" | "sync";
|
|
5
|
-
type CodeDisciplineRuntimeMode = CodeDisciplineMode | "startup";
|
|
6
4
|
type CodeDisciplineInvocationOptions = {
|
|
7
5
|
projectRoot: string;
|
|
6
|
+
configPath?: string;
|
|
8
7
|
logging?: LoggingOptions;
|
|
9
8
|
logger?: unknown;
|
|
10
9
|
quiet?: boolean;
|
|
11
10
|
};
|
|
12
11
|
type CodeDisciplineOptions = CheckCodeDisciplineOptions & {
|
|
13
12
|
mode: CodeDisciplineRuntimeMode;
|
|
13
|
+
configPath?: string;
|
|
14
14
|
logger?: unknown;
|
|
15
15
|
quiet?: boolean;
|
|
16
16
|
};
|
package/dist/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAsB,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/dist/run.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { checkCodeDiscipline, fixCodeDiscipline } from "./checks/index.js";
|
|
2
2
|
import { syncImports } from "./imports/sync-imports.js";
|
|
3
|
+
import { orchestrateCodeDisciplineRun } from "./runtime/orchestrate.js";
|
|
3
4
|
function resolveLoggingOptions(options) {
|
|
4
5
|
const hasLogger = options.logger !== undefined;
|
|
5
6
|
const hasQuiet = options.quiet !== undefined;
|
|
@@ -57,14 +58,33 @@ function buildSyncOptions(options) {
|
|
|
57
58
|
};
|
|
58
59
|
}
|
|
59
60
|
async function codeDiscipline(options) {
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
61
|
+
const runtimeMode = options.mode;
|
|
62
|
+
const mode = runtimeMode === "startup" ? "sync" : runtimeMode;
|
|
63
|
+
const baseConfig = {
|
|
64
|
+
excludeDirs: options.excludeDirs,
|
|
65
|
+
lifecycle: options.lifecycle,
|
|
66
|
+
logging: options.logging,
|
|
67
|
+
rules: options.rules,
|
|
68
|
+
runtimeImportsSync: options.runtimeImportsSync,
|
|
69
|
+
sourceExtensions: options.sourceExtensions,
|
|
70
|
+
sourceRoot: options.sourceRoot,
|
|
71
|
+
tsconfigPaths: options.tsconfigPaths,
|
|
72
|
+
};
|
|
73
|
+
return orchestrateCodeDisciplineRun({
|
|
74
|
+
config: baseConfig,
|
|
75
|
+
configPath: options.configPath,
|
|
76
|
+
mode: runtimeMode,
|
|
77
|
+
projectRoot: options.projectRoot,
|
|
78
|
+
async execute() {
|
|
79
|
+
if (mode === "check") {
|
|
80
|
+
return checkCodeDiscipline(buildCheckOptions(options));
|
|
81
|
+
}
|
|
82
|
+
if (mode === "fix") {
|
|
83
|
+
return fixCodeDiscipline(buildCheckOptions(options));
|
|
84
|
+
}
|
|
85
|
+
return syncImports(buildSyncOptions(options));
|
|
86
|
+
},
|
|
87
|
+
});
|
|
68
88
|
}
|
|
69
89
|
function createCodeDiscipline(config) {
|
|
70
90
|
return {
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAS3E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAgDxE,SAAS,qBAAqB,CAAC,OAI9B;IACC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;IAE7C,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,GAAG,OAAO,CAAC,OAAO;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM;QAC5D,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,WAAuC,EACvC,OAIC;IAED,OAAO,qBAAqB,CAAC;QAC3B,OAAO,EAAE;YACP,GAAG,WAAW;YACd,GAAG,OAAO,CAAC,OAAO;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO;YACzD,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM;YACtD,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,KAAK;YACnD,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO;SAC1D;QACD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA4C;IACrE,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC;QACvC,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA4C;IACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,WAAW,IAAI,EAAE,CAAC;IAElD,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU;QACrD,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB;QACvE,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW;QACxD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,OAAO,EAAE,qBAAqB,CAAC;YAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO;YAC5C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;KACH,CAAC;AACJ,CAAC;AAOD,KAAK,UAAU,cAAc,CAAC,OAA8B;IAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;IAC9D,MAAM,UAAU,GAAyB;QACvC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;IAEF,OAAO,4BAA4B,CAAC;QAClC,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,KAAK,CAAC,OAAO;YACX,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,CAAC;YAED,OAAO,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA4B;IACxD,OAAO;QACL,MAAM;QACN,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC;YAC/B,GAAG,MAAM;YACT,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;SACtD,CAAC;QACF,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC;YACjC,GAAG,MAAM;YACT,GAAG,OAAO;YACV,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;SACtD,CAAuC;QACxC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC;YAC/B,GAAG,MAAM;YACT,GAAG,OAAO;YACV,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;SACtD,CAAqC;QACtC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC;YAChC,GAAG,MAAM;YACT,GAAG,OAAO;YACV,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;SACtD,CAA+B;QAChC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC;YACnC,GAAG,MAAM;YACT,GAAG,OAAO;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;SACtD,CAA+B;KACjC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { CheckCodeDisciplineResult, CodeDisciplineConfig, CodeDisciplineLifecycleContext, CodeDisciplineRuntimeMode, FixCodeDisciplineResult } from "../checks/types.js";
|
|
2
|
+
import type { SyncImportsResult } from "../imports/types.js";
|
|
3
|
+
type CodeDisciplineOrchestratorOptions = {
|
|
4
|
+
config: CodeDisciplineConfig;
|
|
5
|
+
configPath?: string;
|
|
6
|
+
mode: CodeDisciplineRuntimeMode;
|
|
7
|
+
projectRoot: string;
|
|
8
|
+
execute: () => Promise<CheckCodeDisciplineResult | FixCodeDisciplineResult | SyncImportsResult>;
|
|
9
|
+
};
|
|
10
|
+
type CodeDisciplineOrchestratorResult = CheckCodeDisciplineResult | FixCodeDisciplineResult | SyncImportsResult;
|
|
11
|
+
declare function createLifecycleContext(args: {
|
|
12
|
+
config: CodeDisciplineConfig;
|
|
13
|
+
configPath?: string;
|
|
14
|
+
mode: CodeDisciplineRuntimeMode;
|
|
15
|
+
projectRoot: string;
|
|
16
|
+
}): CodeDisciplineLifecycleContext;
|
|
17
|
+
declare function orchestrateCodeDisciplineRun(options: CodeDisciplineOrchestratorOptions): Promise<CodeDisciplineOrchestratorResult>;
|
|
18
|
+
export { createLifecycleContext, orchestrateCodeDisciplineRun };
|
|
19
|
+
export type { CodeDisciplineOrchestratorOptions, CodeDisciplineOrchestratorResult };
|
|
20
|
+
//# sourceMappingURL=orchestrate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrate.d.ts","sourceRoot":"","sources":["../../src/runtime/orchestrate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,oBAAoB,EACpB,8BAA8B,EAG9B,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,KAAK,iCAAiC,GAAG;IACvC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,yBAAyB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,yBAAyB,GAAG,uBAAuB,GAAG,iBAAiB,CAAC,CAAC;CACjG,CAAC;AAEF,KAAK,gCAAgC,GAAG,yBAAyB,GAAG,uBAAuB,GAAG,iBAAiB,CAAC;AAEhH,iBAAS,sBAAsB,CAAC,IAAI,EAAE;IACpC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,yBAAyB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,8BAA8B,CAQjC;AAWD,iBAAe,4BAA4B,CACzC,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,gCAAgC,CAAC,CAmD3C;AAED,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,CAAC;AAChE,YAAY,EAAE,iCAAiC,EAAE,gCAAgC,EAAE,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { syncPackageJsonImportsFromTsconfigPaths } from "./runtime-imports-sync.js";
|
|
2
|
+
import { prepareTsconfigPaths, restoreTsconfigPaths } from "./tsconfig-paths.js";
|
|
3
|
+
function createLifecycleContext(args) {
|
|
4
|
+
return {
|
|
5
|
+
config: args.config,
|
|
6
|
+
configPath: args.configPath,
|
|
7
|
+
mode: args.mode,
|
|
8
|
+
projectRoot: args.projectRoot,
|
|
9
|
+
state: {},
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
async function runLifecycleHook(hook, context, result) {
|
|
13
|
+
if (!hook)
|
|
14
|
+
return;
|
|
15
|
+
await hook(context, result);
|
|
16
|
+
}
|
|
17
|
+
async function orchestrateCodeDisciplineRun(options) {
|
|
18
|
+
const context = createLifecycleContext({
|
|
19
|
+
config: options.config,
|
|
20
|
+
configPath: options.configPath,
|
|
21
|
+
mode: options.mode,
|
|
22
|
+
projectRoot: options.projectRoot,
|
|
23
|
+
});
|
|
24
|
+
const lifecycle = options.config.lifecycle;
|
|
25
|
+
const preparedTsconfigPaths = await prepareTsconfigPaths(options.projectRoot, options.config.tsconfigPaths, options.mode);
|
|
26
|
+
if (preparedTsconfigPaths) {
|
|
27
|
+
context.state.tsconfigPaths = {
|
|
28
|
+
changed: preparedTsconfigPaths.changed,
|
|
29
|
+
restoreAfterRun: preparedTsconfigPaths.restoreAfterRun,
|
|
30
|
+
restoreOnExit: preparedTsconfigPaths.restoreOnExit,
|
|
31
|
+
tsconfigPath: preparedTsconfigPaths.tsconfigPath,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
let result;
|
|
35
|
+
try {
|
|
36
|
+
await runLifecycleHook(lifecycle?.beforeRun, context);
|
|
37
|
+
await runLifecycleHook(lifecycle?.beforeMode, context);
|
|
38
|
+
result = await options.execute();
|
|
39
|
+
if (options.mode === "sync" || options.mode === "startup") {
|
|
40
|
+
const runtimeImportsSync = await syncPackageJsonImportsFromTsconfigPaths({
|
|
41
|
+
projectRoot: options.projectRoot,
|
|
42
|
+
options: options.config.runtimeImportsSync,
|
|
43
|
+
});
|
|
44
|
+
if (runtimeImportsSync) {
|
|
45
|
+
context.state.runtimeImportsSync = runtimeImportsSync;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
await runLifecycleHook(lifecycle?.afterMode, context, result);
|
|
49
|
+
await runLifecycleHook(lifecycle?.afterRun, context, result);
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
finally {
|
|
53
|
+
const restoredTsconfigPaths = await restoreTsconfigPaths(preparedTsconfigPaths);
|
|
54
|
+
if (restoredTsconfigPaths) {
|
|
55
|
+
context.state.tsconfigPaths = restoredTsconfigPaths;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export { createLifecycleContext, orchestrateCodeDisciplineRun };
|
|
60
|
+
//# sourceMappingURL=orchestrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../src/runtime/orchestrate.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,uCAAuC,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAajF,SAAS,sBAAsB,CAAC,IAK/B;IACC,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,IAAgI,EAChI,OAAuC,EACvC,MAAyC;IAEzC,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,OAA0C;IAE1C,MAAM,OAAO,GAAG,sBAAsB,CAAC;QACrC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;IACH,MAAM,SAAS,GAA6C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;IACrF,MAAM,qBAAqB,GAAG,MAAM,oBAAoB,CACtD,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,MAAM,CAAC,aAAa,EAC5B,OAAO,CAAC,IAAI,CACb,CAAC;IAEF,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG;YAC5B,OAAO,EAAE,qBAAqB,CAAC,OAAO;YACtC,eAAe,EAAE,qBAAqB,CAAC,eAAe;YACtD,aAAa,EAAE,qBAAqB,CAAC,aAAa;YAClD,YAAY,EAAE,qBAAqB,CAAC,YAAY;SACjD,CAAC;IACJ,CAAC;IAED,IAAI,MAAoD,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,SAAS,EAAE,SAAgB,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,gBAAgB,CAAC,SAAS,EAAE,UAAiB,EAAE,OAAO,CAAC,CAAC;QAE9D,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAEjC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,kBAAkB,GAAG,MAAM,uCAAuC,CAAC;gBACvE,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB;aAC3C,CAAC,CAAC;YAEH,IAAI,kBAAkB,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YACxD,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,CAAC,SAAS,EAAE,SAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,gBAAgB,CAAC,SAAS,EAAE,QAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,MAAM,qBAAqB,GAAG,MAAM,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;QAChF,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,qBAAqB,CAAC;QACtD,CAAC;IACH,CAAC;AACH,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CodeDisciplineRuntimeImportsSyncOptions } from "../checks/types.js";
|
|
2
|
+
type RuntimeImportsSyncResult = {
|
|
3
|
+
changed: boolean;
|
|
4
|
+
importsCount: number;
|
|
5
|
+
packageJsonPath: string;
|
|
6
|
+
};
|
|
7
|
+
declare function syncPackageJsonImportsFromTsconfigPaths(args: {
|
|
8
|
+
projectRoot: string;
|
|
9
|
+
options: CodeDisciplineRuntimeImportsSyncOptions | undefined;
|
|
10
|
+
}): Promise<RuntimeImportsSyncResult | null>;
|
|
11
|
+
export { syncPackageJsonImportsFromTsconfigPaths };
|
|
12
|
+
export type { RuntimeImportsSyncResult };
|
|
13
|
+
//# sourceMappingURL=runtime-imports-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-imports-sync.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime-imports-sync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,oBAAoB,CAAC;AAIlF,KAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AA4CF,iBAAe,uCAAuC,CAAC,IAAI,EAAE;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,uCAAuC,GAAG,SAAS,CAAC;CAC9D,GAAG,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAkE3C;AAED,OAAO,EAAE,uCAAuC,EAAE,CAAC;AACnD,YAAY,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { InvalidCodeDisciplineConfigError } from "../shared/errors.js";
|
|
4
|
+
import { parseTsconfigJson, pathExists, stableSerialize, toPosixPath, toStableJson } from "../shared/utils.js";
|
|
5
|
+
function resolvePackageJsonPath(projectRoot, packageJsonPath) {
|
|
6
|
+
const input = packageJsonPath || "package.json";
|
|
7
|
+
return path.isAbsolute(input) ? path.resolve(input) : path.resolve(projectRoot, input);
|
|
8
|
+
}
|
|
9
|
+
function normalizePackageImportTarget(target) {
|
|
10
|
+
const normalized = toPosixPath(target);
|
|
11
|
+
if (normalized.startsWith("./") || normalized.startsWith("../") || normalized.startsWith("/")) {
|
|
12
|
+
return normalized.startsWith("./") ? normalized : `./${normalized.replace(/^\/+/g, "")}`;
|
|
13
|
+
}
|
|
14
|
+
return `./${normalized.replace(/^\/+/g, "")}`;
|
|
15
|
+
}
|
|
16
|
+
function normalizeAliasPrefixes(value) {
|
|
17
|
+
const values = Array.isArray(value) ? value : value ? [value] : ["#"];
|
|
18
|
+
return values.map((entry) => String(entry || "").trim()).filter(Boolean);
|
|
19
|
+
}
|
|
20
|
+
async function readPackageJson(packageJsonPath) {
|
|
21
|
+
if (!await pathExists(packageJsonPath)) {
|
|
22
|
+
throw new InvalidCodeDisciplineConfigError("runtimeImportsSync package.json was not found", {
|
|
23
|
+
filePath: packageJsonPath,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
const text = await fs.readFile(packageJsonPath, "utf8");
|
|
27
|
+
const parsed = JSON.parse(text);
|
|
28
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
29
|
+
throw new InvalidCodeDisciplineConfigError("runtimeImportsSync package.json must contain a JSON object", {
|
|
30
|
+
filePath: packageJsonPath,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return parsed;
|
|
34
|
+
}
|
|
35
|
+
async function syncPackageJsonImportsFromTsconfigPaths(args) {
|
|
36
|
+
const options = args.options;
|
|
37
|
+
if (!options?.enabled)
|
|
38
|
+
return null;
|
|
39
|
+
if ((options.source && options.source !== "tsconfig.paths") || (options.target && options.target !== "package.json.imports")) {
|
|
40
|
+
throw new InvalidCodeDisciplineConfigError("runtimeImportsSync only supports source=tsconfig.paths and target=package.json.imports", {
|
|
41
|
+
source: options.source,
|
|
42
|
+
target: options.target,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
const tsconfigPath = path.isAbsolute(options.tsconfigPath || "")
|
|
46
|
+
? path.resolve(options.tsconfigPath)
|
|
47
|
+
: path.resolve(args.projectRoot, options.tsconfigPath || "tsconfig.json");
|
|
48
|
+
if (!await pathExists(tsconfigPath)) {
|
|
49
|
+
throw new InvalidCodeDisciplineConfigError("runtimeImportsSync tsconfig was not found", {
|
|
50
|
+
filePath: tsconfigPath,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
const packageJsonPath = resolvePackageJsonPath(args.projectRoot, options.packageJsonPath);
|
|
54
|
+
const tsconfigText = await fs.readFile(tsconfigPath, "utf8");
|
|
55
|
+
const tsconfig = parseTsconfigJson(tsconfigText, tsconfigPath);
|
|
56
|
+
const packageJson = await readPackageJson(packageJsonPath);
|
|
57
|
+
const compilerPaths = tsconfig.compilerOptions?.paths || {};
|
|
58
|
+
const aliasPrefixes = normalizeAliasPrefixes(options.aliasPrefix);
|
|
59
|
+
const shouldManageAlias = (aliasId) => aliasPrefixes.some((prefix) => aliasId.startsWith(prefix));
|
|
60
|
+
const managedAliasIds = new Set(Object.keys(compilerPaths).filter((aliasId) => shouldManageAlias(aliasId)));
|
|
61
|
+
const existingImports = packageJson.imports && typeof packageJson.imports === "object" && !Array.isArray(packageJson.imports)
|
|
62
|
+
? packageJson.imports
|
|
63
|
+
: {};
|
|
64
|
+
const preservedImports = Object.fromEntries(Object.entries(existingImports).filter(([aliasId]) => !managedAliasIds.has(aliasId)));
|
|
65
|
+
const managedImports = Object.fromEntries(Object.entries(compilerPaths)
|
|
66
|
+
.filter(([aliasId, targets]) => shouldManageAlias(aliasId) && Array.isArray(targets) && targets.length > 0)
|
|
67
|
+
.map(([aliasId, targets]) => [aliasId, normalizePackageImportTarget(String(targets[0]))]));
|
|
68
|
+
const nextImports = Object.fromEntries(Object.entries({
|
|
69
|
+
...preservedImports,
|
|
70
|
+
...managedImports,
|
|
71
|
+
}).sort(([left], [right]) => left.localeCompare(right)));
|
|
72
|
+
const nextPackageJson = {
|
|
73
|
+
...packageJson,
|
|
74
|
+
imports: nextImports,
|
|
75
|
+
};
|
|
76
|
+
const changed = stableSerialize(packageJson) !== stableSerialize(nextPackageJson);
|
|
77
|
+
if (changed) {
|
|
78
|
+
await fs.writeFile(packageJsonPath, toStableJson(nextPackageJson));
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
changed,
|
|
82
|
+
importsCount: Object.keys(managedImports).length,
|
|
83
|
+
packageJsonPath,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export { syncPackageJsonImportsFromTsconfigPaths };
|
|
87
|
+
//# sourceMappingURL=runtime-imports-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-imports-sync.js","sourceRoot":"","sources":["../../src/runtime/runtime-imports-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { CodeDisciplineTsconfigPathsOptions } from "../checks/types.js";
|
|
2
|
+
type PreparedTsconfigPathsResult = {
|
|
3
|
+
changed: boolean;
|
|
4
|
+
restoreAfterRun: boolean;
|
|
5
|
+
restoreOnExit: boolean;
|
|
6
|
+
originalText?: string;
|
|
7
|
+
tsconfigPath: string;
|
|
8
|
+
};
|
|
9
|
+
type RuntimeTsconfigPathsState = {
|
|
10
|
+
changed: boolean;
|
|
11
|
+
restored: boolean;
|
|
12
|
+
restoreAfterRun: boolean;
|
|
13
|
+
restoreOnExit: boolean;
|
|
14
|
+
tsconfigPath: string;
|
|
15
|
+
};
|
|
16
|
+
declare function resolveTsconfigPath(projectRoot: string, tsconfigPath?: string): string;
|
|
17
|
+
declare function prepareTsconfigPaths(projectRoot: string, options: CodeDisciplineTsconfigPathsOptions | undefined, mode: "check" | "fix" | "sync" | "startup"): Promise<PreparedTsconfigPathsResult | null>;
|
|
18
|
+
declare function restoreTsconfigPaths(prepared: PreparedTsconfigPathsResult | null): Promise<RuntimeTsconfigPathsState | null>;
|
|
19
|
+
export { prepareTsconfigPaths, resolveTsconfigPath, restoreTsconfigPaths };
|
|
20
|
+
export type { PreparedTsconfigPathsResult, RuntimeTsconfigPathsState };
|
|
21
|
+
//# sourceMappingURL=tsconfig-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsconfig-paths.d.ts","sourceRoot":"","sources":["../../src/runtime/tsconfig-paths.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AAK7E,KAAK,2BAA2B,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,iBAAS,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAG/E;AAqDD,iBAAe,oBAAoB,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kCAAkC,GAAG,SAAS,EACvD,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GACzC,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAyB7C;AAED,iBAAe,oBAAoB,CAAC,QAAQ,EAAE,2BAA2B,GAAG,IAAI,GAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAgB3H;AAED,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAC;AAC3E,YAAY,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,CAAC"}
|