Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

edacation

Package Overview
Dependencies
Maintainers
0
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

edacation - npm Package Compare versions

Comparing version 0.3.6 to 0.3.7

291

dist/project/configuration.d.ts

@@ -14,7 +14,8 @@ import { z } from 'zod';

}>;
declare const schemaValueListTarget: z.ZodObject<{
declare const schemaValueListTarget: z.ZodObject<z.objectUtil.extendShape<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
}, {
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
useGenerated: boolean;

@@ -69,7 +70,8 @@ values: string[];

declare const schemaWorkerTarget: z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
}, {
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
useGenerated: boolean;

@@ -83,7 +85,8 @@ values: string[];

}>>;
outputFiles: z.ZodOptional<z.ZodObject<{
outputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
}, {
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
useGenerated: boolean;

@@ -146,2 +149,5 @@ values: string[];

}, "strip", z.ZodTypeAny, {
options?: {
optimize?: boolean | undefined;
} | undefined;
commands?: {

@@ -151,6 +157,6 @@ useGenerated: boolean;

} | undefined;
}, {
options?: {
optimize?: boolean | undefined;
} | undefined;
}, {
commands?: {

@@ -160,12 +166,10 @@ useGenerated?: boolean | undefined;

} | undefined;
options?: {
optimize?: boolean | undefined;
} | undefined;
}>;
declare const schemaYosysTarget: z.ZodObject<{
commands: z.ZodOptional<z.ZodObject<{
commands: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
}, {
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
useGenerated: boolean;

@@ -187,2 +191,5 @@ values: string[];

}, "strip", z.ZodTypeAny, {
options?: {
optimize?: boolean | undefined;
} | undefined;
commands?: {

@@ -193,6 +200,6 @@ useGenerated: boolean;

} | undefined;
}, {
options?: {
optimize?: boolean | undefined;
} | undefined;
}, {
commands?: {

@@ -203,5 +210,2 @@ useGenerated?: boolean | undefined;

} | undefined;
options?: {
optimize?: boolean | undefined;
} | undefined;
}>;

@@ -246,2 +250,7 @@ declare const schemaNextpnrOptions: z.ZodObject<{

}, "strip", z.ZodTypeAny, {
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
arguments?: {

@@ -251,2 +260,3 @@ useGenerated: boolean;

} | undefined;
}, {
options?: {

@@ -257,3 +267,2 @@ placedSvg?: boolean | undefined;

} | undefined;
}, {
arguments?: {

@@ -263,14 +272,10 @@ useGenerated?: boolean | undefined;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
}>;
declare const schemaNextpnrTarget: z.ZodObject<{
arguments: z.ZodOptional<z.ZodObject<{
arguments: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
}, {
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
useGenerated: boolean;

@@ -298,2 +303,7 @@ values: string[];

}, "strip", z.ZodTypeAny, {
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
arguments?: {

@@ -304,2 +314,3 @@ useGenerated: boolean;

} | undefined;
}, {
options?: {

@@ -310,3 +321,2 @@ placedSvg?: boolean | undefined;

} | undefined;
}, {
arguments?: {

@@ -317,11 +327,6 @@ useGenerated?: boolean | undefined;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
}>;
export declare const schemaProjectConfiguration: z.ZodObject<{
defaults: z.ZodOptional<z.ZodObject<{
yosys: z.ZodOptional<z.ZodObject<{
yosys: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
inputFiles: z.ZodOptional<z.ZodObject<{

@@ -347,2 +352,3 @@ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;

}>>;
}, {
commands: z.ZodOptional<z.ZodObject<{

@@ -365,3 +371,6 @@ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;

}>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
options?: {
optimize?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -379,6 +388,6 @@ useGenerated: boolean;

} | undefined;
}, {
options?: {
optimize?: boolean | undefined;
} | undefined;
}, {
inputFiles?: {

@@ -396,7 +405,4 @@ useGenerated?: boolean | undefined;

} | undefined;
options?: {
optimize?: boolean | undefined;
} | undefined;
}>>;
nextpnr: z.ZodOptional<z.ZodObject<{
nextpnr: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
inputFiles: z.ZodOptional<z.ZodObject<{

@@ -422,2 +428,3 @@ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;

}>>;
}, {
arguments: z.ZodOptional<z.ZodObject<{

@@ -446,3 +453,8 @@ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;

}>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -460,2 +472,3 @@ useGenerated: boolean;

} | undefined;
}, {
options?: {

@@ -466,3 +479,2 @@ placedSvg?: boolean | undefined;

} | undefined;
}, {
inputFiles?: {

@@ -480,10 +492,8 @@ useGenerated?: boolean | undefined;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
yosys?: {
options?: {
optimize?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -501,7 +511,9 @@ useGenerated: boolean;

} | undefined;
} | undefined;
nextpnr?: {
options?: {
optimize?: boolean | undefined;
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
nextpnr?: {
inputFiles?: {

@@ -519,10 +531,8 @@ useGenerated: boolean;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
}, {
yosys?: {
options?: {
optimize?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -540,7 +550,9 @@ useGenerated?: boolean | undefined;

} | undefined;
} | undefined;
nextpnr?: {
options?: {
optimize?: boolean | undefined;
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
nextpnr?: {
inputFiles?: {

@@ -558,7 +570,2 @@ useGenerated?: boolean | undefined;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;

@@ -574,8 +581,9 @@ }>>;

directory: z.ZodOptional<z.ZodString>;
yosys: z.ZodOptional<z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<{
yosys: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
inputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
}, {
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
useGenerated: boolean;

@@ -589,7 +597,8 @@ values: string[];

}>>;
outputFiles: z.ZodOptional<z.ZodObject<{
outputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
}, {
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
useGenerated: boolean;

@@ -603,7 +612,9 @@ values: string[];

}>>;
commands: z.ZodOptional<z.ZodObject<{
}, {
commands: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
}, {
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
useGenerated: boolean;

@@ -624,3 +635,6 @@ values: string[];

}>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
options?: {
optimize?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -641,6 +655,6 @@ useGenerated: boolean;

} | undefined;
}, {
options?: {
optimize?: boolean | undefined;
} | undefined;
}, {
inputFiles?: {

@@ -661,12 +675,10 @@ useGenerated?: boolean | undefined;

} | undefined;
options?: {
optimize?: boolean | undefined;
} | undefined;
}>>;
nextpnr: z.ZodOptional<z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<{
nextpnr: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
inputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
}, {
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
useGenerated: boolean;

@@ -680,7 +692,8 @@ values: string[];

}>>;
outputFiles: z.ZodOptional<z.ZodObject<{
outputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
}, {
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
useGenerated: boolean;

@@ -694,7 +707,9 @@ values: string[];

}>>;
arguments: z.ZodOptional<z.ZodObject<{
}, {
arguments: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
}, {
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
useGenerated: boolean;

@@ -721,3 +736,8 @@ values: string[];

}>>;
}, "strip", z.ZodTypeAny, {
}>, "strip", z.ZodTypeAny, {
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -738,2 +758,3 @@ useGenerated: boolean;

} | undefined;
}, {
options?: {

@@ -744,3 +765,2 @@ placedSvg?: boolean | undefined;

} | undefined;
}, {
inputFiles?: {

@@ -761,7 +781,2 @@ useGenerated?: boolean | undefined;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
}>>;

@@ -775,4 +790,6 @@ }, "strip", z.ZodTypeAny, {

package: string;
directory?: string | undefined;
yosys?: {
options?: {
optimize?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -793,7 +810,9 @@ useGenerated: boolean;

} | undefined;
} | undefined;
nextpnr?: {
options?: {
optimize?: boolean | undefined;
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
nextpnr?: {
inputFiles?: {

@@ -814,8 +833,4 @@ useGenerated: boolean;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
directory?: string | undefined;
}, {

@@ -828,4 +843,6 @@ id: string;

package: string;
directory?: string | undefined;
yosys?: {
options?: {
optimize?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -846,7 +863,9 @@ useGenerated?: boolean | undefined;

} | undefined;
} | undefined;
nextpnr?: {
options?: {
optimize?: boolean | undefined;
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
nextpnr?: {
inputFiles?: {

@@ -867,8 +886,4 @@ useGenerated?: boolean | undefined;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
directory?: string | undefined;
}>, "many">;

@@ -883,4 +898,6 @@ }, "strip", z.ZodTypeAny, {

package: string;
directory?: string | undefined;
yosys?: {
options?: {
optimize?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -901,7 +918,9 @@ useGenerated: boolean;

} | undefined;
} | undefined;
nextpnr?: {
options?: {
optimize?: boolean | undefined;
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
nextpnr?: {
inputFiles?: {

@@ -922,11 +941,10 @@ useGenerated: boolean;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
directory?: string | undefined;
}[];
defaults?: {
yosys?: {
options?: {
optimize?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -944,7 +962,9 @@ useGenerated: boolean;

} | undefined;
} | undefined;
nextpnr?: {
options?: {
optimize?: boolean | undefined;
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
nextpnr?: {
inputFiles?: {

@@ -962,7 +982,2 @@ useGenerated: boolean;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;

@@ -978,4 +993,6 @@ } | undefined;

package: string;
directory?: string | undefined;
yosys?: {
options?: {
optimize?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -996,7 +1013,9 @@ useGenerated?: boolean | undefined;

} | undefined;
} | undefined;
nextpnr?: {
options?: {
optimize?: boolean | undefined;
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
nextpnr?: {
inputFiles?: {

@@ -1017,11 +1036,10 @@ useGenerated?: boolean | undefined;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
directory?: string | undefined;
}[];
defaults?: {
yosys?: {
options?: {
optimize?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -1039,7 +1057,9 @@ useGenerated?: boolean | undefined;

} | undefined;
} | undefined;
nextpnr?: {
options?: {
optimize?: boolean | undefined;
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
nextpnr?: {
inputFiles?: {

@@ -1057,7 +1077,2 @@ useGenerated?: boolean | undefined;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;

@@ -1064,0 +1079,0 @@ } | undefined;

@@ -124,2 +124,3 @@ "use strict";

qn84: '84-pin QFNS (7 x 7 mm)',
sg48: '48-pin SG48 (7 x 7 mm)',
swg16tr: '16-ball WLCSP (1.40 x 1.48 mm)',

@@ -257,3 +258,3 @@ tq144: '144-pin TQFP (20 x 20 mm)',

name: 'LP4K',
device: 'lp8k',
device: 'lp4k',
packages: ['cm81:4k', 'cm121:4k', 'cm225:4k']

@@ -273,3 +274,3 @@ },

name: 'HX4K',
device: 'hx8k',
device: 'hx4k',
packages: ['cb132:4k', 'tq144:4k', 'bg121:4k']

@@ -281,2 +282,28 @@ },

packages: ['cm225', 'cb132', 'bg121', 'ct256']
},
// https://github.com/YosysHQ/nextpnr/blob/b7f91e57a0caf40dd23e3bada52c8595d53eb625/ice40/arch.h#L360
up3k: {
name: 'UP3K',
device: 'up3k',
packages: ['sg48']
},
up5k: {
name: 'UP5K',
device: 'up5k',
packages: ['sg48']
},
u1k: {
name: 'U1K',
device: 'iCE5LP1K',
packages: ['sg48']
},
u2k: {
name: 'iCE5LP2K',
device: 'u2k',
packages: ['sg48']
},
u4k: {
name: 'iCE5LP4K',
device: 'u4k',
packages: ['sg48']
}

@@ -283,0 +310,0 @@ }

import { type ProjectConfiguration } from './configuration.js';
type ProjectTarget = ProjectConfiguration['targets'][number];
export interface ProjectOutputFileState {
path: string;
targetId: string | null;
stale: boolean;
}
export declare class ProjectOutputFile {
private _project;
private _path;
private _targetId;
private _stale;
constructor(_project: Project, _path: string, _targetId?: string | null, _stale?: boolean);
get path(): string;
get targetId(): string | null;
set targetId(id: string | null);
get target(): ProjectTarget | null;
get stale(): boolean;
set stale(isStale: boolean);
static serialize(file: ProjectOutputFile): ProjectOutputFileState;
static deserialize(project: Project, data: ProjectOutputFileState | string, ..._args: unknown[]): ProjectOutputFile;
}
export interface ProjectState {
name: string;
inputFiles: string[];
outputFiles: string[];
outputFiles: ProjectOutputFileState[] | string[];
configuration: ProjectConfiguration;

@@ -13,3 +34,3 @@ }

private configuration;
constructor(name: string, inputFiles?: string[], outputFiles?: string[], configuration?: ProjectConfiguration);
constructor(name: string, inputFiles?: string[], outputFiles?: ProjectOutputFileState[] | string[], configuration?: ProjectConfiguration);
getName(): string;

@@ -20,6 +41,11 @@ getInputFiles(): string[];

removeInputFiles(filePaths: string[]): void;
getOutputFiles(): string[];
getOutputFiles(): ProjectOutputFile[];
hasOutputFile(filePath: string): boolean;
addOutputFiles(filePaths: string[]): void;
getOutputFile(filePath: string): ProjectOutputFile | null;
addOutputFiles(files: {
path: string;
targetId: string;
}[]): void;
removeOutputFiles(filePaths: string[]): void;
expireOutputFiles(): void;
getConfiguration(): {

@@ -33,4 +59,6 @@ targets: {

package: string;
directory?: string | undefined;
yosys?: {
options?: {
optimize?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -51,7 +79,9 @@ useGenerated: boolean;

} | undefined;
} | undefined;
nextpnr?: {
options?: {
optimize?: boolean | undefined;
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
nextpnr?: {
inputFiles?: {

@@ -72,11 +102,10 @@ useGenerated: boolean;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
directory?: string | undefined;
}[];
defaults?: {
yosys?: {
options?: {
optimize?: boolean | undefined;
} | undefined;
inputFiles?: {

@@ -94,7 +123,9 @@ useGenerated: boolean;

} | undefined;
} | undefined;
nextpnr?: {
options?: {
optimize?: boolean | undefined;
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;
nextpnr?: {
inputFiles?: {

@@ -112,7 +143,2 @@ useGenerated: boolean;

} | undefined;
options?: {
placedSvg?: boolean | undefined;
routedSvg?: boolean | undefined;
routedJson?: boolean | undefined;
} | undefined;
} | undefined;

@@ -122,2 +148,3 @@ } | undefined;

updateConfiguration(configuration: Partial<ProjectConfiguration>): void;
getTarget(id: string): ProjectTarget | null;
static serialize(project: Project): ProjectState;

@@ -128,1 +155,2 @@ static deserialize(data: ProjectState, ..._args: unknown[]): Project;

}
export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Project = void 0;
exports.Project = exports.ProjectOutputFile = void 0;
const util_js_1 = require("../util.js");
const configuration_js_1 = require("./configuration.js");
class ProjectOutputFile {
constructor(_project, _path, _targetId = null, _stale = false) {
this._project = _project;
this._path = _path;
this._targetId = _targetId;
this._stale = _stale;
}
get path() {
return this._path;
}
get targetId() {
return this._targetId;
}
set targetId(id) {
if (id !== null && this._project.getTarget(id) === null) {
throw new Error(`Invalid target id: ${id}`);
}
this._targetId = id;
}
get target() {
if (!this._targetId)
return null;
return this._project.getTarget(this._targetId);
}
get stale() {
return this._stale;
}
set stale(isStale) {
this._stale = isStale;
}
static serialize(file) {
return {
path: file.path,
targetId: file.targetId,
stale: file.stale
};
}
static deserialize(project, data, ..._args) {
// Older versions of this module (<= 0.3.6) stored output files as an array of paths instead,
// so we need to migrate if data is a string (single output file).
if (typeof data === 'string') {
data = { path: data, targetId: null, stale: false };
}
return new ProjectOutputFile(project, data.path, data.targetId, data.stale);
}
}
exports.ProjectOutputFile = ProjectOutputFile;
class Project {

@@ -10,3 +57,3 @@ constructor(name, inputFiles = [], outputFiles = [], configuration = configuration_js_1.DEFAULT_CONFIGURATION) {

this.inputFiles = inputFiles;
this.outputFiles = outputFiles;
this.outputFiles = outputFiles.map((file) => ProjectOutputFile.deserialize(this, file));
const config = configuration_js_1.schemaProjectConfiguration.safeParse(configuration);

@@ -19,2 +66,4 @@ if (config.success) {

}
// Trigger a config 'update' to deploy any modifications it might want to make
this.updateConfiguration({});
}

@@ -47,9 +96,21 @@ getName() {

hasOutputFile(filePath) {
return this.outputFiles.some((file) => file === filePath);
return this.getOutputFile(filePath) !== null;
}
addOutputFiles(filePaths) {
for (const filePath of filePaths) {
if (!this.hasOutputFile(filePath)) {
this.outputFiles.push(filePath);
getOutputFile(filePath) {
return this.outputFiles.find((file) => file.path === filePath) ?? null;
}
addOutputFiles(files) {
for (const file of files) {
const existingOutFile = this.getOutputFile(file.path);
if (existingOutFile) {
// File already exists, so we don't want to add it again.
// But, we should make sure the target ID gets updated and set `stale` to false.
existingOutFile.targetId = file.targetId;
existingOutFile.stale = false;
continue;
}
const outputFile = new ProjectOutputFile(this, file.path, file.targetId);
if (outputFile.target === null)
throw new Error(`Invalid target ID: ${file.targetId}`);
this.outputFiles.push(outputFile);
}

@@ -61,4 +122,9 @@ this.outputFiles.sort((a, b) => {

removeOutputFiles(filePaths) {
this.outputFiles = this.outputFiles.filter((file) => !filePaths.includes(file));
this.outputFiles = this.outputFiles.filter((file) => !filePaths.includes(file.path));
}
expireOutputFiles() {
for (const file of this.outputFiles) {
file.stale = true;
}
}
getConfiguration() {

@@ -72,3 +138,12 @@ return this.configuration;

};
// Unset 'lingering' output file target IDs
for (const outFile of this.outputFiles) {
if (!outFile.target)
outFile.targetId = null;
}
}
getTarget(id) {
const targets = this.configuration.targets;
return targets.find((target) => target.id === id) ?? null;
}
static serialize(project) {

@@ -78,3 +153,3 @@ return {

inputFiles: project.inputFiles,
outputFiles: project.outputFiles,
outputFiles: project.outputFiles.map((file) => ProjectOutputFile.serialize(file)),
configuration: project.configuration

@@ -81,0 +156,0 @@ };

@@ -5,3 +5,3 @@ {

"license": "MIT",
"version": "0.3.6",
"version": "0.3.7",
"contributors": [

@@ -36,19 +36,19 @@ "Danielle Huisman <danielle@huisman.me> (https://github.com/DanielleHuisman)",

"dependencies": {
"@types/node": "^20.11.0",
"@types/yargs": "^17.0.32",
"string-args-parser": "^1.0.4",
"yargs": "^17.7.2",
"zod": "^3.22.4"
"zod": "^3.23.8"
},
"devDependencies": {
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
"@typescript-eslint/eslint-plugin": "^6.18.1",
"@typescript-eslint/parser": "^6.18.1",
"eslint": "^8.56.0",
"@types/node": "^20.14.8",
"@types/yargs": "^17.0.32",
"@typescript-eslint/eslint-plugin": "^7.13.0",
"@typescript-eslint/parser": "^7.13.0",
"eslint": "^8.57.0",
"eslint-config-google": "^0.14.0",
"eslint-plugin-import": "^2.29.1",
"prettier": "^3.2.1",
"prettier": "^3.3.2",
"ts-node": "^10.9.2",
"typescript": "^5.3.3"
"typescript": "^5.4.5"
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc