@tscircuit/cli 0.1.1425 → 0.1.1426
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/main.js +89 -23
- package/dist/lib/index.js +1 -1
- package/package.json +2 -2
package/dist/cli/main.js
CHANGED
|
@@ -100688,7 +100688,7 @@ var import_perfect_cli = __toESM2(require_dist2(), 1);
|
|
|
100688
100688
|
// lib/getVersion.ts
|
|
100689
100689
|
import { createRequire as createRequire2 } from "node:module";
|
|
100690
100690
|
// package.json
|
|
100691
|
-
var version = "0.1.
|
|
100691
|
+
var version = "0.1.1425";
|
|
100692
100692
|
var package_default = {
|
|
100693
100693
|
name: "@tscircuit/cli",
|
|
100694
100694
|
version,
|
|
@@ -110190,6 +110190,40 @@ var getEntrypoint = async ({
|
|
|
110190
110190
|
}
|
|
110191
110191
|
};
|
|
110192
110192
|
|
|
110193
|
+
// lib/shared/platform-config-utils.ts
|
|
110194
|
+
var mergePlatformConfigs = (...configs) => {
|
|
110195
|
+
const definedConfigs = configs.filter(Boolean);
|
|
110196
|
+
if (definedConfigs.length === 0) {
|
|
110197
|
+
return;
|
|
110198
|
+
}
|
|
110199
|
+
return definedConfigs.reduce((mergedConfig, config) => {
|
|
110200
|
+
return {
|
|
110201
|
+
...mergedConfig,
|
|
110202
|
+
...config,
|
|
110203
|
+
footprintLibraryMap: {
|
|
110204
|
+
...mergedConfig.footprintLibraryMap,
|
|
110205
|
+
...config.footprintLibraryMap
|
|
110206
|
+
},
|
|
110207
|
+
footprintFileParserMap: {
|
|
110208
|
+
...mergedConfig.footprintFileParserMap,
|
|
110209
|
+
...config.footprintFileParserMap
|
|
110210
|
+
},
|
|
110211
|
+
staticFileLoaderMap: {
|
|
110212
|
+
...mergedConfig.staticFileLoaderMap,
|
|
110213
|
+
...config.staticFileLoaderMap
|
|
110214
|
+
},
|
|
110215
|
+
autorouterMap: {
|
|
110216
|
+
...mergedConfig.autorouterMap,
|
|
110217
|
+
...config.autorouterMap
|
|
110218
|
+
},
|
|
110219
|
+
spiceEngineMap: {
|
|
110220
|
+
...mergedConfig.spiceEngineMap,
|
|
110221
|
+
...config.spiceEngineMap
|
|
110222
|
+
}
|
|
110223
|
+
};
|
|
110224
|
+
}, {});
|
|
110225
|
+
};
|
|
110226
|
+
|
|
110193
110227
|
// lib/site/loadingStateUi.ts
|
|
110194
110228
|
var loadingStateUi = `
|
|
110195
110229
|
<div id="loader" class="loading-overlay">
|
|
@@ -110509,7 +110543,7 @@ var applyCiBuildOptions = async ({
|
|
|
110509
110543
|
if (!options?.ci) {
|
|
110510
110544
|
return { resolvedOptions: options, handled: false };
|
|
110511
110545
|
}
|
|
110512
|
-
const projectConfig =
|
|
110546
|
+
const projectConfig = await loadRuntimeProjectConfig(projectDir);
|
|
110513
110547
|
const insideBuildCommand = process.env.TSCIRCUIT_INSIDE_BUILD_COMMAND === "1";
|
|
110514
110548
|
await installProjectDependencies({
|
|
110515
110549
|
cwd: projectDir,
|
|
@@ -113959,17 +113993,45 @@ var findBoardFiles = ({
|
|
|
113959
113993
|
} = {}) => {
|
|
113960
113994
|
const resolvedProjectDir = path37.resolve(projectDir);
|
|
113961
113995
|
const boardFilePatterns = getBoardFilePatterns(resolvedProjectDir);
|
|
113996
|
+
return findBoardFilesFromPatterns({
|
|
113997
|
+
boardFilePatterns,
|
|
113998
|
+
projectDir: resolvedProjectDir,
|
|
113999
|
+
ignore,
|
|
114000
|
+
filePaths
|
|
114001
|
+
});
|
|
114002
|
+
};
|
|
114003
|
+
var findBoardFilesAsync = async ({
|
|
114004
|
+
projectDir = process.cwd(),
|
|
114005
|
+
ignore = DEFAULT_IGNORED_PATTERNS,
|
|
114006
|
+
filePaths = []
|
|
114007
|
+
} = {}) => {
|
|
114008
|
+
const resolvedProjectDir = path37.resolve(projectDir);
|
|
114009
|
+
const projectConfig = await loadRuntimeProjectConfig(resolvedProjectDir);
|
|
114010
|
+
const boardFilePatterns = projectConfig?.includeBoardFiles?.filter((pattern) => pattern.trim()) ?? [];
|
|
114011
|
+
return findBoardFilesFromPatterns({
|
|
114012
|
+
boardFilePatterns: boardFilePatterns.length > 0 ? boardFilePatterns : DEFAULT_BOARD_FILE_PATTERNS,
|
|
114013
|
+
projectDir: resolvedProjectDir,
|
|
114014
|
+
ignore,
|
|
114015
|
+
filePaths
|
|
114016
|
+
});
|
|
114017
|
+
};
|
|
114018
|
+
var findBoardFilesFromPatterns = ({
|
|
114019
|
+
boardFilePatterns,
|
|
114020
|
+
projectDir,
|
|
114021
|
+
ignore,
|
|
114022
|
+
filePaths
|
|
114023
|
+
}) => {
|
|
113962
114024
|
const relativeBoardFiles = globbySync(boardFilePatterns, {
|
|
113963
|
-
cwd:
|
|
114025
|
+
cwd: projectDir,
|
|
113964
114026
|
ignore
|
|
113965
114027
|
});
|
|
113966
|
-
const absoluteBoardFiles = relativeBoardFiles.map((f) => path37.join(
|
|
114028
|
+
const absoluteBoardFiles = relativeBoardFiles.map((f) => path37.join(projectDir, f));
|
|
113967
114029
|
const boardFileSet = new Set;
|
|
113968
114030
|
if (filePaths.length > 0) {
|
|
113969
114031
|
for (const inputPath of filePaths) {
|
|
113970
114032
|
if (isGlobPattern(inputPath)) {
|
|
113971
114033
|
const matches = globbySync(inputPath, {
|
|
113972
|
-
cwd:
|
|
114034
|
+
cwd: projectDir,
|
|
113973
114035
|
ignore,
|
|
113974
114036
|
absolute: true
|
|
113975
114037
|
});
|
|
@@ -113977,14 +114039,14 @@ var findBoardFiles = ({
|
|
|
113977
114039
|
boardFileSet.add(match);
|
|
113978
114040
|
}
|
|
113979
114041
|
} else {
|
|
113980
|
-
const targetPath = path37.resolve(
|
|
114042
|
+
const targetPath = path37.resolve(projectDir, inputPath);
|
|
113981
114043
|
if (!fs34.existsSync(targetPath)) {
|
|
113982
114044
|
continue;
|
|
113983
114045
|
}
|
|
113984
114046
|
const stat = fs34.statSync(targetPath);
|
|
113985
114047
|
if (stat.isDirectory()) {
|
|
113986
114048
|
const resolvedDir = path37.resolve(targetPath);
|
|
113987
|
-
if (isSubPath(resolvedDir,
|
|
114049
|
+
if (isSubPath(resolvedDir, projectDir)) {
|
|
113988
114050
|
for (const boardFile of absoluteBoardFiles) {
|
|
113989
114051
|
if (isSubPath(boardFile, resolvedDir)) {
|
|
113990
114052
|
boardFileSet.add(boardFile);
|
|
@@ -114055,14 +114117,15 @@ async function getBuildEntrypoints({
|
|
|
114055
114117
|
includeBoardFiles = true
|
|
114056
114118
|
}) {
|
|
114057
114119
|
const resolvedRoot = path38.resolve(rootDir);
|
|
114058
|
-
const
|
|
114120
|
+
const rootProjectConfig = await loadRuntimeProjectConfig(resolvedRoot);
|
|
114121
|
+
const includeBoardFilePatterns = includeBoardFiles ? rootProjectConfig?.includeBoardFiles?.filter((pattern) => pattern.trim()) ?? DEFAULT_BOARD_FILE_PATTERNS : [];
|
|
114059
114122
|
const buildFromProjectDir = async () => {
|
|
114060
|
-
const projectConfig =
|
|
114123
|
+
const projectConfig = rootProjectConfig;
|
|
114061
114124
|
const hasConfiguredIncludeBoardFiles = Boolean(projectConfig?.includeBoardFiles?.some((pattern) => pattern.trim()));
|
|
114062
114125
|
const resolvedPreviewComponentPath = projectConfig?.previewComponentPath ? path38.resolve(resolvedRoot, projectConfig.previewComponentPath) : undefined;
|
|
114063
114126
|
const resolvedSiteDefaultComponentPath = projectConfig?.siteDefaultComponentPath ? path38.resolve(resolvedRoot, projectConfig.siteDefaultComponentPath) : undefined;
|
|
114064
114127
|
if (includeBoardFiles) {
|
|
114065
|
-
const files =
|
|
114128
|
+
const files = await findBoardFilesAsync({ projectDir: resolvedRoot });
|
|
114066
114129
|
if (files.length > 0) {
|
|
114067
114130
|
return {
|
|
114068
114131
|
projectDir: resolvedRoot,
|
|
@@ -114108,12 +114171,12 @@ async function getBuildEntrypoints({
|
|
|
114108
114171
|
if (fileOrDir) {
|
|
114109
114172
|
const resolved = path38.resolve(resolvedRoot, fileOrDir);
|
|
114110
114173
|
if (fs35.existsSync(resolved) && fs35.statSync(resolved).isDirectory()) {
|
|
114111
|
-
const projectConfig2 =
|
|
114174
|
+
const projectConfig2 = rootProjectConfig;
|
|
114112
114175
|
const resolvedPreviewComponentPath2 = projectConfig2?.previewComponentPath ? path38.resolve(resolvedRoot, projectConfig2.previewComponentPath) : undefined;
|
|
114113
114176
|
const resolvedSiteDefaultComponentPath2 = projectConfig2?.siteDefaultComponentPath ? path38.resolve(resolvedRoot, projectConfig2.siteDefaultComponentPath) : undefined;
|
|
114114
114177
|
if (includeBoardFiles) {
|
|
114115
114178
|
const hasConfiguredIncludeBoardFiles = Boolean(projectConfig2?.includeBoardFiles?.some((pattern) => pattern.trim()));
|
|
114116
|
-
const matchedFiles =
|
|
114179
|
+
const matchedFiles = await findBoardFilesAsync({
|
|
114117
114180
|
projectDir: resolvedRoot
|
|
114118
114181
|
});
|
|
114119
114182
|
const circuitFiles = matchedFiles.filter((file) => isSubPath2(file, resolved));
|
|
@@ -114152,7 +114215,7 @@ async function getBuildEntrypoints({
|
|
|
114152
114215
|
}
|
|
114153
114216
|
const fileDir = path38.dirname(resolved);
|
|
114154
114217
|
const projectDir = findProjectRoot(fileDir);
|
|
114155
|
-
const projectConfig =
|
|
114218
|
+
const projectConfig = await loadRuntimeProjectConfig(projectDir);
|
|
114156
114219
|
const resolvedPreviewComponentPath = projectConfig?.previewComponentPath ? path38.resolve(projectDir, projectConfig.previewComponentPath) : undefined;
|
|
114157
114220
|
const resolvedSiteDefaultComponentPath = projectConfig?.siteDefaultComponentPath ? path38.resolve(projectDir, projectConfig.siteDefaultComponentPath) : undefined;
|
|
114158
114221
|
return {
|
|
@@ -115018,7 +115081,7 @@ var registerBuild = (program2) => {
|
|
|
115018
115081
|
} else {
|
|
115019
115082
|
projectDir = resolvedRoot;
|
|
115020
115083
|
}
|
|
115021
|
-
const projectConfig =
|
|
115084
|
+
const projectConfig = await loadRuntimeProjectConfig(projectDir);
|
|
115022
115085
|
const { options: optionsWithConfig, configAppliedOpts } = resolveBuildOptions({
|
|
115023
115086
|
cliOptions: options,
|
|
115024
115087
|
projectConfig
|
|
@@ -115042,7 +115105,7 @@ var registerBuild = (program2) => {
|
|
|
115042
115105
|
} = await getBuildEntrypoints({
|
|
115043
115106
|
fileOrDir: fileOrDirForBuild
|
|
115044
115107
|
});
|
|
115045
|
-
const
|
|
115108
|
+
const commandPlatformConfig = (() => {
|
|
115046
115109
|
if (!resolvedOptions?.disablePcb && !resolvedOptions?.routingDisabled && !resolvedOptions?.disablePartsEngine) {
|
|
115047
115110
|
return;
|
|
115048
115111
|
}
|
|
@@ -115058,6 +115121,7 @@ var registerBuild = (program2) => {
|
|
|
115058
115121
|
}
|
|
115059
115122
|
return config;
|
|
115060
115123
|
})();
|
|
115124
|
+
const platformConfig = mergePlatformConfigs(projectConfig?.platformConfig, commandPlatformConfig);
|
|
115061
115125
|
const distDir = path42.join(projectDir, "dist");
|
|
115062
115126
|
fs39.mkdirSync(distDir, { recursive: true });
|
|
115063
115127
|
const concurrencyValue = Math.max(1, Number.parseInt(resolvedOptions?.concurrency || "1", 10));
|
|
@@ -115399,9 +115463,8 @@ var registerBuild = (program2) => {
|
|
|
115399
115463
|
fileOrDir: file,
|
|
115400
115464
|
includeBoardFiles: false
|
|
115401
115465
|
});
|
|
115402
|
-
const
|
|
115403
|
-
|
|
115404
|
-
filePath: projectConfig2.kicadLibraryEntrypointPath,
|
|
115466
|
+
const entryFile = projectConfig?.kicadLibraryEntrypointPath != null ? await getEntrypoint({
|
|
115467
|
+
filePath: projectConfig.kicadLibraryEntrypointPath,
|
|
115405
115468
|
projectDir
|
|
115406
115469
|
}) : kicadEntrypoint;
|
|
115407
115470
|
if (!entryFile) {
|
|
@@ -115433,9 +115496,8 @@ var registerBuild = (program2) => {
|
|
|
115433
115496
|
fileOrDir: file,
|
|
115434
115497
|
includeBoardFiles: false
|
|
115435
115498
|
});
|
|
115436
|
-
const
|
|
115437
|
-
|
|
115438
|
-
filePath: projectConfig2.kicadLibraryEntrypointPath,
|
|
115499
|
+
const entryFile = projectConfig?.kicadLibraryEntrypointPath != null ? await getEntrypoint({
|
|
115500
|
+
filePath: projectConfig.kicadLibraryEntrypointPath,
|
|
115439
115501
|
projectDir
|
|
115440
115502
|
}) : kicadEntrypoint;
|
|
115441
115503
|
if (!entryFile) {
|
|
@@ -254841,7 +254903,9 @@ import { promises as fs57 } from "node:fs";
|
|
|
254841
254903
|
var registerExport = (program2) => {
|
|
254842
254904
|
program2.command("export").description("Export tscircuit code to various formats").argument("<file>", "Path to the package file").option("-f, --format <format>", `Output format (${ALLOWED_EXPORT_FORMATS.join(", ")})`).option("-o, --output <path>", "Output file path").option("--disable-parts-engine", "Disable the parts engine").option("--show-courtyards", "Show courtyard outlines in PCB SVG output").action(async (file, options) => {
|
|
254843
254905
|
const formatOption = options.format ?? "json";
|
|
254844
|
-
const
|
|
254906
|
+
const projectConfig2 = await loadRuntimeProjectConfig(process.cwd());
|
|
254907
|
+
const commandPlatformConfig = options.disablePartsEngine === true ? { partsEngineDisabled: true } : undefined;
|
|
254908
|
+
const platformConfig2 = mergePlatformConfigs(projectConfig2?.platformConfig, commandPlatformConfig);
|
|
254845
254909
|
if (formatOption === "spice") {
|
|
254846
254910
|
const { circuitJson } = await generateCircuitJson({
|
|
254847
254911
|
filePath: file,
|
|
@@ -275795,7 +275859,9 @@ var resultToTable = (result) => {
|
|
|
275795
275859
|
var registerSimulate = (program3) => {
|
|
275796
275860
|
const simulateCommand = program3.command("simulate").description("Run a simulation");
|
|
275797
275861
|
simulateCommand.command("analog").description("Run an analog SPICE simulation").argument("<file>", "Path to tscircuit tsx or circuit json file").option("--disable-parts-engine", "Disable the parts engine").action(async (file, options) => {
|
|
275798
|
-
const
|
|
275862
|
+
const projectConfig2 = await loadRuntimeProjectConfig(process.cwd());
|
|
275863
|
+
const commandPlatformConfig = options.disablePartsEngine === true ? { partsEngineDisabled: true } : undefined;
|
|
275864
|
+
const platformConfig2 = mergePlatformConfigs(projectConfig2?.platformConfig, commandPlatformConfig);
|
|
275799
275865
|
const { circuitJson } = await generateCircuitJson({
|
|
275800
275866
|
filePath: file,
|
|
275801
275867
|
saveToFile: false,
|
package/dist/lib/index.js
CHANGED
|
@@ -65733,7 +65733,7 @@ var getNodeHandler = (winterSpec, { port, middleware = [] }) => {
|
|
|
65733
65733
|
}));
|
|
65734
65734
|
};
|
|
65735
65735
|
// package.json
|
|
65736
|
-
var version = "0.1.
|
|
65736
|
+
var version = "0.1.1425";
|
|
65737
65737
|
var package_default = {
|
|
65738
65738
|
name: "@tscircuit/cli",
|
|
65739
65739
|
version,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tscircuit/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1426",
|
|
4
4
|
"main": "dist/cli/main.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dist/cli/main.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"@tscircuit/krt-wasm": "^0.1.0",
|
|
20
20
|
"@tscircuit/math-utils": "0.0.36",
|
|
21
21
|
"@tscircuit/props": "^0.0.536",
|
|
22
|
-
"@tscircuit/runframe": "^0.0.
|
|
22
|
+
"@tscircuit/runframe": "^0.0.2022",
|
|
23
23
|
"@tscircuit/schematic-match-adapt": "^0.0.22",
|
|
24
24
|
"@types/bun": "^1.2.2",
|
|
25
25
|
"@types/configstore": "^6.0.2",
|