@microtronics/studio-cli 1.2.0 → 1.3.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +53 -53
- package/dist/studio-cli.d.ts +42 -8
- package/out/api.js +51 -51
- package/out/studio-cli.d.ts +42 -8
- package/package.json +1 -1
package/out/studio-cli.d.ts
CHANGED
|
@@ -2002,7 +2002,7 @@ export declare namespace Dependencies {
|
|
|
2002
2002
|
partInstalls: string[];
|
|
2003
2003
|
};
|
|
2004
2004
|
/**
|
|
2005
|
-
* Normalize the `dist/blo
|
|
2005
|
+
* Normalize the `dist/blo`, `dist/pov/details` and `dist/dlo` `package.json` files of every already-installed library
|
|
2006
2006
|
* reachable from the consumer's `libraryDependencies`/`libraryDevDependencies` (version stamping and
|
|
2007
2007
|
* stripping of npm-invalid Studio-library dependency entries), walking each library's own
|
|
2008
2008
|
* `libraryDependencies`/`libraryDevDependencies` transitively.
|
|
@@ -2024,7 +2024,7 @@ export declare namespace Dependencies {
|
|
|
2024
2024
|
*/
|
|
2025
2025
|
export function validateMinimumBackendVersion(cwd: URI, fs: LocalFS, logger: Log.Logger): Promise<void>;
|
|
2026
2026
|
/**
|
|
2027
|
-
* Install npm dependencies in pov and
|
|
2027
|
+
* Install npm dependencies in pov, blo and dlo working paths if they exist and contain a package.json.
|
|
2028
2028
|
* This ensures that a single `studio install` command sets up the entire project.
|
|
2029
2029
|
* If the root package.json declares npm workspaces that cover a part, the install is done once at the
|
|
2030
2030
|
* project root using `npm install` instead of separately for each covered part; parts not covered by a
|
|
@@ -2043,11 +2043,13 @@ export declare namespace Dependencies {
|
|
|
2043
2043
|
* @param cwd
|
|
2044
2044
|
* @param fs
|
|
2045
2045
|
* @param apmPart currently only dlo and dfiles are supported
|
|
2046
|
+
* @param production - set to true to exclude libraryDevDependencies, e.g. dlo-test - a dev-only
|
|
2047
|
+
* library must never be force-included into the shipped app (see getAll)
|
|
2046
2048
|
*/
|
|
2047
|
-
export function getApmPartDependencies(cwd: URI, fs: LocalFS, apmPart: APM.Part.dlo | APM.Part.dfiles): Promise<APMPartLibrary[]>;
|
|
2049
|
+
export function getApmPartDependencies(cwd: URI, fs: LocalFS, apmPart: APM.Part.dlo | APM.Part.dfiles, production?: boolean): Promise<APMPartLibrary[]>;
|
|
2048
2050
|
/**
|
|
2049
|
-
* Link a library's blo/pov exports into the consuming project's part package.json files.
|
|
2050
|
-
* After a library is extracted, check if it exports blo or
|
|
2051
|
+
* Link a library's blo/pov/dlo exports into the consuming project's part package.json files.
|
|
2052
|
+
* After a library is extracted, check if it exports blo, pov or dlo parts and add `file:` references.
|
|
2051
2053
|
* @param cwd
|
|
2052
2054
|
* @param fs
|
|
2053
2055
|
* @param logger
|
|
@@ -2056,7 +2058,7 @@ export declare namespace Dependencies {
|
|
|
2056
2058
|
*/
|
|
2057
2059
|
export function linkLibraryApmParts(cwd: URI, fs: LocalFS, logger: Log.Logger, libraryName: string, development?: boolean): Promise<void>;
|
|
2058
2060
|
/**
|
|
2059
|
-
* Unlink a library's blo/pov exports from the consuming project's part package.json files.
|
|
2061
|
+
* Unlink a library's blo/pov/dlo exports from the consuming project's part package.json files.
|
|
2060
2062
|
* Removes `file:` references that were added by linkLibraryApmParts.
|
|
2061
2063
|
* @param cwd
|
|
2062
2064
|
* @param fs
|
|
@@ -2553,12 +2555,27 @@ export declare namespace DLO {
|
|
|
2553
2555
|
export type FileSequencer = DloFileSequencer;
|
|
2554
2556
|
export const PreCompiler: typeof DloPreCompiler;
|
|
2555
2557
|
export type PreCompiler = DloPreCompiler;
|
|
2558
|
+
/** True for files pawncc compiles directly: the app main file and every *.spec.dlo. */
|
|
2559
|
+
export function isDloRootFile(filePath: string, manifest?: Manifest.Manifest): boolean;
|
|
2560
|
+
/** True for a DLO unit-test spec: `*.spec.dlo`, compiled as its own translation unit. */
|
|
2561
|
+
export function isDloSpecFile(filePath: string): boolean;
|
|
2562
|
+
/**
|
|
2563
|
+
* `DLO_TEST_SPEC=1` (and, if the spec source itself defines `TEST_OWN_MAIN`, `TEST_OWN_MAIN=1`
|
|
2564
|
+
* too) - the pawncc positional defines a `*.spec.dlo` compile needs so dlo-test.inc exposes its
|
|
2565
|
+
* EXPECT_* macros and `main()`. Empty for anything that is not a spec root.
|
|
2566
|
+
*/
|
|
2567
|
+
export function getSpecCompileDefines(filePath: string, source?: string): string[];
|
|
2556
2568
|
/**
|
|
2557
2569
|
* The DLO Compiler
|
|
2558
2570
|
*/
|
|
2559
2571
|
export const Compiler: typeof DloCompiler;
|
|
2560
2572
|
export type Compiler = DloCompiler;
|
|
2561
2573
|
export const uriToMemFs: typeof uriToMemFsPath;
|
|
2574
|
+
/**
|
|
2575
|
+
* Diagnostics the DLO pre-compiler produced for the files currently cached by the WASM
|
|
2576
|
+
* filesystem hook - i.e. everything the last compile read.
|
|
2577
|
+
*/
|
|
2578
|
+
export const getPrecompilerDiagnostics: typeof getPrecompilerDiagnostics;
|
|
2562
2579
|
export const parseCompilerWarningsAndErrors: typeof parseWarningsAndErrors;
|
|
2563
2580
|
/**
|
|
2564
2581
|
* Generate the dlo.cfg file and write it to the .studio/auto/dlo directory
|
|
@@ -2584,10 +2601,16 @@ declare class DloCompiler {
|
|
|
2584
2601
|
diagnostics: Diagnostics.File[];
|
|
2585
2602
|
}>;
|
|
2586
2603
|
/**
|
|
2587
|
-
* Run the symbol compiler and return its output lines.
|
|
2604
|
+
* Run the symbol compiler and return its exit code together with its output lines.
|
|
2588
2605
|
* Handles WASM-specific path patching (`.` prefix for PROXYFS, `-R` flag).
|
|
2606
|
+
*
|
|
2607
|
+
* A non-zero exit code is not treated as "no output": the lines produced up to the failure are
|
|
2608
|
+
* still returned, so callers can publish diagnostics from them. The dump is truncated in that
|
|
2609
|
+
* case though - pawncc emits no `{"type": "error"}` record in `-R` mode, so the truncation is
|
|
2610
|
+
* not otherwise detectable - and callers must therefore not build a symbol table from a run
|
|
2611
|
+
* that did not exit 0.
|
|
2589
2612
|
*/
|
|
2590
|
-
getDloSymbols(mainFile: string, compileOptions: string[]): Promise<
|
|
2613
|
+
getDloSymbols(mainFile: string, compileOptions: string[]): Promise<DloSymbolDump | null>;
|
|
2591
2614
|
/**
|
|
2592
2615
|
* Get a symbol compiler instance with direct disk access via CUSTOM_WASM_FS.
|
|
2593
2616
|
*/
|
|
@@ -2620,6 +2643,14 @@ declare class DloPreCompiler {
|
|
|
2620
2643
|
};
|
|
2621
2644
|
}
|
|
2622
2645
|
|
|
2646
|
+
/** Result of one `pawncc -R` symbol run: its process exit code plus everything it printed. */
|
|
2647
|
+
declare interface DloSymbolDump {
|
|
2648
|
+
/** 0 when pawncc ran to completion; anything else means the dump below is truncated. */
|
|
2649
|
+
exitCode: number;
|
|
2650
|
+
/** stdout followed by stderr, one entry per line. */
|
|
2651
|
+
lines: string[];
|
|
2652
|
+
}
|
|
2653
|
+
|
|
2623
2654
|
/**
|
|
2624
2655
|
* Thin wrapper around the private `pawncc-wasm` package (bundled into the CLI
|
|
2625
2656
|
* at build time, like device-master).
|
|
@@ -2737,6 +2768,9 @@ declare enum FileType {
|
|
|
2737
2768
|
*/
|
|
2738
2769
|
export declare function generateDevApmId(developmentReference: string): string;
|
|
2739
2770
|
|
|
2771
|
+
/** Aggregates diagnostics from live cache entries so stale/removed files never linger. */
|
|
2772
|
+
declare function getPrecompilerDiagnostics(): Diagnostics.File[];
|
|
2773
|
+
|
|
2740
2774
|
export declare namespace Globals {
|
|
2741
2775
|
/**
|
|
2742
2776
|
* Supported ENV for the studio environment
|