@modular-circuit/transpiler 0.1.1 → 0.1.3
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/index.d.mts +11 -2
- package/dist/index.d.ts +11 -2
- package/dist/index.js +13 -12
- package/dist/index.mjs +13 -12
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -462,11 +462,20 @@ declare class StringFormatter {
|
|
|
462
462
|
append_quote(str: string): void;
|
|
463
463
|
}
|
|
464
464
|
|
|
465
|
+
interface NamedContent {
|
|
466
|
+
filename: string;
|
|
467
|
+
content: string;
|
|
468
|
+
}
|
|
469
|
+
interface DesignBlock {
|
|
470
|
+
main_sch: string;
|
|
471
|
+
sheets: NamedContent[];
|
|
472
|
+
pcb?: NamedContent;
|
|
473
|
+
}
|
|
465
474
|
declare function collect_sub_sheets_by_id(module_ids: string[], module_resolver: ModuleResolver): Promise<{
|
|
466
475
|
sheets: Record<string, string>;
|
|
467
476
|
module_main_sheet: Record<string, string>;
|
|
468
477
|
modules: Record<string, ModuleCircuit>;
|
|
469
|
-
|
|
478
|
+
design_blocks: DesignBlock[];
|
|
470
479
|
}>;
|
|
471
480
|
|
|
472
481
|
declare const gen_lib_gnd: (value: string) => LIB_SYMBOL;
|
|
@@ -477,4 +486,4 @@ declare const gen_sch_gnd: (value: string, pwr_number: number, port_id: string,
|
|
|
477
486
|
|
|
478
487
|
declare const gen_sch_vcc: (value: string, pwr_number: number, port_id: string, position: VECTOR2) => SCH_SYMBOL;
|
|
479
488
|
|
|
480
|
-
export { AllegroNetlistFileExtension, AltiumFootprintLibPathExtension, ArchiveFileExtension, BLOCK_PIN_GAP, BLOCK_PIN_TB_MARGIN, type BlockLabelPadding, type BlockSize, type BoxGeometry, CadstarFootprintLibPathExtension, CadstarNetlistFileExtension, CadstarPartsLibraryFileExtension, CadstarPcbFileExtension, CadstarSchematicFileExtension, type ConnectionGraphMap, type ConvertGraphToKiCadContext, type ConvertGraphToKiCadInput, CsvFileExtension, DEFAULT_PAPER_SIZE, DatabaseLibraryFileExtension, DesignRulesFileExtension, DrawingSheetFileExtension, DrillFileExtension, EagleFootprintLibPathExtension, EaglePcbFileExtension, EquFileExtension, FONT_SIZE, FootprintAssignmentFileExtension, FootprintPlaceFileExtension, GENERATOR_NAME, GENERATOR_VERSION, GRID_SIZE, GedaPcbFootprintLibFileExtension, GerberFileExtension, GerberFileExtensionsRegex, GerberJobFileExtension, GltfBinaryFileExtension, GraphConverter, HTTPLibraryFileExtension, HotkeyFileExtension, HtmlFileExtension, Ipc2581FileExtension, IpcD356FileExtension, JpegFileExtension, JsonFileExtension, KICAD_SCH_FRAME, KiCadFootprintFileExtension, KiCadFootprintLibPathExtension, KiCadPcbFileExtension, KiCadProjectArchive, KiCadSchematicFileExtension, KiCadSymbolLibFileExtension, type LabelPadding, Layout, LegacyFootprintLibPathExtension, LegacyPcbFileExtension, LegacyProjectFileExtension, LegacySchematicFileExtension, LegacySymbolDocumentFileExtension, LegacySymbolLibFileExtension, MacrosFileExtension, MarkdownFileExtension, NetListConverter, NetlistFileExtension, type NetlistProject, type NetlistToKicadContext, OrCadPcb2NetlistFileExtension, PAPER, PAPER_SIZE, PdfFileExtension, PngFileExtension, ProjectFileExtension, ProjectLocalSettingsFileExtension, ReportFileExtension, SCHEMATIC_PRINTER, SCH_VERSION, SVGFileExtension, SchematicSymbolFileExtension, type Size, SpecctraDsnFileExtension, SpecctraSessionFileExtension, SpiceFileExtension, StepFileAbrvExtension, StepFileExtension, StringFormatter, TextFileExtension, VrmlFileExtension, WIRE_PADDING, WorkbookFileExtension, XmlFileExtension, collect_sub_sheets, collect_sub_sheets_by_id, convert_graph_to_kicad_project, filterNullOrUndefined, gen_lib_gnd, gen_lib_vcc, gen_sch_gnd, gen_sch_vcc, get_power_pos, get_sch_default_drawing_sheet, tab };
|
|
489
|
+
export { AllegroNetlistFileExtension, AltiumFootprintLibPathExtension, ArchiveFileExtension, BLOCK_PIN_GAP, BLOCK_PIN_TB_MARGIN, type BlockLabelPadding, type BlockSize, type BoxGeometry, CadstarFootprintLibPathExtension, CadstarNetlistFileExtension, CadstarPartsLibraryFileExtension, CadstarPcbFileExtension, CadstarSchematicFileExtension, type ConnectionGraphMap, type ConvertGraphToKiCadContext, type ConvertGraphToKiCadInput, CsvFileExtension, DEFAULT_PAPER_SIZE, DatabaseLibraryFileExtension, type DesignBlock, DesignRulesFileExtension, DrawingSheetFileExtension, DrillFileExtension, EagleFootprintLibPathExtension, EaglePcbFileExtension, EquFileExtension, FONT_SIZE, FootprintAssignmentFileExtension, FootprintPlaceFileExtension, GENERATOR_NAME, GENERATOR_VERSION, GRID_SIZE, GedaPcbFootprintLibFileExtension, GerberFileExtension, GerberFileExtensionsRegex, GerberJobFileExtension, GltfBinaryFileExtension, GraphConverter, HTTPLibraryFileExtension, HotkeyFileExtension, HtmlFileExtension, Ipc2581FileExtension, IpcD356FileExtension, JpegFileExtension, JsonFileExtension, KICAD_SCH_FRAME, KiCadFootprintFileExtension, KiCadFootprintLibPathExtension, KiCadPcbFileExtension, KiCadProjectArchive, KiCadSchematicFileExtension, KiCadSymbolLibFileExtension, type LabelPadding, Layout, LegacyFootprintLibPathExtension, LegacyPcbFileExtension, LegacyProjectFileExtension, LegacySchematicFileExtension, LegacySymbolDocumentFileExtension, LegacySymbolLibFileExtension, MacrosFileExtension, MarkdownFileExtension, type NamedContent, NetListConverter, NetlistFileExtension, type NetlistProject, type NetlistToKicadContext, OrCadPcb2NetlistFileExtension, PAPER, PAPER_SIZE, PdfFileExtension, PngFileExtension, ProjectFileExtension, ProjectLocalSettingsFileExtension, ReportFileExtension, SCHEMATIC_PRINTER, SCH_VERSION, SVGFileExtension, SchematicSymbolFileExtension, type Size, SpecctraDsnFileExtension, SpecctraSessionFileExtension, SpiceFileExtension, StepFileAbrvExtension, StepFileExtension, StringFormatter, TextFileExtension, VrmlFileExtension, WIRE_PADDING, WorkbookFileExtension, XmlFileExtension, collect_sub_sheets, collect_sub_sheets_by_id, convert_graph_to_kicad_project, filterNullOrUndefined, gen_lib_gnd, gen_lib_vcc, gen_sch_gnd, gen_sch_vcc, get_power_pos, get_sch_default_drawing_sheet, tab };
|
package/dist/index.d.ts
CHANGED
|
@@ -462,11 +462,20 @@ declare class StringFormatter {
|
|
|
462
462
|
append_quote(str: string): void;
|
|
463
463
|
}
|
|
464
464
|
|
|
465
|
+
interface NamedContent {
|
|
466
|
+
filename: string;
|
|
467
|
+
content: string;
|
|
468
|
+
}
|
|
469
|
+
interface DesignBlock {
|
|
470
|
+
main_sch: string;
|
|
471
|
+
sheets: NamedContent[];
|
|
472
|
+
pcb?: NamedContent;
|
|
473
|
+
}
|
|
465
474
|
declare function collect_sub_sheets_by_id(module_ids: string[], module_resolver: ModuleResolver): Promise<{
|
|
466
475
|
sheets: Record<string, string>;
|
|
467
476
|
module_main_sheet: Record<string, string>;
|
|
468
477
|
modules: Record<string, ModuleCircuit>;
|
|
469
|
-
|
|
478
|
+
design_blocks: DesignBlock[];
|
|
470
479
|
}>;
|
|
471
480
|
|
|
472
481
|
declare const gen_lib_gnd: (value: string) => LIB_SYMBOL;
|
|
@@ -477,4 +486,4 @@ declare const gen_sch_gnd: (value: string, pwr_number: number, port_id: string,
|
|
|
477
486
|
|
|
478
487
|
declare const gen_sch_vcc: (value: string, pwr_number: number, port_id: string, position: VECTOR2) => SCH_SYMBOL;
|
|
479
488
|
|
|
480
|
-
export { AllegroNetlistFileExtension, AltiumFootprintLibPathExtension, ArchiveFileExtension, BLOCK_PIN_GAP, BLOCK_PIN_TB_MARGIN, type BlockLabelPadding, type BlockSize, type BoxGeometry, CadstarFootprintLibPathExtension, CadstarNetlistFileExtension, CadstarPartsLibraryFileExtension, CadstarPcbFileExtension, CadstarSchematicFileExtension, type ConnectionGraphMap, type ConvertGraphToKiCadContext, type ConvertGraphToKiCadInput, CsvFileExtension, DEFAULT_PAPER_SIZE, DatabaseLibraryFileExtension, DesignRulesFileExtension, DrawingSheetFileExtension, DrillFileExtension, EagleFootprintLibPathExtension, EaglePcbFileExtension, EquFileExtension, FONT_SIZE, FootprintAssignmentFileExtension, FootprintPlaceFileExtension, GENERATOR_NAME, GENERATOR_VERSION, GRID_SIZE, GedaPcbFootprintLibFileExtension, GerberFileExtension, GerberFileExtensionsRegex, GerberJobFileExtension, GltfBinaryFileExtension, GraphConverter, HTTPLibraryFileExtension, HotkeyFileExtension, HtmlFileExtension, Ipc2581FileExtension, IpcD356FileExtension, JpegFileExtension, JsonFileExtension, KICAD_SCH_FRAME, KiCadFootprintFileExtension, KiCadFootprintLibPathExtension, KiCadPcbFileExtension, KiCadProjectArchive, KiCadSchematicFileExtension, KiCadSymbolLibFileExtension, type LabelPadding, Layout, LegacyFootprintLibPathExtension, LegacyPcbFileExtension, LegacyProjectFileExtension, LegacySchematicFileExtension, LegacySymbolDocumentFileExtension, LegacySymbolLibFileExtension, MacrosFileExtension, MarkdownFileExtension, NetListConverter, NetlistFileExtension, type NetlistProject, type NetlistToKicadContext, OrCadPcb2NetlistFileExtension, PAPER, PAPER_SIZE, PdfFileExtension, PngFileExtension, ProjectFileExtension, ProjectLocalSettingsFileExtension, ReportFileExtension, SCHEMATIC_PRINTER, SCH_VERSION, SVGFileExtension, SchematicSymbolFileExtension, type Size, SpecctraDsnFileExtension, SpecctraSessionFileExtension, SpiceFileExtension, StepFileAbrvExtension, StepFileExtension, StringFormatter, TextFileExtension, VrmlFileExtension, WIRE_PADDING, WorkbookFileExtension, XmlFileExtension, collect_sub_sheets, collect_sub_sheets_by_id, convert_graph_to_kicad_project, filterNullOrUndefined, gen_lib_gnd, gen_lib_vcc, gen_sch_gnd, gen_sch_vcc, get_power_pos, get_sch_default_drawing_sheet, tab };
|
|
489
|
+
export { AllegroNetlistFileExtension, AltiumFootprintLibPathExtension, ArchiveFileExtension, BLOCK_PIN_GAP, BLOCK_PIN_TB_MARGIN, type BlockLabelPadding, type BlockSize, type BoxGeometry, CadstarFootprintLibPathExtension, CadstarNetlistFileExtension, CadstarPartsLibraryFileExtension, CadstarPcbFileExtension, CadstarSchematicFileExtension, type ConnectionGraphMap, type ConvertGraphToKiCadContext, type ConvertGraphToKiCadInput, CsvFileExtension, DEFAULT_PAPER_SIZE, DatabaseLibraryFileExtension, type DesignBlock, DesignRulesFileExtension, DrawingSheetFileExtension, DrillFileExtension, EagleFootprintLibPathExtension, EaglePcbFileExtension, EquFileExtension, FONT_SIZE, FootprintAssignmentFileExtension, FootprintPlaceFileExtension, GENERATOR_NAME, GENERATOR_VERSION, GRID_SIZE, GedaPcbFootprintLibFileExtension, GerberFileExtension, GerberFileExtensionsRegex, GerberJobFileExtension, GltfBinaryFileExtension, GraphConverter, HTTPLibraryFileExtension, HotkeyFileExtension, HtmlFileExtension, Ipc2581FileExtension, IpcD356FileExtension, JpegFileExtension, JsonFileExtension, KICAD_SCH_FRAME, KiCadFootprintFileExtension, KiCadFootprintLibPathExtension, KiCadPcbFileExtension, KiCadProjectArchive, KiCadSchematicFileExtension, KiCadSymbolLibFileExtension, type LabelPadding, Layout, LegacyFootprintLibPathExtension, LegacyPcbFileExtension, LegacyProjectFileExtension, LegacySchematicFileExtension, LegacySymbolDocumentFileExtension, LegacySymbolLibFileExtension, MacrosFileExtension, MarkdownFileExtension, type NamedContent, NetListConverter, NetlistFileExtension, type NetlistProject, type NetlistToKicadContext, OrCadPcb2NetlistFileExtension, PAPER, PAPER_SIZE, PdfFileExtension, PngFileExtension, ProjectFileExtension, ProjectLocalSettingsFileExtension, ReportFileExtension, SCHEMATIC_PRINTER, SCH_VERSION, SVGFileExtension, SchematicSymbolFileExtension, type Size, SpecctraDsnFileExtension, SpecctraSessionFileExtension, SpiceFileExtension, StepFileAbrvExtension, StepFileExtension, StringFormatter, TextFileExtension, VrmlFileExtension, WIRE_PADDING, WorkbookFileExtension, XmlFileExtension, collect_sub_sheets, collect_sub_sheets_by_id, convert_graph_to_kicad_project, filterNullOrUndefined, gen_lib_gnd, gen_lib_vcc, gen_sch_gnd, gen_sch_vcc, get_power_pos, get_sch_default_drawing_sheet, tab };
|
package/dist/index.js
CHANGED
|
@@ -286,9 +286,9 @@ var StringFormatter = class {
|
|
|
286
286
|
var import_utils2 = require("@modular-circuit/utils");
|
|
287
287
|
async function collect_sub_sheets_by_id(module_ids, module_resolver) {
|
|
288
288
|
const sheets = {};
|
|
289
|
-
const boards = {};
|
|
290
289
|
const module_main_sheet = {};
|
|
291
290
|
const modules = {};
|
|
291
|
+
const design_blocks = [];
|
|
292
292
|
for (const id of module_ids) {
|
|
293
293
|
const zip_archive_url = await module_resolver.get_module_archive_by_id(id);
|
|
294
294
|
const module_circuit = await module_resolver.get_module_circuit_by_id(id);
|
|
@@ -307,27 +307,28 @@ async function collect_sub_sheets_by_id(module_ids, module_resolver) {
|
|
|
307
307
|
const k = (0, import_utils2.fmt_module_name)(module_circuit);
|
|
308
308
|
module_main_sheet[k] = module_circuit.main;
|
|
309
309
|
modules[k] = module_circuit;
|
|
310
|
+
const design_block = {
|
|
311
|
+
main_sch: module_circuit.main,
|
|
312
|
+
sheets: []
|
|
313
|
+
};
|
|
310
314
|
const zip_archive = await fetch(zip_archive_url).then((res) => res.arrayBuffer());
|
|
311
315
|
const files = await (0, import_utils2.unzipFile)(zip_archive);
|
|
312
316
|
for (const [name, content] of Object.entries(files)) {
|
|
313
317
|
if (name.endsWith(import_utils2.KICAD_SHC_FILE_EXT)) {
|
|
314
|
-
const
|
|
315
|
-
if (
|
|
316
|
-
console.error(`Duplicate sheet name: ${
|
|
318
|
+
const filename = (0, import_utils2.remove_filename_path_prefix)(name);
|
|
319
|
+
if (filename in sheets) {
|
|
320
|
+
console.error(`Duplicate sheet name: ${filename}`);
|
|
317
321
|
continue;
|
|
318
322
|
}
|
|
319
|
-
sheets[
|
|
323
|
+
sheets[filename] = content;
|
|
324
|
+
design_block.sheets.push({ filename, content });
|
|
320
325
|
} else if (name.endsWith(import_utils2.KICAD_PCB_FILE_EXT)) {
|
|
321
|
-
const
|
|
322
|
-
|
|
323
|
-
console.error(`Duplicate module name: ${fileName}`);
|
|
324
|
-
continue;
|
|
325
|
-
}
|
|
326
|
-
boards[fileName] = content;
|
|
326
|
+
const filename = (0, import_utils2.remove_filename_path_prefix)(name);
|
|
327
|
+
design_block.pcb = { filename, content };
|
|
327
328
|
}
|
|
328
329
|
}
|
|
329
330
|
}
|
|
330
|
-
return { sheets, module_main_sheet, modules,
|
|
331
|
+
return { sheets, module_main_sheet, modules, design_blocks };
|
|
331
332
|
}
|
|
332
333
|
|
|
333
334
|
// src/converter/kicad_sexpr/eeschema/printer.ts
|
package/dist/index.mjs
CHANGED
|
@@ -173,9 +173,9 @@ import {
|
|
|
173
173
|
} from "@modular-circuit/utils";
|
|
174
174
|
async function collect_sub_sheets_by_id(module_ids, module_resolver) {
|
|
175
175
|
const sheets = {};
|
|
176
|
-
const boards = {};
|
|
177
176
|
const module_main_sheet = {};
|
|
178
177
|
const modules = {};
|
|
178
|
+
const design_blocks = [];
|
|
179
179
|
for (const id of module_ids) {
|
|
180
180
|
const zip_archive_url = await module_resolver.get_module_archive_by_id(id);
|
|
181
181
|
const module_circuit = await module_resolver.get_module_circuit_by_id(id);
|
|
@@ -194,27 +194,28 @@ async function collect_sub_sheets_by_id(module_ids, module_resolver) {
|
|
|
194
194
|
const k = fmt_module_name(module_circuit);
|
|
195
195
|
module_main_sheet[k] = module_circuit.main;
|
|
196
196
|
modules[k] = module_circuit;
|
|
197
|
+
const design_block = {
|
|
198
|
+
main_sch: module_circuit.main,
|
|
199
|
+
sheets: []
|
|
200
|
+
};
|
|
197
201
|
const zip_archive = await fetch(zip_archive_url).then((res) => res.arrayBuffer());
|
|
198
202
|
const files = await unzipFile2(zip_archive);
|
|
199
203
|
for (const [name, content] of Object.entries(files)) {
|
|
200
204
|
if (name.endsWith(KICAD_SHC_FILE_EXT2)) {
|
|
201
|
-
const
|
|
202
|
-
if (
|
|
203
|
-
console.error(`Duplicate sheet name: ${
|
|
205
|
+
const filename = remove_filename_path_prefix2(name);
|
|
206
|
+
if (filename in sheets) {
|
|
207
|
+
console.error(`Duplicate sheet name: ${filename}`);
|
|
204
208
|
continue;
|
|
205
209
|
}
|
|
206
|
-
sheets[
|
|
210
|
+
sheets[filename] = content;
|
|
211
|
+
design_block.sheets.push({ filename, content });
|
|
207
212
|
} else if (name.endsWith(KICAD_PCB_FILE_EXT)) {
|
|
208
|
-
const
|
|
209
|
-
|
|
210
|
-
console.error(`Duplicate module name: ${fileName}`);
|
|
211
|
-
continue;
|
|
212
|
-
}
|
|
213
|
-
boards[fileName] = content;
|
|
213
|
+
const filename = remove_filename_path_prefix2(name);
|
|
214
|
+
design_block.pcb = { filename, content };
|
|
214
215
|
}
|
|
215
216
|
}
|
|
216
217
|
}
|
|
217
|
-
return { sheets, module_main_sheet, modules,
|
|
218
|
+
return { sheets, module_main_sheet, modules, design_blocks };
|
|
218
219
|
}
|
|
219
220
|
|
|
220
221
|
// src/converter/kicad_sexpr/eeschema/printer.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@modular-circuit/transpiler",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Intermediate representation of the modular circuit",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"js-base64": "^3.7.7",
|
|
32
32
|
"jszip": "^3.10.1",
|
|
33
33
|
"@modular-circuit/electronics-model": "0.1.0",
|
|
34
|
-
"@modular-circuit/perc": "0.1.1",
|
|
35
34
|
"@modular-circuit/ir": "0.1.1",
|
|
35
|
+
"@modular-circuit/perc": "0.1.1",
|
|
36
36
|
"@modular-circuit/utils": "0.1.1"
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|