@servicetitan/startup 34.0.0 → 34.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/review/rules/require-tsconfig-references.d.ts +2 -0
- package/dist/cli/commands/review/rules/require-tsconfig-references.d.ts.map +1 -1
- package/dist/cli/commands/review/rules/require-tsconfig-references.js +17 -7
- package/dist/cli/commands/review/rules/require-tsconfig-references.js.map +1 -1
- package/dist/cli/commands/run-task.d.ts.map +1 -1
- package/dist/cli/commands/run-task.js +4 -6
- package/dist/cli/commands/run-task.js.map +1 -1
- package/dist/cli/commands/run-task.test.js +4 -10
- package/dist/cli/commands/run-task.test.js.map +1 -1
- package/dist/cli/tasks/index.d.ts +4 -0
- package/dist/cli/tasks/index.d.ts.map +1 -0
- package/dist/cli/tasks/index.js +22 -0
- package/dist/cli/tasks/index.js.map +1 -0
- package/dist/cli/tasks/swc-compile-package/get-swc-options.d.ts +23 -0
- package/dist/cli/tasks/swc-compile-package/get-swc-options.d.ts.map +1 -0
- package/dist/cli/tasks/swc-compile-package/get-swc-options.js +41 -0
- package/dist/cli/tasks/swc-compile-package/get-swc-options.js.map +1 -0
- package/dist/cli/tasks/swc-compile-package/index.d.ts +3 -0
- package/dist/cli/tasks/swc-compile-package/index.d.ts.map +1 -0
- package/dist/cli/tasks/swc-compile-package/index.js +21 -0
- package/dist/cli/tasks/swc-compile-package/index.js.map +1 -0
- package/dist/cli/tasks/{swc-compile-package.d.ts → swc-compile-package/swc-compile-package.d.ts} +1 -1
- package/dist/cli/tasks/swc-compile-package/swc-compile-package.d.ts.map +1 -0
- package/dist/cli/tasks/{swc-compile-package.js → swc-compile-package/swc-compile-package.js} +35 -55
- package/dist/cli/tasks/swc-compile-package/swc-compile-package.js.map +1 -0
- package/dist/cli/tasks/tsc-compile/index.d.ts +2 -0
- package/dist/cli/tasks/tsc-compile/index.d.ts.map +1 -0
- package/dist/cli/tasks/tsc-compile/index.js +20 -0
- package/dist/cli/tasks/tsc-compile/index.js.map +1 -0
- package/dist/cli/tasks/{tsc-compile.d.ts → tsc-compile/tsc-compile.d.ts} +1 -1
- package/dist/cli/tasks/tsc-compile/tsc-compile.d.ts.map +1 -0
- package/dist/cli/tasks/{tsc-compile.js → tsc-compile/tsc-compile.js} +2 -2
- package/dist/cli/tasks/tsc-compile/tsc-compile.js.map +1 -0
- package/dist/cli/tasks/tsc-compile-package/index.d.ts +2 -0
- package/dist/cli/tasks/tsc-compile-package/index.d.ts.map +1 -0
- package/dist/cli/tasks/tsc-compile-package/index.js +20 -0
- package/dist/cli/tasks/tsc-compile-package/index.js.map +1 -0
- package/dist/cli/tasks/{tsc-compile-package.d.ts → tsc-compile-package/tsc-compile-package.d.ts} +1 -1
- package/dist/cli/tasks/tsc-compile-package/tsc-compile-package.d.ts.map +1 -0
- package/dist/cli/tasks/{tsc-compile-package.js → tsc-compile-package/tsc-compile-package.js} +2 -2
- package/dist/cli/tasks/tsc-compile-package/tsc-compile-package.js.map +1 -0
- package/dist/cli/utils/bundle.js +1 -1
- package/dist/cli/utils/bundle.js.map +1 -1
- package/dist/storybook-config/index.d.ts +3 -0
- package/dist/storybook-config/index.d.ts.map +1 -0
- package/dist/storybook-config/index.js +21 -0
- package/dist/storybook-config/index.js.map +1 -0
- package/dist/storybook-config/swc.d.ts +28 -0
- package/dist/storybook-config/swc.d.ts.map +1 -0
- package/dist/storybook-config/swc.js +36 -0
- package/dist/storybook-config/swc.js.map +1 -0
- package/dist/storybook-config/webpack-final.d.ts +4 -0
- package/dist/storybook-config/webpack-final.d.ts.map +1 -0
- package/dist/storybook-config/webpack-final.js +96 -0
- package/dist/storybook-config/webpack-final.js.map +1 -0
- package/dist/webpack/configs/index.d.ts +1 -0
- package/dist/webpack/configs/index.d.ts.map +1 -1
- package/dist/webpack/configs/index.js +1 -0
- package/dist/webpack/configs/index.js.map +1 -1
- package/dist/webpack/configs/rules-config.d.ts +2 -3
- package/dist/webpack/configs/rules-config.d.ts.map +1 -1
- package/dist/webpack/configs/rules-config.js.map +1 -1
- package/dist/webpack/configs/types.d.ts +6 -6
- package/dist/webpack/configs/types.d.ts.map +1 -1
- package/dist/webpack/utils/testing/get-compiler.js.map +1 -1
- package/package.json +16 -14
- package/src/cli/commands/__tests__/build.test.ts +0 -3
- package/src/cli/commands/__tests__/bundle-package.test.ts +0 -2
- package/src/cli/commands/__tests__/get-command.test.ts +0 -3
- package/src/cli/commands/__tests__/kendo-ui-license.test.ts +0 -2
- package/src/cli/commands/__tests__/lint.test.ts +0 -2
- package/src/cli/commands/__tests__/mfe-list.test.ts +0 -2
- package/src/cli/commands/__tests__/mfe-package-publish.test.ts +0 -2
- package/src/cli/commands/__tests__/mfe-package-rollback.test.ts +0 -2
- package/src/cli/commands/__tests__/mfe-publish.test.ts +0 -2
- package/src/cli/commands/__tests__/prepare-package.test.ts +0 -3
- package/src/cli/commands/__tests__/start.test.ts +0 -3
- package/src/cli/commands/__tests__/upload-sourcemaps.test.ts +0 -2
- package/src/cli/commands/review/rules/__tests__/require-tsconfig-references.test.ts +124 -246
- package/src/cli/commands/review/rules/require-tsconfig-references.ts +24 -8
- package/src/cli/commands/run-task.test.ts +1 -6
- package/src/cli/commands/run-task.ts +1 -3
- package/src/cli/commands/test/runners/__tests__/jest.test.ts +1 -1
- package/src/cli/tasks/index.ts +3 -0
- package/src/cli/tasks/swc-compile-package/__tests__/get-swc-options.test.ts +77 -0
- package/src/cli/tasks/{__tests__ → swc-compile-package/__tests__}/swc-compile-package.test.ts +14 -76
- package/src/cli/tasks/swc-compile-package/get-swc-options.ts +34 -0
- package/src/cli/tasks/swc-compile-package/index.ts +2 -0
- package/src/cli/tasks/swc-compile-package/swc-cli.d.ts +22 -0
- package/src/cli/tasks/{swc-compile-package.ts → swc-compile-package/swc-compile-package.ts} +33 -52
- package/src/cli/tasks/{__tests__ → tsc-compile/__tests__}/tsc-compile.test.ts +1 -3
- package/src/cli/tasks/tsc-compile/index.ts +1 -0
- package/src/cli/tasks/{tsc-compile.ts → tsc-compile/tsc-compile.ts} +9 -2
- package/src/cli/tasks/{__tests__ → tsc-compile-package/__tests__}/tsc-compile-package.test.ts +2 -4
- package/src/cli/tasks/tsc-compile-package/index.ts +1 -0
- package/src/cli/tasks/{tsc-compile-package.ts → tsc-compile-package/tsc-compile-package.ts} +2 -2
- package/src/cli/utils/bundle.ts +1 -1
- package/src/storybook-config/__tests__/swc.test.ts +37 -0
- package/src/storybook-config/__tests__/webpack-final.test.ts +133 -0
- package/src/storybook-config/index.ts +2 -0
- package/src/storybook-config/swc.ts +24 -0
- package/src/storybook-config/webpack-final.ts +72 -0
- package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +0 -2
- package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +0 -2
- package/src/webpack/__tests__/create-webpack-config.test.ts +0 -2
- package/src/webpack/configs/index.ts +1 -0
- package/src/webpack/configs/rules-config.ts +5 -10
- package/src/webpack/configs/types.ts +6 -6
- package/src/webpack/utils/testing/get-compiler.ts +1 -1
- package/dist/cli/tasks/swc-compile-package.d.ts.map +0 -1
- package/dist/cli/tasks/swc-compile-package.js.map +0 -1
- package/dist/cli/tasks/tsc-compile-package.d.ts.map +0 -1
- package/dist/cli/tasks/tsc-compile-package.js.map +0 -1
- package/dist/cli/tasks/tsc-compile.d.ts.map +0 -1
- package/dist/cli/tasks/tsc-compile.js.map +0 -1
- package/src/cli/tasks/swc-cli.d.ts +0 -14
|
@@ -19,6 +19,8 @@ export declare class RequireTsconfigReferences implements PackageRule {
|
|
|
19
19
|
private collectTsConfigFiles;
|
|
20
20
|
private findMissingDependencyReferences;
|
|
21
21
|
private readonly checkTsConfigReferences;
|
|
22
|
+
private isDefaultTsConfig;
|
|
23
|
+
private isDirectory;
|
|
22
24
|
}
|
|
23
25
|
export {};
|
|
24
26
|
//# sourceMappingURL=require-tsconfig-references.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-tsconfig-references.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/rules/require-tsconfig-references.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwB,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAOpF,UAAU,SAAS;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAEhD,qBAAa,yBAA0B,YAAW,WAAW;IACzD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,qBAAqB,CAAe;IAE5C,IAAI,EAAE,WAEL;IAED,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE;IAYlC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"require-tsconfig-references.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/rules/require-tsconfig-references.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwB,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAOpF,UAAU,SAAS;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAEhD,qBAAa,yBAA0B,YAAW,WAAW;IACzD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,qBAAqB,CAAe;IAE5C,IAAI,EAAE,WAEL;IAED,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE;IAYlC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;IAgBvB,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,6BAA6B;IAwBrC,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,+BAA+B;IA6BvC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAWtC;IAEF,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,WAAW;CAOtB"}
|
|
@@ -54,10 +54,7 @@ class RequireTsconfigReferences {
|
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
56
|
const { tsconfigPath, expectedPath } = data;
|
|
57
|
-
const tsconfig = (0, _utils.
|
|
58
|
-
if (!tsconfig) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
57
|
+
const tsconfig = (0, _utils.readJson)(tsconfigPath);
|
|
61
58
|
const references = (_tsconfig_references = tsconfig.references) !== null && _tsconfig_references !== void 0 ? _tsconfig_references : [];
|
|
62
59
|
references.push({
|
|
63
60
|
path: expectedPath
|
|
@@ -75,6 +72,9 @@ class RequireTsconfigReferences {
|
|
|
75
72
|
return Object.keys(dependencies).filter((dependency)=>this.workspacePackageNames.has(dependency));
|
|
76
73
|
}
|
|
77
74
|
normalizeTsConfigPath(filePath) {
|
|
75
|
+
if (this.isDirectory(filePath)) {
|
|
76
|
+
return _nodepath.default.join(filePath, 'tsconfig.json');
|
|
77
|
+
}
|
|
78
78
|
return filePath.endsWith('.json') ? filePath : `${filePath}.json`;
|
|
79
79
|
}
|
|
80
80
|
getTsConfigReferencedPackages(tsconfigPath) {
|
|
@@ -85,8 +85,7 @@ class RequireTsconfigReferences {
|
|
|
85
85
|
const tsconfigDir = _nodepath.default.dirname(tsconfigPath);
|
|
86
86
|
const referencedPackages = new Set();
|
|
87
87
|
for (const reference of config.references){
|
|
88
|
-
const
|
|
89
|
-
const resolvedRefPath = _nodepath.default.resolve(tsconfigDir, normalizedPath);
|
|
88
|
+
const resolvedRefPath = this.normalizeTsConfigPath(_nodepath.default.resolve(tsconfigDir, reference.path));
|
|
90
89
|
const refDir = _nodepath.default.dirname(resolvedRefPath);
|
|
91
90
|
const packageName = this.locationToPackageName.get(refDir);
|
|
92
91
|
if (packageName) {
|
|
@@ -99,7 +98,8 @@ class RequireTsconfigReferences {
|
|
|
99
98
|
const relativePath = _nodepath.default.relative(fromLocation, toLocation);
|
|
100
99
|
const tsconfigFile = (0, _utils.getTsConfig)(toLocation);
|
|
101
100
|
const tsconfigName = _nodepath.default.basename(tsconfigFile);
|
|
102
|
-
|
|
101
|
+
const referencePath = this.isDefaultTsConfig(tsconfigName) ? relativePath : _nodepath.default.join(relativePath, tsconfigName);
|
|
102
|
+
return referencePath.replaceAll('\\', '/');
|
|
103
103
|
}
|
|
104
104
|
collectTsConfigFiles(location) {
|
|
105
105
|
const tsconfigFiles = (0, _glob.globSync)([
|
|
@@ -128,6 +128,16 @@ class RequireTsconfigReferences {
|
|
|
128
128
|
};
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
|
+
isDefaultTsConfig(name) {
|
|
132
|
+
return name === 'tsconfig.json';
|
|
133
|
+
}
|
|
134
|
+
isDirectory(file) {
|
|
135
|
+
try {
|
|
136
|
+
return _nodefs.default.statSync(file).isDirectory();
|
|
137
|
+
} catch (unused) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
131
141
|
constructor(){
|
|
132
142
|
_define_property(this, "packageNameToLocation", void 0);
|
|
133
143
|
_define_property(this, "locationToPackageName", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/cli/commands/review/rules/require-tsconfig-references.ts"],"sourcesContent":["import { globSync } from 'glob';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { getTsConfig, prettifySync, readJsonSafe } from '../../../../utils';\nimport { FixCategory, Package, PackageError, PackageRule, Project } from '../types';\nimport { checkPackages } from '../utils';\n\ninterface TsConfig {\n references?: { path: string }[];\n}\n\ninterface ErrorData {\n tsconfigPath: string;\n missingReference: string;\n expectedPath: string;\n}\n\nexport type RuleError = PackageError<ErrorData>;\n\nexport class RequireTsconfigReferences implements PackageRule {\n private packageNameToLocation!: Map<string, string>;\n private locationToPackageName!: Map<string, string>;\n private workspacePackageNames!: Set<string>;\n\n get id() {\n return 'require-tsconfig-references';\n }\n\n run(project: Project): RuleError[] {\n this.packageNameToLocation = new Map(\n project.packages.map(({ name, location }) => [name, location])\n );\n this.locationToPackageName = new Map(\n project.packages.map(({ name, location }) => [path.resolve(location), name])\n );\n this.workspacePackageNames = new Set(project.packages.map(({ name }) => name));\n\n return checkPackages(this, project, this.checkTsConfigReferences);\n }\n\n fix({ data }: RuleError) {\n if (!data) {\n return;\n }\n\n const { tsconfigPath, expectedPath } = data;\n const tsconfig = readJsonSafe<TsConfig>(tsconfigPath);\n if (!tsconfig) {\n return;\n }\n\n const references = tsconfig.references ?? [];\n references.push({ path: expectedPath });\n tsconfig.references = references;\n\n fs.writeFileSync(tsconfigPath, JSON.stringify(tsconfig) + '\\n', 'utf-8');\n prettifySync(tsconfigPath);\n }\n\n private getLocalDependencies(pkg: Package) {\n const dependencies = {\n ...pkg.dependencies,\n ...pkg.devDependencies,\n ...pkg.peerDependencies,\n };\n\n return Object.keys(dependencies).filter(dependency =>\n this.workspacePackageNames.has(dependency)\n );\n }\n\n private normalizeTsConfigPath(filePath: string): string {\n return filePath.endsWith('.json') ? filePath : `${filePath}.json`;\n }\n\n private getTsConfigReferencedPackages(tsconfigPath: string) {\n const config = readJsonSafe<TsConfig>(tsconfigPath);\n if (!config?.references) {\n return new Set<string>();\n }\n\n const tsconfigDir = path.dirname(tsconfigPath);\n const referencedPackages = new Set<string>();\n\n for (const reference of config.references) {\n const normalizedPath = this.normalizeTsConfigPath(reference.path);\n const resolvedRefPath = path.resolve(tsconfigDir, normalizedPath);\n const refDir = path.dirname(resolvedRefPath);\n const packageName = this.locationToPackageName.get(refDir);\n\n if (packageName) {\n referencedPackages.add(packageName);\n }\n }\n\n return referencedPackages;\n }\n\n private getExpectedReferencePath(fromLocation: string, toLocation: string) {\n const relativePath = path.relative(fromLocation, toLocation);\n const tsconfigFile = getTsConfig(toLocation);\n const tsconfigName = path.basename(tsconfigFile);\n\n return path.join(relativePath, tsconfigName).replaceAll('\\\\', '/');\n }\n\n private collectTsConfigFiles(location: string): string[] {\n const tsconfigFiles = globSync(['tsconfig.json', 'tsconfig.*.json'], {\n absolute: false,\n cwd: location,\n });\n\n return tsconfigFiles.map(tsconfigFile => path.join(location, tsconfigFile));\n }\n\n private findMissingDependencyReferences(\n pkg: Package,\n tsconfigPath: string,\n localDependencies: string[]\n ): RuleError[] {\n const referencedPackages = this.getTsConfigReferencedPackages(tsconfigPath);\n\n return localDependencies\n .filter(dependency => !referencedPackages.has(dependency))\n .map(dependency => {\n const dependencyLocation = this.packageNameToLocation.get(dependency)!;\n\n return {\n id: this.id,\n message: `missing reference for dependency: ${dependency}`,\n location: tsconfigPath,\n fixable: FixCategory.normal,\n data: {\n tsconfigPath,\n missingReference: dependency,\n expectedPath: this.getExpectedReferencePath(\n pkg.location,\n dependencyLocation\n ),\n },\n };\n });\n }\n\n private readonly checkTsConfigReferences = (pkg: Package) => {\n if (pkg.location === '.') {\n return [];\n }\n\n const tsconfigFiles = this.collectTsConfigFiles(pkg.location);\n const localDependencies = this.getLocalDependencies(pkg);\n\n return tsconfigFiles.flatMap(tsconfigPath =>\n this.findMissingDependencyReferences(pkg, tsconfigPath, localDependencies)\n );\n };\n}\n"],"names":["RequireTsconfigReferences","id","run","project","packageNameToLocation","Map","packages","map","name","location","locationToPackageName","path","resolve","workspacePackageNames","Set","checkPackages","checkTsConfigReferences","fix","data","tsconfig","tsconfigPath","expectedPath","readJsonSafe","references","push","fs","writeFileSync","JSON","stringify","prettifySync","getLocalDependencies","pkg","dependencies","devDependencies","peerDependencies","Object","keys","filter","dependency","has","normalizeTsConfigPath","filePath","endsWith","getTsConfigReferencedPackages","config","tsconfigDir","dirname","referencedPackages","reference","normalizedPath","resolvedRefPath","refDir","packageName","get","add","getExpectedReferencePath","fromLocation","toLocation","relativePath","relative","tsconfigFile","getTsConfig","tsconfigName","basename","join","replaceAll","collectTsConfigFiles","tsconfigFiles","globSync","absolute","cwd","findMissingDependencyReferences","localDependencies","dependencyLocation","message","fixable","FixCategory","normal","missingReference","flatMap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/review/rules/require-tsconfig-references.ts"],"sourcesContent":["import { globSync } from 'glob';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { getTsConfig, prettifySync, readJson, readJsonSafe } from '../../../../utils';\nimport { FixCategory, Package, PackageError, PackageRule, Project } from '../types';\nimport { checkPackages } from '../utils';\n\ninterface TsConfig {\n references?: { path: string }[];\n}\n\ninterface ErrorData {\n tsconfigPath: string;\n missingReference: string;\n expectedPath: string;\n}\n\nexport type RuleError = PackageError<ErrorData>;\n\nexport class RequireTsconfigReferences implements PackageRule {\n private packageNameToLocation!: Map<string, string>;\n private locationToPackageName!: Map<string, string>;\n private workspacePackageNames!: Set<string>;\n\n get id() {\n return 'require-tsconfig-references';\n }\n\n run(project: Project): RuleError[] {\n this.packageNameToLocation = new Map(\n project.packages.map(({ name, location }) => [name, location])\n );\n this.locationToPackageName = new Map(\n project.packages.map(({ name, location }) => [path.resolve(location), name])\n );\n this.workspacePackageNames = new Set(project.packages.map(({ name }) => name));\n\n return checkPackages(this, project, this.checkTsConfigReferences);\n }\n\n fix({ data }: RuleError) {\n if (!data) {\n return;\n }\n\n const { tsconfigPath, expectedPath } = data;\n const tsconfig = readJson<TsConfig>(tsconfigPath);\n\n const references = tsconfig.references ?? [];\n references.push({ path: expectedPath });\n tsconfig.references = references;\n\n fs.writeFileSync(tsconfigPath, JSON.stringify(tsconfig) + '\\n', 'utf-8');\n prettifySync(tsconfigPath);\n }\n\n private getLocalDependencies(pkg: Package) {\n const dependencies = {\n ...pkg.dependencies,\n ...pkg.devDependencies,\n ...pkg.peerDependencies,\n };\n\n return Object.keys(dependencies).filter(dependency =>\n this.workspacePackageNames.has(dependency)\n );\n }\n\n private normalizeTsConfigPath(filePath: string): string {\n if (this.isDirectory(filePath)) {\n return path.join(filePath, 'tsconfig.json');\n }\n return filePath.endsWith('.json') ? filePath : `${filePath}.json`;\n }\n\n private getTsConfigReferencedPackages(tsconfigPath: string) {\n const config = readJsonSafe<TsConfig>(tsconfigPath);\n if (!config?.references) {\n return new Set<string>();\n }\n\n const tsconfigDir = path.dirname(tsconfigPath);\n const referencedPackages = new Set<string>();\n\n for (const reference of config.references) {\n const resolvedRefPath = this.normalizeTsConfigPath(\n path.resolve(tsconfigDir, reference.path)\n );\n const refDir = path.dirname(resolvedRefPath);\n const packageName = this.locationToPackageName.get(refDir);\n\n if (packageName) {\n referencedPackages.add(packageName);\n }\n }\n\n return referencedPackages;\n }\n\n private getExpectedReferencePath(fromLocation: string, toLocation: string) {\n const relativePath = path.relative(fromLocation, toLocation);\n const tsconfigFile = getTsConfig(toLocation);\n const tsconfigName = path.basename(tsconfigFile);\n const referencePath = this.isDefaultTsConfig(tsconfigName)\n ? relativePath\n : path.join(relativePath, tsconfigName);\n\n return referencePath.replaceAll('\\\\', '/');\n }\n\n private collectTsConfigFiles(location: string): string[] {\n const tsconfigFiles = globSync(['tsconfig.json', 'tsconfig.*.json'], {\n absolute: false,\n cwd: location,\n });\n\n return tsconfigFiles.map(tsconfigFile => path.join(location, tsconfigFile));\n }\n\n private findMissingDependencyReferences(\n pkg: Package,\n tsconfigPath: string,\n localDependencies: string[]\n ): RuleError[] {\n const referencedPackages = this.getTsConfigReferencedPackages(tsconfigPath);\n\n return localDependencies\n .filter(dependency => !referencedPackages.has(dependency))\n .map(dependency => {\n const dependencyLocation = this.packageNameToLocation.get(dependency)!;\n\n return {\n id: this.id,\n message: `missing reference for dependency: ${dependency}`,\n location: tsconfigPath,\n fixable: FixCategory.normal,\n data: {\n tsconfigPath,\n missingReference: dependency,\n expectedPath: this.getExpectedReferencePath(\n pkg.location,\n dependencyLocation\n ),\n },\n };\n });\n }\n\n private readonly checkTsConfigReferences = (pkg: Package) => {\n if (pkg.location === '.') {\n return [];\n }\n\n const tsconfigFiles = this.collectTsConfigFiles(pkg.location);\n const localDependencies = this.getLocalDependencies(pkg);\n\n return tsconfigFiles.flatMap(tsconfigPath =>\n this.findMissingDependencyReferences(pkg, tsconfigPath, localDependencies)\n );\n };\n\n private isDefaultTsConfig(name: string) {\n return name === 'tsconfig.json';\n }\n\n private isDirectory(file: string) {\n try {\n return fs.statSync(file).isDirectory();\n } catch {\n return false;\n }\n }\n}\n"],"names":["RequireTsconfigReferences","id","run","project","packageNameToLocation","Map","packages","map","name","location","locationToPackageName","path","resolve","workspacePackageNames","Set","checkPackages","checkTsConfigReferences","fix","data","tsconfig","tsconfigPath","expectedPath","readJson","references","push","fs","writeFileSync","JSON","stringify","prettifySync","getLocalDependencies","pkg","dependencies","devDependencies","peerDependencies","Object","keys","filter","dependency","has","normalizeTsConfigPath","filePath","isDirectory","join","endsWith","getTsConfigReferencedPackages","config","readJsonSafe","tsconfigDir","dirname","referencedPackages","reference","resolvedRefPath","refDir","packageName","get","add","getExpectedReferencePath","fromLocation","toLocation","relativePath","relative","tsconfigFile","getTsConfig","tsconfigName","basename","referencePath","isDefaultTsConfig","replaceAll","collectTsConfigFiles","tsconfigFiles","globSync","absolute","cwd","findMissingDependencyReferences","localDependencies","dependencyLocation","message","fixable","FixCategory","normal","missingReference","file","statSync","flatMap"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-task.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run-task.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-task.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run-task.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;CAIa,CAAC;AAQ3B,qBAAa,OAAQ,SAAQ,OAAO,CAAC,OAAO,OAAO,CAAC;IAChD,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;MAAW;IAG5B,OAAO;CAchB"}
|
|
@@ -9,9 +9,7 @@ Object.defineProperty(exports, "RunTask", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _utils = require("../../utils");
|
|
12
|
-
const
|
|
13
|
-
const _tsccompile = require("../tasks/tsc-compile");
|
|
14
|
-
const _tsccompilepackage = require("../tasks/tsc-compile-package");
|
|
12
|
+
const _tasks = require("../tasks");
|
|
15
13
|
const _types = require("./types");
|
|
16
14
|
function _define_property(obj, key, value) {
|
|
17
15
|
if (key in obj) {
|
|
@@ -52,9 +50,9 @@ const options = {
|
|
|
52
50
|
}
|
|
53
51
|
};
|
|
54
52
|
const tasks = {
|
|
55
|
-
'tsc-compile-package':
|
|
56
|
-
'swc-compile-package':
|
|
57
|
-
'tsc-compile':
|
|
53
|
+
'tsc-compile-package': _tasks.TscCompilePackage,
|
|
54
|
+
'swc-compile-package': _tasks.SwcCompilePackage,
|
|
55
|
+
'tsc-compile': _tasks.TscCompile
|
|
58
56
|
};
|
|
59
57
|
class RunTask extends _types.Command {
|
|
60
58
|
async execute() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/run-task.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { log, logErrors } from '../../utils';\nimport { SwcCompilePackage } from '../tasks
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/run-task.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { log, logErrors } from '../../utils';\nimport { SwcCompilePackage, TscCompile, TscCompilePackage } from '../tasks';\nimport { Task } from '../tasks/task';\nimport { Command, CommandOptions } from './types';\n\nconst options = {\n _: { description: '<taskName> [taskArgs...]', array: true, string: true },\n taskName: { string: true, hidden: true },\n taskArgs: { array: true, string: true, hidden: true },\n} satisfies CommandOptions;\n\nconst tasks: Record<string, new (args: { [key: string]: unknown }) => Task> = {\n 'tsc-compile-package': TscCompilePackage,\n 'swc-compile-package': SwcCompilePackage,\n 'tsc-compile': TscCompile,\n};\n\nexport class RunTask extends Command<typeof options> {\n static readonly options = options;\n\n @logErrors\n async execute() {\n const { _ = [], taskName = this.args._?.[0], taskArgs = [], ...restOptions } = this.args;\n\n if (taskName && taskName in tasks) {\n await new tasks[taskName]({\n _: [..._, ...taskArgs],\n ...restOptions,\n }).execute();\n return;\n }\n\n log.error(`Unknown task: \"${taskName}\"`);\n log.text(`\\nSupported tasks: \"${Object.keys(tasks).join('\", \"')}\"`);\n }\n}\n"],"names":["RunTask","options","_","description","array","string","taskName","hidden","taskArgs","tasks","TscCompilePackage","SwcCompilePackage","TscCompile","Command","execute","args","restOptions","log","error","text","Object","keys","join"],"mappings":"AAAA,uDAAuD;;;;+BAkB1CA;;;eAAAA;;;uBAjBkB;uBACkC;uBAEzB;;;;;;;;;;;;;;;;;;;;;;;AAExC,MAAMC,UAAU;IACZC,GAAG;QAAEC,aAAa;QAA4BC,OAAO;QAAMC,QAAQ;IAAK;IACxEC,UAAU;QAAED,QAAQ;QAAME,QAAQ;IAAK;IACvCC,UAAU;QAAEJ,OAAO;QAAMC,QAAQ;QAAME,QAAQ;IAAK;AACxD;AAEA,MAAME,QAAwE;IAC1E,uBAAuBC,wBAAiB;IACxC,uBAAuBC,wBAAiB;IACxC,eAAeC,iBAAU;AAC7B;AAEO,MAAMZ,gBAAgBa,cAAO;IAGhC,MACMC,UAAU;YACe;QAA3B,MAAM,EAAEZ,IAAI,EAAE,EAAEI,YAAW,eAAA,IAAI,CAACS,IAAI,CAACb,CAAC,cAAX,mCAAA,YAAa,CAAC,EAAE,EAAEM,WAAW,EAAE,EAAE,GAAGQ,aAAa,GAAG,IAAI,CAACD,IAAI;QAExF,IAAIT,YAAYA,YAAYG,OAAO;YAC/B,MAAM,IAAIA,KAAK,CAACH,SAAS,CAAC;gBACtBJ,GAAG;uBAAIA;uBAAMM;iBAAS;gBACtB,GAAGQ,WAAW;YAClB,GAAGF,OAAO;YACV;QACJ;QAEAG,UAAG,CAACC,KAAK,CAAC,CAAC,eAAe,EAAEZ,SAAS,CAAC,CAAC;QACvCW,UAAG,CAACE,IAAI,CAAC,CAAC,oBAAoB,EAAEC,OAAOC,IAAI,CAACZ,OAAOa,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE;AACJ;AAjBI,iBADStB,SACOC,WAAUA"}
|
|
@@ -3,14 +3,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
const _utils = require("../../utils");
|
|
6
|
-
const
|
|
7
|
-
const _tsccompile = require("../tasks/tsc-compile");
|
|
8
|
-
const _tsccompilepackage = require("../tasks/tsc-compile-package");
|
|
6
|
+
const _tasks = require("../tasks");
|
|
9
7
|
const _runtask = require("./run-task");
|
|
10
|
-
jest.mock('yargs', ()=>jest.fn());
|
|
11
|
-
jest.mock('yargs/helpers', ()=>({
|
|
12
|
-
hideBin: jest.fn()
|
|
13
|
-
}));
|
|
14
8
|
jest.mock('../../utils', ()=>({
|
|
15
9
|
...jest.requireActual('../../utils'),
|
|
16
10
|
log: {
|
|
@@ -28,9 +22,9 @@ describe(`[startup] ${_runtask.RunTask.name}`, ()=>{
|
|
|
28
22
|
});
|
|
29
23
|
const subject = ()=>new _runtask.RunTask(args).execute();
|
|
30
24
|
const supportedTasks = {
|
|
31
|
-
'tsc-compile-package':
|
|
32
|
-
'swc-compile-package':
|
|
33
|
-
'tsc-compile':
|
|
25
|
+
'tsc-compile-package': _tasks.TscCompilePackage,
|
|
26
|
+
'swc-compile-package': _tasks.SwcCompilePackage,
|
|
27
|
+
'tsc-compile': _tasks.TscCompile
|
|
34
28
|
};
|
|
35
29
|
Object.entries(supportedTasks).forEach(([name, task])=>describe(`with ${name}`, ()=>{
|
|
36
30
|
beforeEach(()=>args = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/run-task.test.ts"],"sourcesContent":["import { log } from '../../utils';\nimport { SwcCompilePackage
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/run-task.test.ts"],"sourcesContent":["import { log } from '../../utils';\nimport { SwcCompilePackage, TscCompile, TscCompilePackage } from '../tasks';\nimport { RunTask } from './run-task';\n\njest.mock('../../utils', () => ({\n ...jest.requireActual('../../utils'),\n log: { error: jest.fn(), text: jest.fn() },\n}));\njest.mock('../tasks/swc-compile-package');\njest.mock('../tasks/tsc-compile');\njest.mock('../tasks/tsc-compile-package');\n\ndescribe(`[startup] ${RunTask.name}`, () => {\n let args: ConstructorParameters<typeof RunTask>[0];\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n const subject = () => new RunTask(args).execute();\n\n const supportedTasks = {\n 'tsc-compile-package': TscCompilePackage,\n 'swc-compile-package': SwcCompilePackage,\n 'tsc-compile': TscCompile,\n };\n\n Object.entries(supportedTasks).forEach(([name, task]) =>\n describe(`with ${name}`, () => {\n beforeEach(() => (args = { _: [name] })); // eslint-disable-line @typescript-eslint/naming-convention\n\n test(`runs ${task.name}`, async () => {\n await subject();\n\n expect(jest.mocked(task).mock.instances[0].execute).toHaveBeenCalled();\n });\n })\n );\n\n describe('with empty args', () => {\n beforeEach(() => (args = {}));\n\n test('logs error for undefined task', async () => {\n await subject();\n\n expect(log.error).toHaveBeenCalledWith('Unknown task: \"undefined\"');\n });\n });\n\n describe('with unrecognized task', () => {\n beforeEach(() => (args = { _: ['foo'] })); // eslint-disable-line @typescript-eslint/naming-convention\n\n test('logs error', async () => {\n await subject();\n\n expect(log.error).toHaveBeenCalledWith(`Unknown task: \"${args._?.[0]}\"`);\n });\n\n test('lists supported tasks', async () => {\n await subject();\n\n expect(log.text).toHaveBeenCalledWith(\n `\\nSupported tasks: \"${Object.keys(supportedTasks).join('\", \"')}\"`\n );\n });\n });\n});\n"],"names":["jest","mock","requireActual","log","error","fn","text","describe","RunTask","name","args","beforeEach","clearAllMocks","subject","execute","supportedTasks","TscCompilePackage","SwcCompilePackage","TscCompile","Object","entries","forEach","task","_","test","expect","mocked","instances","toHaveBeenCalled","toHaveBeenCalledWith","keys","join"],"mappings":";;;;uBAAoB;uBAC6C;yBACzC;AAExBA,KAAKC,IAAI,CAAC,eAAe,IAAO,CAAA;QAC5B,GAAGD,KAAKE,aAAa,CAAC,cAAc;QACpCC,KAAK;YAAEC,OAAOJ,KAAKK,EAAE;YAAIC,MAAMN,KAAKK,EAAE;QAAG;IAC7C,CAAA;AACAL,KAAKC,IAAI,CAAC;AACVD,KAAKC,IAAI,CAAC;AACVD,KAAKC,IAAI,CAAC;AAEVM,SAAS,CAAC,UAAU,EAAEC,gBAAO,CAACC,IAAI,EAAE,EAAE;IAClC,IAAIC;IAEJC,WAAW;QACPX,KAAKY,aAAa;IACtB;IAEA,MAAMC,UAAU,IAAM,IAAIL,gBAAO,CAACE,MAAMI,OAAO;IAE/C,MAAMC,iBAAiB;QACnB,uBAAuBC,wBAAiB;QACxC,uBAAuBC,wBAAiB;QACxC,eAAeC,iBAAU;IAC7B;IAEAC,OAAOC,OAAO,CAACL,gBAAgBM,OAAO,CAAC,CAAC,CAACZ,MAAMa,KAAK,GAChDf,SAAS,CAAC,KAAK,EAAEE,MAAM,EAAE;YACrBE,WAAW,IAAOD,OAAO;oBAAEa,GAAG;wBAACd;qBAAK;gBAAC,IAAK,2DAA2D;YAErGe,KAAK,CAAC,KAAK,EAAEF,KAAKb,IAAI,EAAE,EAAE;gBACtB,MAAMI;gBAENY,OAAOzB,KAAK0B,MAAM,CAACJ,MAAMrB,IAAI,CAAC0B,SAAS,CAAC,EAAE,CAACb,OAAO,EAAEc,gBAAgB;YACxE;QACJ;IAGJrB,SAAS,mBAAmB;QACxBI,WAAW,IAAOD,OAAO,CAAC;QAE1Bc,KAAK,iCAAiC;YAClC,MAAMX;YAENY,OAAOtB,UAAG,CAACC,KAAK,EAAEyB,oBAAoB,CAAC;QAC3C;IACJ;IAEAtB,SAAS,0BAA0B;QAC/BI,WAAW,IAAOD,OAAO;gBAAEa,GAAG;oBAAC;iBAAM;YAAC,IAAK,2DAA2D;QAEtGC,KAAK,cAAc;gBAG0Cd;YAFzD,MAAMG;YAENY,OAAOtB,UAAG,CAACC,KAAK,EAAEyB,oBAAoB,CAAC,CAAC,eAAe,GAAEnB,UAAAA,KAAKa,CAAC,cAANb,8BAAAA,OAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E;QAEAc,KAAK,yBAAyB;YAC1B,MAAMX;YAENY,OAAOtB,UAAG,CAACG,IAAI,EAAEuB,oBAAoB,CACjC,CAAC,oBAAoB,EAAEV,OAAOW,IAAI,CAACf,gBAAgBgB,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1E;IACJ;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/tasks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
_export_star(require("./swc-compile-package"), exports);
|
|
6
|
+
_export_star(require("./tsc-compile"), exports);
|
|
7
|
+
_export_star(require("./tsc-compile-package"), exports);
|
|
8
|
+
function _export_star(from, to) {
|
|
9
|
+
Object.keys(from).forEach(function(k) {
|
|
10
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
11
|
+
Object.defineProperty(to, k, {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function() {
|
|
14
|
+
return from[k];
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return from;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/tasks/index.ts"],"sourcesContent":["export * from './swc-compile-package';\nexport * from './tsc-compile';\nexport * from './tsc-compile-package';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { TSConfig } from '../../utils';
|
|
2
|
+
export declare function getSwcOptions(tsConfig: TSConfig): {
|
|
3
|
+
jsc: {
|
|
4
|
+
parser: {
|
|
5
|
+
syntax: "typescript";
|
|
6
|
+
tsx: true;
|
|
7
|
+
decorators: true;
|
|
8
|
+
};
|
|
9
|
+
target: import("@swc/types").JscTarget | undefined;
|
|
10
|
+
transform: {
|
|
11
|
+
legacyDecorator: boolean | undefined;
|
|
12
|
+
decoratorMetadata: boolean | undefined;
|
|
13
|
+
react: {
|
|
14
|
+
runtime: "automatic";
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
sourceMaps: boolean | "inline" | undefined;
|
|
19
|
+
module: {
|
|
20
|
+
type: "commonjs" | "es6";
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=get-swc-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-swc-options.d.ts","sourceRoot":"","sources":["../../../../src/cli/tasks/swc-compile-package/get-swc-options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;;EA4B/C"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "getSwcOptions", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return getSwcOptions;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function getSwcOptions(tsConfig) {
|
|
12
|
+
var _tsConfig_getValue;
|
|
13
|
+
const target = tsConfig.getValue('compilerOptions.target');
|
|
14
|
+
const legacyDecorator = tsConfig.getValue('compilerOptions.experimentalDecorators');
|
|
15
|
+
const decoratorMetadata = tsConfig.getValue('compilerOptions.emitDecoratorMetadata');
|
|
16
|
+
const sourceMaps = tsConfig.getValue('compilerOptions.sourceMap');
|
|
17
|
+
const module = (_tsConfig_getValue = tsConfig.getValue('compilerOptions.module')) === null || _tsConfig_getValue === void 0 ? void 0 : _tsConfig_getValue.toLowerCase();
|
|
18
|
+
return {
|
|
19
|
+
jsc: {
|
|
20
|
+
parser: {
|
|
21
|
+
syntax: 'typescript',
|
|
22
|
+
tsx: true,
|
|
23
|
+
decorators: true
|
|
24
|
+
},
|
|
25
|
+
target,
|
|
26
|
+
transform: {
|
|
27
|
+
legacyDecorator,
|
|
28
|
+
decoratorMetadata,
|
|
29
|
+
react: {
|
|
30
|
+
runtime: 'automatic'
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
sourceMaps,
|
|
35
|
+
module: {
|
|
36
|
+
type: module === 'commonjs' || module === 'nodenext' ? 'commonjs' : 'es6'
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=get-swc-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/tasks/swc-compile-package/get-swc-options.ts"],"sourcesContent":["import type { SwcOptions } from '@swc/cli';\nimport { TSConfig } from '../../utils';\n\ntype JscConfig = NonNullable<SwcOptions['jsc']>;\n\nexport function getSwcOptions(tsConfig: TSConfig) {\n const target = tsConfig.getValue<JscConfig['target']>('compilerOptions.target');\n const legacyDecorator = tsConfig.getValue<boolean>('compilerOptions.experimentalDecorators');\n const decoratorMetadata = tsConfig.getValue<boolean>('compilerOptions.emitDecoratorMetadata');\n const sourceMaps = tsConfig.getValue<SwcOptions['sourceMaps']>('compilerOptions.sourceMap');\n const module = tsConfig.getValue<string>('compilerOptions.module')?.toLowerCase();\n\n return {\n jsc: {\n parser: {\n syntax: 'typescript',\n tsx: true,\n decorators: true,\n },\n target,\n transform: {\n legacyDecorator,\n decoratorMetadata,\n react: {\n runtime: 'automatic',\n },\n },\n },\n sourceMaps,\n module: {\n type: module === 'commonjs' || module === 'nodenext' ? 'commonjs' : 'es6',\n },\n } satisfies SwcOptions;\n}\n"],"names":["getSwcOptions","tsConfig","target","getValue","legacyDecorator","decoratorMetadata","sourceMaps","module","toLowerCase","jsc","parser","syntax","tsx","decorators","transform","react","runtime","type"],"mappings":";;;;+BAKgBA;;;eAAAA;;;AAAT,SAASA,cAAcC,QAAkB;QAK7BA;IAJf,MAAMC,SAASD,SAASE,QAAQ,CAAsB;IACtD,MAAMC,kBAAkBH,SAASE,QAAQ,CAAU;IACnD,MAAME,oBAAoBJ,SAASE,QAAQ,CAAU;IACrD,MAAMG,aAAaL,SAASE,QAAQ,CAA2B;IAC/D,MAAMI,UAASN,qBAAAA,SAASE,QAAQ,CAAS,uCAA1BF,yCAAAA,mBAAqDO,WAAW;IAE/E,OAAO;QACHC,KAAK;YACDC,QAAQ;gBACJC,QAAQ;gBACRC,KAAK;gBACLC,YAAY;YAChB;YACAX;YACAY,WAAW;gBACPV;gBACAC;gBACAU,OAAO;oBACHC,SAAS;gBACb;YACJ;QACJ;QACAV;QACAC,QAAQ;YACJU,MAAMV,WAAW,cAAcA,WAAW,aAAa,aAAa;QACxE;IACJ;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/tasks/swc-compile-package/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
_export_star(require("./get-swc-options"), exports);
|
|
6
|
+
_export_star(require("./swc-compile-package"), exports);
|
|
7
|
+
function _export_star(from, to) {
|
|
8
|
+
Object.keys(from).forEach(function(k) {
|
|
9
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
10
|
+
Object.defineProperty(to, k, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function() {
|
|
13
|
+
return from[k];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
return from;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/tasks/swc-compile-package/index.ts"],"sourcesContent":["export * from './get-swc-options';\nexport * from './swc-compile-package';\n"],"names":[],"mappings":";;;;qBAAc;qBACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swc-compile-package.d.ts","sourceRoot":"","sources":["../../../../src/cli/tasks/swc-compile-package/swc-compile-package.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,UAAU,IAAI;IACV,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,qBAAa,iBAAkB,SAAQ,IAAI;gBAC3B,EAAE,KAAK,EAAE,EAAE,IAAI;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC9B,OAAO,CAAC,SAAS;CAapB"}
|
package/dist/cli/tasks/{swc-compile-package.js → swc-compile-package/swc-compile-package.js}
RENAMED
|
@@ -11,9 +11,10 @@ Object.defineProperty(exports, "SwcCompilePackage", {
|
|
|
11
11
|
const _cli = require("@swc/cli");
|
|
12
12
|
const _debounce = /*#__PURE__*/ _interop_require_default(require("debounce"));
|
|
13
13
|
const _deepmerge = /*#__PURE__*/ _interop_require_default(require("deepmerge"));
|
|
14
|
-
const _utils = require("
|
|
15
|
-
const _utils1 = require("
|
|
16
|
-
const _task = require("
|
|
14
|
+
const _utils = require("../../../utils");
|
|
15
|
+
const _utils1 = require("../../utils");
|
|
16
|
+
const _task = require("../task");
|
|
17
|
+
const _getswcoptions = require("./get-swc-options");
|
|
17
18
|
function _interop_require_default(obj) {
|
|
18
19
|
return obj && obj.__esModule ? obj : {
|
|
19
20
|
default: obj
|
|
@@ -22,7 +23,6 @@ function _interop_require_default(obj) {
|
|
|
22
23
|
function overwriteMerge(_destinationArray, sourceArray) {
|
|
23
24
|
return sourceArray;
|
|
24
25
|
}
|
|
25
|
-
const typedefsPattern = '**/*.d.ts';
|
|
26
26
|
class SwcCompilePackage extends _task.Task {
|
|
27
27
|
async execute() {
|
|
28
28
|
const config = this.getConfig();
|
|
@@ -56,60 +56,13 @@ class SwcCompilePackage extends _task.Task {
|
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
getConfig() {
|
|
59
|
-
var _tsConfig_getValue;
|
|
60
|
-
const { source, destination } = (0, _utils.getFolders)();
|
|
61
59
|
const packageConfig = (0, _utils.getSwcCompilePackageConfiguration)();
|
|
62
60
|
const tsConfig = new _utils1.TSConfig((0, _utils.getTsConfig)());
|
|
63
|
-
const target = tsConfig.getValue('compilerOptions.target');
|
|
64
|
-
const legacyDecorator = tsConfig.getValue('compilerOptions.experimentalDecorators');
|
|
65
|
-
const decoratorMetadata = tsConfig.getValue('compilerOptions.emitDecoratorMetadata');
|
|
66
|
-
const sourceMaps = tsConfig.getValue('compilerOptions.sourceMap');
|
|
67
|
-
const module = (_tsConfig_getValue = tsConfig.getValue('compilerOptions.module')) === null || _tsConfig_getValue === void 0 ? void 0 : _tsConfig_getValue.toLowerCase();
|
|
68
|
-
const ignore = tsConfig.getValue('exclude', [
|
|
69
|
-
'**/*.d.ts',
|
|
70
|
-
'**/__tests__/*',
|
|
71
|
-
'**/*.test.*',
|
|
72
|
-
'**/__mocks__/*',
|
|
73
|
-
'**/*.stories.*'
|
|
74
|
-
]);
|
|
75
|
-
if (!ignore.includes(typedefsPattern)) {
|
|
76
|
-
ignore.push(typedefsPattern);
|
|
77
|
-
}
|
|
78
61
|
return (0, _deepmerge.default)({
|
|
79
|
-
cliOptions: {
|
|
80
|
-
watch: this.watch
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
extensions: [
|
|
84
|
-
'.ts',
|
|
85
|
-
'.tsx'
|
|
86
|
-
],
|
|
87
|
-
filenames: [
|
|
88
|
-
source
|
|
89
|
-
],
|
|
90
|
-
ignore
|
|
91
|
-
},
|
|
92
|
-
swcOptions: {
|
|
93
|
-
jsc: {
|
|
94
|
-
parser: {
|
|
95
|
-
syntax: 'typescript',
|
|
96
|
-
tsx: true,
|
|
97
|
-
decorators: true
|
|
98
|
-
},
|
|
99
|
-
target,
|
|
100
|
-
transform: {
|
|
101
|
-
legacyDecorator,
|
|
102
|
-
decoratorMetadata,
|
|
103
|
-
react: {
|
|
104
|
-
runtime: 'automatic'
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
sourceMaps,
|
|
109
|
-
module: {
|
|
110
|
-
type: module === 'commonjs' || module === 'nodenext' ? 'commonjs' : 'es6'
|
|
111
|
-
}
|
|
112
|
-
}
|
|
62
|
+
cliOptions: getCliOptions(tsConfig, {
|
|
63
|
+
watch: this.watch
|
|
64
|
+
}),
|
|
65
|
+
swcOptions: (0, _getswcoptions.getSwcOptions)(tsConfig)
|
|
113
66
|
}, packageConfig, {
|
|
114
67
|
arrayMerge: overwriteMerge,
|
|
115
68
|
clone: false
|
|
@@ -123,5 +76,32 @@ class SwcCompilePackage extends _task.Task {
|
|
|
123
76
|
});
|
|
124
77
|
}
|
|
125
78
|
}
|
|
79
|
+
function getCliOptions(tsConfig, { watch }) {
|
|
80
|
+
const { source, destination } = (0, _utils.getFolders)();
|
|
81
|
+
const typedefsPattern = '**/*.d.ts';
|
|
82
|
+
const ignore = tsConfig.getValue('exclude', [
|
|
83
|
+
typedefsPattern,
|
|
84
|
+
'**/__tests__/*',
|
|
85
|
+
'**/*.test.*',
|
|
86
|
+
'**/__mocks__/*',
|
|
87
|
+
'**/*.stories.*'
|
|
88
|
+
]);
|
|
89
|
+
if (!ignore.includes(typedefsPattern)) {
|
|
90
|
+
ignore.push(typedefsPattern);
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
extensions: [
|
|
94
|
+
'.ts',
|
|
95
|
+
'.tsx'
|
|
96
|
+
],
|
|
97
|
+
filenames: [
|
|
98
|
+
source
|
|
99
|
+
],
|
|
100
|
+
ignore,
|
|
101
|
+
outDir: destination,
|
|
102
|
+
stripLeadingPaths: true,
|
|
103
|
+
watch
|
|
104
|
+
};
|
|
105
|
+
}
|
|
126
106
|
|
|
127
107
|
//# sourceMappingURL=swc-compile-package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/tasks/swc-compile-package/swc-compile-package.ts"],"sourcesContent":["import type { Options } from '@swc/cli';\nimport { swcDir } from '@swc/cli';\nimport debounce from 'debounce';\nimport deepmerge from 'deepmerge';\nimport { getFolders, getSwcCompilePackageConfiguration, getTsConfig, log } from '../../../utils';\nimport { TSConfig } from '../../utils';\nimport { Task } from '../task';\nimport { getSwcOptions } from './get-swc-options';\n\ninterface Args {\n watch?: boolean;\n}\n\nfunction overwriteMerge(_destinationArray: unknown[], sourceArray: unknown[]) {\n return sourceArray;\n}\n\nexport class SwcCompilePackage extends Task {\n constructor({ watch }: Args) {\n super({ name: 'swc-compile-package', global: false, watch });\n }\n\n async execute(): Promise<void> {\n const config = this.getConfig();\n\n /* istanbul ignore next: debug only */\n log.debug('swc-compile-package:config', () => JSON.stringify(config, null, 2));\n\n /*\n * @swc/cli@0.5.0 doesn't implement \"ignore\" in watch mode so debounce\n * noisy output. See https://servicetitan.atlassian.net/browse/FAR-1592\n * and DEVELOPER_NOTES in file://./../../../package.json\n */\n const logSuccessResults = this.watch\n ? debounce(this.logCompletionResults.bind(this), 200)\n : this.logCompletionResults.bind(this);\n\n return new Promise((resolve, reject) => {\n swcDir({\n ...config,\n callbacks: {\n onSuccess: (e: { duration: number }) => {\n logSuccessResults(this.taskTimer.add(e.duration));\n if (!this.watch) {\n resolve();\n }\n },\n onFail: (e: { duration: number; reasons: Map<string, string> }) => {\n log.text([...e.reasons.values()][0]);\n this.logCompletionResults(this.taskTimer.add(e.duration));\n if (!this.watch) {\n reject(new Error('Compilation failed'));\n }\n },\n },\n });\n });\n }\n\n private getConfig(): Options {\n const packageConfig = getSwcCompilePackageConfiguration();\n const tsConfig = new TSConfig(getTsConfig());\n\n return deepmerge(\n {\n cliOptions: getCliOptions(tsConfig, { watch: this.watch }),\n swcOptions: getSwcOptions(tsConfig),\n },\n packageConfig,\n { arrayMerge: overwriteMerge, clone: false }\n );\n }\n}\n\nfunction getCliOptions(tsConfig: TSConfig, { watch }: { watch?: boolean }): Options['cliOptions'] {\n const { source, destination } = getFolders();\n const typedefsPattern = '**/*.d.ts';\n const ignore = tsConfig.getValue('exclude', [\n typedefsPattern,\n '**/__tests__/*',\n '**/*.test.*',\n '**/__mocks__/*',\n '**/*.stories.*',\n ]);\n\n if (!ignore.includes(typedefsPattern)) {\n ignore.push(typedefsPattern);\n }\n\n return {\n extensions: ['.ts', '.tsx'],\n filenames: [source],\n ignore,\n outDir: destination,\n stripLeadingPaths: true,\n watch,\n };\n}\n"],"names":["SwcCompilePackage","overwriteMerge","_destinationArray","sourceArray","Task","execute","config","getConfig","log","debug","JSON","stringify","logSuccessResults","watch","debounce","logCompletionResults","bind","Promise","resolve","reject","swcDir","callbacks","onSuccess","e","taskTimer","add","duration","onFail","text","reasons","values","Error","packageConfig","getSwcCompilePackageConfiguration","tsConfig","TSConfig","getTsConfig","deepmerge","cliOptions","getCliOptions","swcOptions","getSwcOptions","arrayMerge","clone","name","global","source","destination","getFolders","typedefsPattern","ignore","getValue","includes","push","extensions","filenames","outDir","stripLeadingPaths"],"mappings":";;;;+BAiBaA;;;eAAAA;;;qBAhBU;iEACF;kEACC;uBAC0D;wBACvD;sBACJ;+BACS;;;;;;AAM9B,SAASC,eAAeC,iBAA4B,EAAEC,WAAsB;IACxE,OAAOA;AACX;AAEO,MAAMH,0BAA0BI,UAAI;IAKvC,MAAMC,UAAyB;QAC3B,MAAMC,SAAS,IAAI,CAACC,SAAS;QAE7B,oCAAoC,GACpCC,UAAG,CAACC,KAAK,CAAC,8BAA8B,IAAMC,KAAKC,SAAS,CAACL,QAAQ,MAAM;QAE3E;;;;SAIC,GACD,MAAMM,oBAAoB,IAAI,CAACC,KAAK,GAC9BC,IAAAA,iBAAQ,EAAC,IAAI,CAACC,oBAAoB,CAACC,IAAI,CAAC,IAAI,GAAG,OAC/C,IAAI,CAACD,oBAAoB,CAACC,IAAI,CAAC,IAAI;QAEzC,OAAO,IAAIC,QAAQ,CAACC,SAASC;YACzBC,IAAAA,WAAM,EAAC;gBACH,GAAGd,MAAM;gBACTe,WAAW;oBACPC,WAAW,CAACC;wBACRX,kBAAkB,IAAI,CAACY,SAAS,CAACC,GAAG,CAACF,EAAEG,QAAQ;wBAC/C,IAAI,CAAC,IAAI,CAACb,KAAK,EAAE;4BACbK;wBACJ;oBACJ;oBACAS,QAAQ,CAACJ;wBACLf,UAAG,CAACoB,IAAI,CAAC;+BAAIL,EAAEM,OAAO,CAACC,MAAM;yBAAG,CAAC,EAAE;wBACnC,IAAI,CAACf,oBAAoB,CAAC,IAAI,CAACS,SAAS,CAACC,GAAG,CAACF,EAAEG,QAAQ;wBACvD,IAAI,CAAC,IAAI,CAACb,KAAK,EAAE;4BACbM,OAAO,IAAIY,MAAM;wBACrB;oBACJ;gBACJ;YACJ;QACJ;IACJ;IAEQxB,YAAqB;QACzB,MAAMyB,gBAAgBC,IAAAA,wCAAiC;QACvD,MAAMC,WAAW,IAAIC,gBAAQ,CAACC,IAAAA,kBAAW;QAEzC,OAAOC,IAAAA,kBAAS,EACZ;YACIC,YAAYC,cAAcL,UAAU;gBAAErB,OAAO,IAAI,CAACA,KAAK;YAAC;YACxD2B,YAAYC,IAAAA,4BAAa,EAACP;QAC9B,GACAF,eACA;YAAEU,YAAYzC;YAAgB0C,OAAO;QAAM;IAEnD;IArDA,YAAY,EAAE9B,KAAK,EAAQ,CAAE;QACzB,KAAK,CAAC;YAAE+B,MAAM;YAAuBC,QAAQ;YAAOhC;QAAM;IAC9D;AAoDJ;AAEA,SAAS0B,cAAcL,QAAkB,EAAE,EAAErB,KAAK,EAAuB;IACrE,MAAM,EAAEiC,MAAM,EAAEC,WAAW,EAAE,GAAGC,IAAAA,iBAAU;IAC1C,MAAMC,kBAAkB;IACxB,MAAMC,SAAShB,SAASiB,QAAQ,CAAC,WAAW;QACxCF;QACA;QACA;QACA;QACA;KACH;IAED,IAAI,CAACC,OAAOE,QAAQ,CAACH,kBAAkB;QACnCC,OAAOG,IAAI,CAACJ;IAChB;IAEA,OAAO;QACHK,YAAY;YAAC;YAAO;SAAO;QAC3BC,WAAW;YAACT;SAAO;QACnBI;QACAM,QAAQT;QACRU,mBAAmB;QACnB5C;IACJ;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/tasks/tsc-compile/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
_export_star(require("./tsc-compile"), exports);
|
|
6
|
+
function _export_star(from, to) {
|
|
7
|
+
Object.keys(from).forEach(function(k) {
|
|
8
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
9
|
+
Object.defineProperty(to, k, {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function() {
|
|
12
|
+
return from[k];
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
return from;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/tasks/tsc-compile/index.ts"],"sourcesContent":["export * from './tsc-compile';\n"],"names":[],"mappings":";;;;qBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsc-compile.d.ts","sourceRoot":"","sources":["../../../../src/cli/tasks/tsc-compile/tsc-compile.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,UAAU,IAAI;IACV,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,UAAW,SAAQ,OAAO;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAYjC,OAAO;CA0BhB"}
|
|
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "TscCompile", {
|
|
|
8
8
|
return TscCompile;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _utils = require("
|
|
12
|
-
const _clitask = require("
|
|
11
|
+
const _utils = require("../../../utils");
|
|
12
|
+
const _clitask = require("../cli-task");
|
|
13
13
|
function _define_property(obj, key, value) {
|
|
14
14
|
if (key in obj) {
|
|
15
15
|
Object.defineProperty(obj, key, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/tasks/tsc-compile/tsc-compile.ts"],"sourcesContent":["import {\n getPackages,\n getPackagesGraph,\n getTsConfig,\n log,\n Package,\n PackageType,\n} from '../../../utils';\nimport { CliTask } from '../cli-task';\n\ninterface Args {\n ignore?: string | string[];\n scope?: string | string[];\n watch?: boolean;\n}\n\nexport class TscCompile extends CliTask {\n constructor(private readonly args: Args) {\n super({\n name: 'tsc-compile',\n watch: args.watch,\n global: true,\n indicators: {\n end: 'Watching for file changes.',\n watchStart: 'Starting incremental compilation.',\n },\n });\n }\n\n async execute() {\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n\n const tsConfigs = collapsePackages(packages).map(({ location }) => getTsConfig(location));\n\n log.debug(\n 'tsc-compile',\n `${this.args.watch ? 'watching' : 'compiling'} ${tsConfigs.join(' ')}`\n );\n\n await this.runChildProcess(\n 'tsc',\n [\n '-b',\n this.watch ? '-w' : undefined,\n '--pretty',\n '--preserveWatchOutput',\n '--emitDeclarationOnly',\n ...tsConfigs,\n ].filter(i => i !== undefined)\n );\n }\n}\n\n/**\n * Exclude dependant packages as they will be built through project references\n */\nfunction collapsePackages(packages: Package[]) {\n const dependencies = new Set(\n Object.values(getPackagesGraph({ scope: packages.map(({ name }) => name) })).flat()\n );\n\n return packages.filter(({ name }) => !dependencies.has(name));\n}\n"],"names":["TscCompile","CliTask","execute","packages","getPackages","scope","args","ignore","type","PackageType","TSC","Webpack","tsConfigs","collapsePackages","map","location","getTsConfig","log","debug","watch","join","runChildProcess","undefined","filter","i","name","global","indicators","end","watchStart","dependencies","Set","Object","values","getPackagesGraph","flat","has"],"mappings":";;;;+BAgBaA;;;eAAAA;;;uBATN;yBACiB;;;;;;;;;;;;;;AAQjB,MAAMA,mBAAmBC,gBAAO;IAanC,MAAMC,UAAU;QACZ,MAAMC,WAAWC,IAAAA,kBAAW,EAAC;YACzBC,OAAO,IAAI,CAACC,IAAI,CAACD,KAAK;YACtBE,QAAQ,IAAI,CAACD,IAAI,CAACC,MAAM;YACxBC,MAAM;gBAACC,kBAAW,CAACC,GAAG;gBAAED,kBAAW,CAACE,OAAO;aAAC;QAChD;QAEA,MAAMC,YAAYC,iBAAiBV,UAAUW,GAAG,CAAC,CAAC,EAAEC,QAAQ,EAAE,GAAKC,IAAAA,kBAAW,EAACD;QAE/EE,UAAG,CAACC,KAAK,CACL,eACA,GAAG,IAAI,CAACZ,IAAI,CAACa,KAAK,GAAG,aAAa,YAAY,CAAC,EAAEP,UAAUQ,IAAI,CAAC,MAAM;QAG1E,MAAM,IAAI,CAACC,eAAe,CACtB,OACA;YACI;YACA,IAAI,CAACF,KAAK,GAAG,OAAOG;YACpB;YACA;YACA;eACGV;SACN,CAACW,MAAM,CAACC,CAAAA,IAAKA,MAAMF;IAE5B;IArCA,YAAY,AAAiBhB,IAAU,CAAE;QACrC,KAAK,CAAC;YACFmB,MAAM;YACNN,OAAOb,KAAKa,KAAK;YACjBO,QAAQ;YACRC,YAAY;gBACRC,KAAK;gBACLC,YAAY;YAChB;QACJ,iDATyBvB,OAAAA;IAU7B;AA4BJ;AAEA;;CAEC,GACD,SAASO,iBAAiBV,QAAmB;IACzC,MAAM2B,eAAe,IAAIC,IACrBC,OAAOC,MAAM,CAACC,IAAAA,uBAAgB,EAAC;QAAE7B,OAAOF,SAASW,GAAG,CAAC,CAAC,EAAEW,IAAI,EAAE,GAAKA;IAAM,IAAIU,IAAI;IAGrF,OAAOhC,SAASoB,MAAM,CAAC,CAAC,EAAEE,IAAI,EAAE,GAAK,CAACK,aAAaM,GAAG,CAACX;AAC3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/tasks/tsc-compile-package/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|