edacation 0.2.1 → 0.2.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.
@@ -1,6 +1,22 @@
1
- export * from './configuration.js';
2
- export * from './devices.js';
3
- export * from './nextpnr.js';
4
- export * from './project.js';
5
- export * from './yosys.js';
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./configuration.js"), exports);
18
+ __exportStar(require("./devices.js"), exports);
19
+ __exportStar(require("./nextpnr.js"), exports);
20
+ __exportStar(require("./project.js"), exports);
21
+ __exportStar(require("./yosys.js"), exports);
6
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,+CAA6B;AAC7B,+CAA6B;AAC7B,+CAA6B;AAC7B,6CAA2B"}
@@ -1,5 +1,5 @@
1
- import { ProjectConfiguration } from './configuration.js';
2
- import { Project } from './project.js';
1
+ import type { ProjectConfiguration } from './configuration.js';
2
+ import type { Project } from './project.js';
3
3
  export interface NextpnrWorkerOptions {
4
4
  inputFiles: string[];
5
5
  outputFiles: string[];
@@ -1,20 +1,21 @@
1
- import { parseArgs } from 'string-args-parser';
2
- import { VENDORS } from './devices.js';
3
- import { getCombined, getOptions, getTarget, getTargetFile } from './target.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNextpnrWorkerOptions = exports.parseNextpnrArguments = exports.generateNextpnrWorkerOptions = void 0;
4
+ const string_args_parser_1 = require("string-args-parser");
5
+ const devices_js_1 = require("./devices.js");
6
+ const target_js_1 = require("./target.js");
4
7
  const DEFAULT_OPTIONS = {
5
8
  placedSvg: true,
6
9
  routedSvg: true,
7
10
  routedJson: true
8
11
  };
9
- export const generateNextpnrWorkerOptions = (configuration, targetId) => {
10
- const target = getTarget(configuration, targetId);
11
- const options = getOptions(configuration, targetId, 'nextpnr', DEFAULT_OPTIONS);
12
- const vendor = VENDORS[target.vendor];
12
+ const generateNextpnrWorkerOptions = (configuration, targetId) => {
13
+ const target = (0, target_js_1.getTarget)(configuration, targetId);
14
+ const options = (0, target_js_1.getOptions)(configuration, targetId, 'nextpnr', DEFAULT_OPTIONS);
15
+ const vendor = devices_js_1.VENDORS[target.vendor];
13
16
  const family = vendor.families[target.family];
14
17
  const device = family.devices[target.device];
15
- const inputFiles = [
16
- getTargetFile(target, `${family.architecture}.json`)
17
- ];
18
+ const inputFiles = [(0, target_js_1.getTargetFile)(target, `${family.architecture}.json`)];
18
19
  const outputFiles = [];
19
20
  const tool = `nextpnr-${family.architecture}`;
20
21
  const args = [];
@@ -57,17 +58,17 @@ export const generateNextpnrWorkerOptions = (configuration, targetId) => {
57
58
  }
58
59
  args.push('--json', inputFiles[0]);
59
60
  if (options.placedSvg) {
60
- const file = getTargetFile(target, 'placed.svg');
61
+ const file = (0, target_js_1.getTargetFile)(target, 'placed.svg');
61
62
  outputFiles.push(file);
62
63
  args.push('--placed-svg', file);
63
64
  }
64
65
  if (options.routedSvg) {
65
- const file = getTargetFile(target, 'routed.svg');
66
+ const file = (0, target_js_1.getTargetFile)(target, 'routed.svg');
66
67
  outputFiles.push(file);
67
68
  args.push('--routed-svg', file);
68
69
  }
69
70
  if (options.routedJson) {
70
- const file = getTargetFile(target, 'routed.nextpnr.json');
71
+ const file = (0, target_js_1.getTargetFile)(target, 'routed.nextpnr.json');
71
72
  outputFiles.push(file);
72
73
  args.push('--write', file);
73
74
  }
@@ -78,13 +79,15 @@ export const generateNextpnrWorkerOptions = (configuration, targetId) => {
78
79
  arguments: args
79
80
  };
80
81
  };
81
- export const parseNextpnrArguments = (args) => args.flatMap((arg) => parseArgs(arg));
82
- export const getNextpnrWorkerOptions = (project, targetId) => {
83
- const generated = generateNextpnrWorkerOptions(project.getConfiguration(), targetId);
84
- const inputFiles = getCombined(project.getConfiguration(), targetId, 'nextpnr', 'inputFiles', generated.inputFiles);
85
- const outputFiles = getCombined(project.getConfiguration(), targetId, 'nextpnr', 'outputFiles', generated.outputFiles);
82
+ exports.generateNextpnrWorkerOptions = generateNextpnrWorkerOptions;
83
+ const parseNextpnrArguments = (args) => args.flatMap((arg) => (0, string_args_parser_1.parseArgs)(arg));
84
+ exports.parseNextpnrArguments = parseNextpnrArguments;
85
+ const getNextpnrWorkerOptions = (project, targetId) => {
86
+ const generated = (0, exports.generateNextpnrWorkerOptions)(project.getConfiguration(), targetId);
87
+ const inputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'nextpnr', 'inputFiles', generated.inputFiles);
88
+ const outputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'nextpnr', 'outputFiles', generated.outputFiles);
86
89
  const tool = generated.tool;
87
- const args = getCombined(project.getConfiguration(), targetId, 'nextpnr', 'arguments', generated.arguments, parseNextpnrArguments);
90
+ const args = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'nextpnr', 'arguments', generated.arguments, exports.parseNextpnrArguments);
88
91
  return {
89
92
  inputFiles,
90
93
  outputFiles,
@@ -92,4 +95,5 @@ export const getNextpnrWorkerOptions = (project, targetId) => {
92
95
  arguments: args
93
96
  };
94
97
  };
98
+ exports.getNextpnrWorkerOptions = getNextpnrWorkerOptions;
95
99
  //# sourceMappingURL=nextpnr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nextpnr.js","sourceRoot":"","sources":["../../src/project/nextpnr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EAAC,OAAO,EAAS,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAS9E,MAAM,eAAe,GAAmB;IACpC,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,aAAmC,EAAE,QAAgB,EAAwB,EAAE;IACxH,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAEhF,MAAM,MAAM,GAAI,OAAkC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,UAAU,GAAG;QACf,aAAa,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,OAAO,CAAC;KACvD,CAAC;IAEF,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,MAAM,IAAI,GAAG,WAAW,MAAM,CAAC,YAAY,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,QAAQ,MAAM,CAAC,YAAY,EAAE;QACzB,KAAK,MAAM,CAAC,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACrD,MAAM;SACT;QACD,KAAK,SAAS,CAAC,CAAC;YACZ,MAAM;SACT;QACD,KAAK,OAAO,CAAC,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC;YACpF,MAAM;SACT;QACD,KAAK,OAAO,CAAC,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM;SACT;QACD,KAAK,OAAO,CAAC,CAAC;YACV,MAAM,aAAa,GAAG;gBAClB,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,OAAO;gBAClB,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,OAAO;gBAClB,QAAQ,EAAE,OAAO;aACpB,CAAC;YAEF,IAAI,MAAM,CAAC,OAAO,IAAI,aAAa,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAC;aAC7E;YAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7E,MAAM;SACT;QACD,OAAO,CAAC,CAAC;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,CAAC,YAAY,+BAA+B,CAAC,CAAC;SACxF;KACJ;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,OAAO,CAAC,SAAS,EAAE;QACnB,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACjD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;KACnC;IACD,IAAI,OAAO,CAAC,SAAS,EAAE;QACnB,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACjD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;KACnC;IACD,IAAI,OAAO,CAAC,UAAU,EAAE;QACpB,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QAC1D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;KAC9B;IAED,OAAO;QACH,UAAU;QACV,WAAW;QACX,IAAI;QACJ,SAAS,EAAE,IAAI;KAClB,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAgB,EAAE,QAAgB,EAAwB,EAAE;IAChG,MAAM,SAAS,GAAG,4BAA4B,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,QAAQ,CAAC,CAAC;IAErF,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACpH,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAEvH,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAC5B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAEnI,OAAO;QACH,UAAU;QACV,WAAW;QACX,IAAI;QACJ,SAAS,EAAE,IAAI;KAClB,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"nextpnr.js","sourceRoot":"","sources":["../../src/project/nextpnr.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ProjectConfiguration } from './configuration.js';
1
+ import { type ProjectConfiguration } from './configuration.js';
2
2
  export interface ProjectState {
3
3
  name: string;
4
4
  inputFiles: string[];
@@ -14,12 +14,12 @@ export declare class Project {
14
14
  getName(): string;
15
15
  getInputFiles(): string[];
16
16
  hasInputFile(filePath: string): boolean;
17
- addInputFiles(filePaths: string[]): Promise<void>;
18
- removeInputFiles(filePaths: string[]): Promise<void>;
17
+ addInputFiles(filePaths: string[]): void;
18
+ removeInputFiles(filePaths: string[]): void;
19
19
  getOutputFiles(): string[];
20
20
  hasOutputFile(filePath: string): boolean;
21
- addOutputFiles(filePaths: string[]): Promise<void>;
22
- removeOutputFiles(filePaths: string[]): Promise<void>;
21
+ addOutputFiles(filePaths: string[]): void;
22
+ removeOutputFiles(filePaths: string[]): void;
23
23
  getConfiguration(): {
24
24
  targets: {
25
25
  id: string;
@@ -114,6 +114,6 @@ export declare class Project {
114
114
  updateConfiguration(configuration: Partial<ProjectConfiguration>): void;
115
115
  static serialize(project: Project): ProjectState;
116
116
  static deserialize(data: ProjectState, ..._args: unknown[]): Project;
117
- static loadFromData(rawData: Uint8Array): Promise<Project>;
118
- static storeToData(project: Project): Promise<Uint8Array>;
117
+ static loadFromData(rawData: Uint8Array): Project;
118
+ static storeToData(project: Project): Uint8Array;
119
119
  }
@@ -1,16 +1,19 @@
1
- import { decodeJSON, encodeJSON } from '../util.js';
2
- import { DEFAULT_CONFIGURATION, schemaProjectConfiguration } from './configuration.js';
3
- export class Project {
4
- constructor(name, inputFiles = [], outputFiles = [], configuration = DEFAULT_CONFIGURATION) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Project = void 0;
4
+ const util_js_1 = require("../util.js");
5
+ const configuration_js_1 = require("./configuration.js");
6
+ class Project {
7
+ constructor(name, inputFiles = [], outputFiles = [], configuration = configuration_js_1.DEFAULT_CONFIGURATION) {
5
8
  this.name = name;
6
9
  this.inputFiles = inputFiles;
7
10
  this.outputFiles = outputFiles;
8
- const config = schemaProjectConfiguration.safeParse(configuration);
11
+ const config = configuration_js_1.schemaProjectConfiguration.safeParse(configuration);
9
12
  if (config.success) {
10
13
  this.configuration = config.data;
11
14
  }
12
15
  else {
13
- throw new Error(`Failed to parse project configuration: ${config.error}`);
16
+ throw new Error(`Failed to parse project configuration: ${config.error.toString()}`);
14
17
  }
15
18
  }
16
19
  getName() {
@@ -22,7 +25,7 @@ export class Project {
22
25
  hasInputFile(filePath) {
23
26
  return this.inputFiles.some((file) => file === filePath);
24
27
  }
25
- async addInputFiles(filePaths) {
28
+ addInputFiles(filePaths) {
26
29
  for (const filePath of filePaths) {
27
30
  if (!this.hasInputFile(filePath)) {
28
31
  this.inputFiles.push(filePath);
@@ -32,7 +35,7 @@ export class Project {
32
35
  return a < b ? -1 : 1;
33
36
  });
34
37
  }
35
- async removeInputFiles(filePaths) {
38
+ removeInputFiles(filePaths) {
36
39
  this.inputFiles = this.inputFiles.filter((file) => !filePaths.includes(file));
37
40
  }
38
41
  getOutputFiles() {
@@ -41,7 +44,7 @@ export class Project {
41
44
  hasOutputFile(filePath) {
42
45
  return this.outputFiles.some((file) => file === filePath);
43
46
  }
44
- async addOutputFiles(filePaths) {
47
+ addOutputFiles(filePaths) {
45
48
  for (const filePath of filePaths) {
46
49
  if (!this.hasOutputFile(filePath)) {
47
50
  this.outputFiles.push(filePath);
@@ -51,7 +54,7 @@ export class Project {
51
54
  return a < b ? -1 : 1;
52
55
  });
53
56
  }
54
- async removeOutputFiles(filePaths) {
57
+ removeOutputFiles(filePaths) {
55
58
  this.outputFiles = this.outputFiles.filter((file) => !filePaths.includes(file));
56
59
  }
57
60
  getConfiguration() {
@@ -78,14 +81,15 @@ export class Project {
78
81
  const configuration = data.configuration ?? {};
79
82
  return new Project(name, inputFiles, outputFiles, configuration);
80
83
  }
81
- static async loadFromData(rawData) {
82
- const data = decodeJSON(rawData);
84
+ static loadFromData(rawData) {
85
+ const data = (0, util_js_1.decodeJSON)(rawData);
83
86
  const project = Project.deserialize(data);
84
87
  return project;
85
88
  }
86
- static async storeToData(project) {
89
+ static storeToData(project) {
87
90
  const data = Project.serialize(project);
88
- return encodeJSON(data, true);
91
+ return (0, util_js_1.encodeJSON)(data, true);
89
92
  }
90
93
  }
94
+ exports.Project = Project;
91
95
  //# sourceMappingURL=project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/project/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/project/project.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ProjectConfiguration, TargetConfiguration, TargetDefaultsConfiguration, TargetOptionTypes, WorkerId } from './configuration.js';
1
+ import type { ProjectConfiguration, TargetConfiguration, TargetDefaultsConfiguration, TargetOptionTypes, WorkerId } from './configuration.js';
2
2
  export declare const getTargetDefaults: (configuration: ProjectConfiguration) => TargetDefaultsConfiguration;
3
3
  export declare const getTarget: (configuration: ProjectConfiguration, targetId: string) => TargetConfiguration;
4
4
  export declare const getTargetFile: (target: TargetConfiguration, file: string) => string;
@@ -1,18 +1,27 @@
1
- import path from 'path';
2
- export const getTargetDefaults = (configuration) => {
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getCombined = exports.getOptions = exports.getTargetFile = exports.getTarget = exports.getTargetDefaults = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const getTargetDefaults = (configuration) => {
3
9
  return configuration.defaults ?? {};
4
10
  };
5
- export const getTarget = (configuration, targetId) => {
11
+ exports.getTargetDefaults = getTargetDefaults;
12
+ const getTarget = (configuration, targetId) => {
6
13
  const target = configuration.targets.find((target) => target.id === targetId);
7
14
  if (!target) {
8
15
  throw new Error(`Target "${targetId}" could not be found.`);
9
16
  }
10
17
  return target;
11
18
  };
12
- export const getTargetFile = (target, file) => path.join(target.directory ?? '.', file);
13
- export const getOptions = (configuration, targetId, workerId, defaultValues) => {
14
- const targetDefaults = getTargetDefaults(configuration)[workerId];
15
- const target = getTarget(configuration, targetId)[workerId];
19
+ exports.getTarget = getTarget;
20
+ const getTargetFile = (target, file) => path_1.default.join(target.directory ?? '.', file);
21
+ exports.getTargetFile = getTargetFile;
22
+ const getOptions = (configuration, targetId, workerId, defaultValues) => {
23
+ const targetDefaults = (0, exports.getTargetDefaults)(configuration)[workerId];
24
+ const target = (0, exports.getTarget)(configuration, targetId)[workerId];
16
25
  const defaultConfig = targetDefaults ? targetDefaults.options : undefined;
17
26
  const config = target ? target.options : undefined;
18
27
  return {
@@ -21,16 +30,18 @@ export const getOptions = (configuration, targetId, workerId, defaultValues) =>
21
30
  ...config
22
31
  };
23
32
  };
33
+ exports.getOptions = getOptions;
24
34
  const defaultParse = (values) => values;
25
- export const getCombined = (configuration, targetId, workerId, configId, generated, parse = defaultParse) => {
26
- const targetDefaults = getTargetDefaults(configuration)[workerId];
27
- const target = getTarget(configuration, targetId)[workerId];
35
+ const getCombined = (configuration, targetId, workerId, configId, generated, parse = defaultParse) => {
36
+ const targetDefaults = (0, exports.getTargetDefaults)(configuration)[workerId];
37
+ const target = (0, exports.getTarget)(configuration, targetId)[workerId];
28
38
  const defaultConfig = targetDefaults ? targetDefaults[configId] : undefined;
29
39
  const config = target ? target[configId] : undefined;
30
40
  return [
31
- ...(!config || config.useGenerated) ? generated : [],
32
- ...(!config || config.useDefault) && !!defaultConfig ? parse(defaultConfig.values) : [],
41
+ ...(!config || config.useGenerated ? generated : []),
42
+ ...((!config || config.useDefault) && !!defaultConfig ? parse(defaultConfig.values) : []),
33
43
  ...(config ? parse(config.values) : [])
34
44
  ];
35
45
  };
46
+ exports.getCombined = getCombined;
36
47
  //# sourceMappingURL=target.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/project/target.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,aAAmC,EAA+B,EAAE;IAClG,OAAO,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,aAAmC,EAAE,QAAgB,EAAuB,EAAE;IACpG,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC9E,IAAI,CAAC,MAAM,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,uBAAuB,CAAC,CAAC;KAC/D;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAA2B,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;AAErH,MAAM,CAAC,MAAM,UAAU,GAAG,CACtB,aAAmC,EACnC,QAAgB,EAChB,QAAW,EACX,aAAmC,EACf,EAAE;IACtB,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnD,OAAO;QACH,GAAG,aAAa;QAChB,GAAG,aAAa;QAChB,GAAG,MAAM;KACZ,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,MAAgB,EAAE,EAAE,CAAC,MAAM,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,aAAmC,EACnC,QAAgB,EAChB,QAAkB,EAClB,QAAgB,EAChB,SAAmB,EACnB,QAAwC,YAAY,EACtD,EAAE;IACA,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAErD,OAAO;QACH,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;QACpD,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QACvF,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/project/target.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAYjB,MAAM,iBAAiB,GAAG,CAAC,aAAmC,EAA+B,EAAE;IAClG,OAAO,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,SAAS,GAAG,CAAC,aAAmC,EAAE,QAAgB,EAAuB,EAAE;IACpG,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC9E,IAAI,CAAC,MAAM,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,uBAAuB,CAAC,CAAC;KAC/D;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AANW,QAAA,SAAS,aAMpB;AAEK,MAAM,aAAa,GAAG,CAAC,MAA2B,EAAE,IAAY,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;AAAxG,QAAA,aAAa,iBAA2F;AAE9G,MAAM,UAAU,GAAG,CACtB,aAAmC,EACnC,QAAgB,EAChB,QAAW,EACX,aAAmC,EACf,EAAE;IACtB,MAAM,cAAc,GAAG,IAAA,yBAAiB,EAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnD,OAAO;QACH,GAAG,aAAa;QAChB,GAAG,aAAa;QAChB,GAAG,MAAM;KACZ,CAAC;AACN,CAAC,CAAC;AAjBW,QAAA,UAAU,cAiBrB;AAEF,MAAM,YAAY,GAAG,CAAC,MAAgB,EAAE,EAAE,CAAC,MAAM,CAAC;AAE3C,MAAM,WAAW,GAAG,CACvB,aAAmC,EACnC,QAAgB,EAChB,QAAkB,EAClB,QAAgB,EAChB,SAAmB,EACnB,QAAwC,YAAY,EACtD,EAAE;IACA,MAAM,cAAc,GAAG,IAAA,yBAAiB,EAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAE,cAAc,CAAC,QAAQ,CAA4B,CAAC,CAAC,CAAC,SAAS,CAAC;IACxG,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAE,MAAM,CAAC,QAAQ,CAAkC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvF,OAAO;QACH,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;AACN,CAAC,CAAC;AAnBW,QAAA,WAAW,eAmBtB"}
@@ -1,5 +1,5 @@
1
- import { Project } from './project.js';
2
- import { ProjectConfiguration } from './configuration.js';
1
+ import type { ProjectConfiguration } from './configuration.js';
2
+ import type { Project } from './project.js';
3
3
  export interface YosysWorkerOptions {
4
4
  inputFiles: string[];
5
5
  outputFiles: string[];
@@ -1,24 +1,25 @@
1
- import path from 'path';
2
- import { FILE_EXTENSIONS_VERILOG, FILE_EXTENSIONS_HDL } from '../util.js';
3
- import { VENDORS } from './devices.js';
4
- import { getCombined, getOptions, getTarget, getTargetFile } from './target.js';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateYosysSynthCommands = exports.generateYosysRTLCommands = exports.getYosysWorkerOptions = exports.generateYosysWorkerOptions = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const util_js_1 = require("../util.js");
9
+ const devices_js_1 = require("./devices.js");
10
+ const target_js_1 = require("./target.js");
5
11
  const DEFAULT_OPTIONS = {
6
12
  optimize: true
7
13
  };
8
- export const generateYosysWorkerOptions = (configuration, projectInputFiles, targetId) => {
9
- const target = getTarget(configuration, targetId);
10
- const options = getOptions(configuration, targetId, 'yosys', DEFAULT_OPTIONS);
11
- const vendor = VENDORS[target.vendor];
14
+ const generateYosysWorkerOptions = (configuration, projectInputFiles, targetId) => {
15
+ const target = (0, target_js_1.getTarget)(configuration, targetId);
16
+ const options = (0, target_js_1.getOptions)(configuration, targetId, 'yosys', DEFAULT_OPTIONS);
17
+ const vendor = devices_js_1.VENDORS[target.vendor];
12
18
  const family = vendor.families[target.family];
13
- const inputFiles = projectInputFiles.filter((inputFile) => FILE_EXTENSIONS_HDL.includes(path.extname(inputFile).substring(1)));
14
- const outputFiles = [
15
- getTargetFile(target, `${family.architecture}.json`)
16
- ];
19
+ const inputFiles = projectInputFiles.filter((inputFile) => util_js_1.FILE_EXTENSIONS_HDL.includes(path_1.default.extname(inputFile).substring(1)));
20
+ const outputFiles = [(0, target_js_1.getTargetFile)(target, `${family.architecture}.json`)];
17
21
  const tool = 'yosys';
18
- const commands = [
19
- ...inputFiles.map((file) => `read_verilog ${file}`),
20
- 'proc;'
21
- ];
22
+ const commands = [...inputFiles.map((file) => `read_verilog -sv ${file}`), 'proc;'];
22
23
  if (options.optimize) {
23
24
  commands.push('opt;');
24
25
  }
@@ -36,12 +37,13 @@ export const generateYosysWorkerOptions = (configuration, projectInputFiles, tar
36
37
  commands: commands
37
38
  };
38
39
  };
39
- export const getYosysWorkerOptions = (project, targetId) => {
40
- const generated = generateYosysWorkerOptions(project.getConfiguration(), project.getInputFiles(), targetId);
41
- const inputFiles = getCombined(project.getConfiguration(), targetId, 'yosys', 'inputFiles', generated.inputFiles);
42
- const outputFiles = getCombined(project.getConfiguration(), targetId, 'yosys', 'outputFiles', generated.outputFiles);
40
+ exports.generateYosysWorkerOptions = generateYosysWorkerOptions;
41
+ const getYosysWorkerOptions = (project, targetId) => {
42
+ const generated = (0, exports.generateYosysWorkerOptions)(project.getConfiguration(), project.getInputFiles(), targetId);
43
+ const inputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'inputFiles', generated.inputFiles);
44
+ const outputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'outputFiles', generated.outputFiles);
43
45
  const tool = generated.tool;
44
- const commands = getCombined(project.getConfiguration(), targetId, 'yosys', 'commands', generated.commands);
46
+ const commands = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'commands', generated.commands);
45
47
  return {
46
48
  inputFiles,
47
49
  outputFiles,
@@ -49,35 +51,39 @@ export const getYosysWorkerOptions = (project, targetId) => {
49
51
  commands
50
52
  };
51
53
  };
52
- export const generateYosysRTLCommands = (inputFiles) => {
53
- const verilogFiles = inputFiles.filter((file) => FILE_EXTENSIONS_VERILOG.includes(path.extname(file).substring(1)));
54
+ exports.getYosysWorkerOptions = getYosysWorkerOptions;
55
+ const generateYosysRTLCommands = (inputFiles) => {
56
+ const verilogFiles = inputFiles.filter((file) => util_js_1.FILE_EXTENSIONS_VERILOG.includes(path_1.default.extname(file).substring(1)));
54
57
  // Yosys commands taken from yosys2digitaljs (https://github.com/tilk/yosys2digitaljs/blob/1b4afeae61/src/index.js#L1225)
55
58
  return [
56
- ...verilogFiles.map((file) => `read_verilog ${file}`),
59
+ ...verilogFiles.map((file) => `read_verilog -sv ${file}`),
57
60
  'hierarchy -auto-top',
58
61
  'proc;',
59
62
  'opt;',
60
63
  'memory -nomap;',
61
64
  'wreduce -memx;',
62
65
  'opt -full;',
66
+ 'tee -q -o stats.digitaljs.json stat -json *;',
63
67
  'write_json rtl.digitaljs.json',
64
68
  ''
65
69
  ];
66
70
  };
67
- export const generateYosysSynthCommands = (inputFiles) => {
68
- const verilogFiles = inputFiles.filter((file) => FILE_EXTENSIONS_VERILOG.includes(path.extname(file).substring(1)));
71
+ exports.generateYosysRTLCommands = generateYosysRTLCommands;
72
+ const generateYosysSynthCommands = (inputFiles) => {
73
+ const verilogFiles = inputFiles.filter((file) => util_js_1.FILE_EXTENSIONS_VERILOG.includes(path_1.default.extname(file).substring(1)));
69
74
  return [
70
- ...verilogFiles.map((file) => `read_verilog ${file}`),
75
+ ...verilogFiles.map((file) => `read_verilog -sv ${file}`),
71
76
  'proc;',
72
77
  'opt;',
73
78
  'synth -lut 4',
74
79
  'write_json luts.digitaljs.json',
75
80
  'design -reset',
76
- ...verilogFiles.map((file) => `read_verilog ${file}`),
81
+ ...verilogFiles.map((file) => `read_verilog -sv ${file}`),
77
82
  'proc;',
78
83
  'opt;',
79
84
  'synth_ecp5 -json ecp5.json;',
80
85
  ''
81
86
  ];
82
87
  };
88
+ exports.generateYosysSynthCommands = generateYosysSynthCommands;
83
89
  //# sourceMappingURL=yosys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yosys.js","sourceRoot":"","sources":["../../src/project/yosys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yosys.js","sourceRoot":"","sources":["../../src/project/yosys.ts"],"names":[],"mappings":"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"}
package/dist/util.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- /// <reference types="node" resolution-mode="require"/>
4
- /// <reference types="node" resolution-mode="require"/>
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
4
+ /// <reference types="node" />
5
5
  export type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
6
6
  export declare const encodeText: (input: string) => Uint8Array;
7
7
  export declare const encodeJSON: (input: unknown, pretty?: boolean) => Uint8Array;
8
8
  export declare const decodeText: (input: NodeJS.ArrayBufferView | ArrayBuffer) => string;
9
- export declare const decodeJSON: (input: NodeJS.ArrayBufferView | ArrayBuffer) => any;
9
+ export declare const decodeJSON: (input: NodeJS.ArrayBufferView | ArrayBuffer) => unknown;
10
10
  export declare const FILE_EXTENSIONS_VERILOG: string[];
11
11
  export declare const FILE_EXTENSIONS_VHDL: string[];
12
12
  export declare const FILE_EXTENSIONS_HDL: string[];
package/dist/util.js CHANGED
@@ -1,11 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatArguments = exports.FILE_EXTENSIONS_HDL = exports.FILE_EXTENSIONS_VHDL = exports.FILE_EXTENSIONS_VERILOG = exports.decodeJSON = exports.decodeText = exports.encodeJSON = exports.encodeText = void 0;
1
4
  const textEncoder = new TextEncoder();
2
5
  const textDecoder = new TextDecoder();
3
- export const encodeText = (input) => textEncoder.encode(input.endsWith('\n') ? input : `${input}\n`);
4
- export const encodeJSON = (input, pretty = false) => encodeText(JSON.stringify(input, undefined, pretty ? 4 : undefined));
5
- export const decodeText = (input) => textDecoder.decode(input);
6
- export const decodeJSON = (input) => JSON.parse(decodeText(input));
7
- export const FILE_EXTENSIONS_VERILOG = ['v', 'vh', 'sv', 'svh'];
8
- export const FILE_EXTENSIONS_VHDL = ['vhd'];
9
- export const FILE_EXTENSIONS_HDL = [...FILE_EXTENSIONS_VERILOG, ...FILE_EXTENSIONS_VHDL];
10
- export const formatArguments = (args) => args.reduce((prev, arg) => arg.startsWith('--') ? [...prev, arg] : [...prev.slice(0, prev.length - 1), `${prev[prev.length - 1]} ${arg}`], []);
6
+ const encodeText = (input) => textEncoder.encode(input.endsWith('\n') ? input : `${input}\n`);
7
+ exports.encodeText = encodeText;
8
+ const encodeJSON = (input, pretty = false) => (0, exports.encodeText)(JSON.stringify(input, undefined, pretty ? 4 : undefined));
9
+ exports.encodeJSON = encodeJSON;
10
+ const decodeText = (input) => textDecoder.decode(input);
11
+ exports.decodeText = decodeText;
12
+ const decodeJSON = (input) => JSON.parse((0, exports.decodeText)(input));
13
+ exports.decodeJSON = decodeJSON;
14
+ exports.FILE_EXTENSIONS_VERILOG = ['v', 'vh', 'sv', 'svh'];
15
+ exports.FILE_EXTENSIONS_VHDL = ['vhd'];
16
+ exports.FILE_EXTENSIONS_HDL = [...exports.FILE_EXTENSIONS_VERILOG, ...exports.FILE_EXTENSIONS_VHDL];
17
+ const formatArguments = (args) => args.reduce((prev, arg) => arg.startsWith('--')
18
+ ? [...prev, arg]
19
+ : [...prev.slice(0, prev.length - 1), `${prev[prev.length - 1]} ${arg}`], []);
20
+ exports.formatArguments = formatArguments;
11
21
  //# sourceMappingURL=util.js.map
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;AAC7G,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,SAAkB,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAE5I,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA2C,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA2C,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAEzG,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAG,uBAAuB,EAAE,GAAG,oBAAoB,CAAC,CAAC;AAEzF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CACzE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,EAC9G,EAAc,CACjB,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAIA,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAE/B,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;AAAhG,QAAA,UAAU,cAAsF;AACtG,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,CACzD,IAAA,kBAAU,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAD5D,QAAA,UAAU,cACkD;AAElE,MAAM,UAAU,GAAG,CAAC,KAA2C,EAAU,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAAhG,QAAA,UAAU,cAAsF;AACtG,MAAM,UAAU,GAAG,CAAC,KAA2C,EAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC,CAAC;AAArG,QAAA,UAAU,cAA2F;AAErG,QAAA,uBAAuB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACnD,QAAA,oBAAoB,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,mBAAmB,GAAG,CAAC,GAAG,+BAAuB,EAAE,GAAG,4BAAoB,CAAC,CAAC;AAElF,MAAM,eAAe,GAAG,CAAC,IAAc,EAAE,EAAE,CAC9C,IAAI,CAAC,MAAM,CACP,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CACV,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC;IAChB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,EAChF,EAAc,CACjB,CAAC;AAPO,QAAA,eAAe,mBAOtB"}
package/package.json CHANGED
@@ -2,9 +2,10 @@
2
2
  "name": "edacation",
3
3
  "description": "Library and CLI for interacting with Yosys and nextpnr.",
4
4
  "license": "MIT",
5
- "version": "0.2.1",
5
+ "version": "0.2.3",
6
6
  "contributors": [
7
- "Danielle Huisman <danielle@huisman.me> (https://github.com/DanielleHuisman)"
7
+ "Danielle Huisman <danielle@huisman.me> (https://github.com/DanielleHuisman)",
8
+ "Mike Almeloo <git@mikealmel.ooo> (https://github.com/DismissedGuy)"
8
9
  ],
9
10
  "repository": "github:EDAcation/edacation",
10
11
  "keywords": [
@@ -13,7 +14,6 @@
13
14
  "yosys",
14
15
  "nextpnr"
15
16
  ],
16
- "type": "module",
17
17
  "main": "./dist/index.js",
18
18
  "types": "./dist/index.d.ts",
19
19
  "files": [
@@ -25,10 +25,10 @@
25
25
  ],
26
26
  "bin": "./dist/cli/index.js",
27
27
  "scripts": {
28
- "lint": "eslint",
28
+ "lint": "eslint ./src --ext ts",
29
29
  "clean": "rm -rf dist",
30
30
  "build": "yarn run clean && yarn run lint && tsc",
31
- "prepublish": "yarn run build",
31
+ "prepare": "yarn run build",
32
32
  "dev": "node --loader ts-node/esm src/cli/index.ts"
33
33
  },
34
34
  "dependencies": {
@@ -39,11 +39,13 @@
39
39
  "zod": "^3.21.4"
40
40
  },
41
41
  "devDependencies": {
42
- "@typescript-eslint/eslint-plugin": "^5.57.1",
43
- "@typescript-eslint/parser": "^5.57.1",
44
- "eslint": "^8.38.0",
42
+ "@trivago/prettier-plugin-sort-imports": "^4.3.0",
43
+ "@typescript-eslint/eslint-plugin": "^6.12.0",
44
+ "@typescript-eslint/parser": "^6.12.0",
45
+ "eslint": "^8.54.0",
45
46
  "eslint-config-google": "^0.14.0",
46
47
  "eslint-plugin-import": "^2.27.5",
48
+ "prettier": "^3.1.0",
47
49
  "ts-node": "^10.9.1",
48
50
  "typescript": "^5.0.4"
49
51
  }