@saws/core 1.0.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.
@@ -0,0 +1,30 @@
1
+ /// <reference types="node" />
2
+ import { Readable } from "stream";
3
+ import { type Outputs } from "@saws/utils/stage-outputs";
4
+ import type { AWSPermission } from "@saws/utils/aws-permission";
5
+ export interface ServiceDefinitionConfig {
6
+ name: string;
7
+ dependencies?: ServiceDefinition[];
8
+ }
9
+ export declare class ServiceDefinition {
10
+ name: string;
11
+ dependencies: ServiceDefinition[];
12
+ outputs: Outputs;
13
+ deved: boolean;
14
+ deployed: boolean;
15
+ constructor(config: ServiceDefinitionConfig);
16
+ init(): Promise<void>;
17
+ dev(): Promise<void>;
18
+ deploy(stage: string): Promise<void>;
19
+ getOutputs(): Outputs;
20
+ setOutputs(outputs: Outputs, stage: string): Promise<void>;
21
+ forEachDependency(callback: (serviceDefinition: ServiceDefinition) => void): void;
22
+ forEachDependencyAsync(callback: (serviceDefinition: ServiceDefinition) => Promise<void>): Promise<void>;
23
+ getAllDependencies(): ServiceDefinition[];
24
+ exit(): void;
25
+ parameterizedEnvVarName(envVarName: string): string;
26
+ getEnvironmentVariables(stage: string): Promise<Record<string, string>>;
27
+ getDependenciesEnvironmentVariables(stage: string): Promise<Record<string, string>>;
28
+ getStdOut(): Readable | null | undefined;
29
+ getPermissions(stage: string): AWSPermission[];
30
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceDefinition = void 0;
4
+ const stage_outputs_1 = require("@saws/utils/stage-outputs");
5
+ const parameterized_env_var_name_1 = require("@saws/utils/parameterized-env-var-name");
6
+ class ServiceDefinition {
7
+ name;
8
+ dependencies;
9
+ outputs = {};
10
+ deved = false;
11
+ deployed = false;
12
+ constructor(config) {
13
+ this.name = config.name;
14
+ this.dependencies = config.dependencies ?? [];
15
+ }
16
+ async init() {
17
+ return;
18
+ }
19
+ async dev() {
20
+ console.log("Start dev", this.name);
21
+ await this.init();
22
+ await this.forEachDependencyAsync(async (dependency) => {
23
+ if (dependency.deved)
24
+ return;
25
+ await dependency.dev();
26
+ dependency.deved = true;
27
+ });
28
+ }
29
+ async deploy(stage) {
30
+ console.log("Start deploy", this.name);
31
+ await this.forEachDependencyAsync(async (dependency) => {
32
+ if (dependency.deployed)
33
+ return;
34
+ await dependency.deploy(stage);
35
+ dependency.deployed = true;
36
+ });
37
+ }
38
+ getOutputs() {
39
+ return this.outputs;
40
+ }
41
+ async setOutputs(outputs, stage) {
42
+ this.outputs = {
43
+ ...this.outputs,
44
+ ...outputs,
45
+ };
46
+ await (0, stage_outputs_1.writeStageOutputs)({
47
+ [this.name]: this.outputs,
48
+ }, stage);
49
+ }
50
+ forEachDependency(callback) {
51
+ for (const dependency of this.dependencies) {
52
+ callback(dependency);
53
+ }
54
+ }
55
+ async forEachDependencyAsync(callback) {
56
+ for (const dependency of this.dependencies) {
57
+ await callback(dependency);
58
+ }
59
+ }
60
+ getAllDependencies() {
61
+ const all = [this];
62
+ for (const dependency of this.dependencies) {
63
+ all.push(dependency);
64
+ all.push(...dependency.getAllDependencies());
65
+ }
66
+ return all;
67
+ }
68
+ // this needs to be recursive down dependencies
69
+ exit() {
70
+ this.forEachDependency((dependency) => dependency.exit());
71
+ }
72
+ parameterizedEnvVarName(envVarName) {
73
+ return (0, parameterized_env_var_name_1.parameterizedEnvVarName)(this.name, envVarName);
74
+ }
75
+ // this needs to be recursive down dependencies
76
+ async getEnvironmentVariables(stage) {
77
+ return {};
78
+ }
79
+ async getDependenciesEnvironmentVariables(stage) {
80
+ const environmentVariables = {};
81
+ await this.forEachDependencyAsync(async (definition) => {
82
+ Object.assign(environmentVariables, await definition.getEnvironmentVariables(stage));
83
+ });
84
+ return environmentVariables;
85
+ }
86
+ getStdOut() {
87
+ return null;
88
+ }
89
+ getPermissions(stage) {
90
+ return [];
91
+ }
92
+ }
93
+ exports.ServiceDefinition = ServiceDefinition;
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZURlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2VydmljZURlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkRBQTRFO0FBRTVFLHVGQUFnRjtBQU9oRixNQUFhLGlCQUFpQjtJQUM1QixJQUFJLENBQVM7SUFDYixZQUFZLENBQXNCO0lBQ2xDLE9BQU8sR0FBWSxFQUFFLENBQUM7SUFDdEIsS0FBSyxHQUFZLEtBQUssQ0FBQTtJQUN0QixRQUFRLEdBQVksS0FBSyxDQUFBO0lBRXpCLFlBQVksTUFBK0I7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsT0FBTTtJQUNSLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRztRQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNqQixNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUU7WUFDckQsSUFBSSxVQUFVLENBQUMsS0FBSztnQkFBRSxPQUFNO1lBQzVCLE1BQU0sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBYTtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFF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
@@ -0,0 +1,2 @@
1
+ import { type ServiceDefinition } from "./ServiceDefinition";
2
+ export declare function getSawsConfig(path?: string): Promise<ServiceDefinition>;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSawsConfig = void 0;
4
+ const path_1 = require("path");
5
+ async function getSawsConfig(path = './saws.js') {
6
+ const pathToConfig = (0, path_1.resolve)(path);
7
+ const serviceDefinition = await import(pathToConfig);
8
+ return serviceDefinition.default;
9
+ }
10
+ exports.getSawsConfig = getSawsConfig;
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNhd3MtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dldC1zYXdzLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrQkFBK0I7QUFFeEIsS0FBSyxVQUFVLGFBQWEsQ0FBQyxPQUFlLFdBQVc7SUFDNUQsTUFBTSxZQUFZLEdBQUcsSUFBQSxjQUFPLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyRCxPQUFPLGlCQUFpQixDQUFDLE9BQTRCLENBQUE7QUFDdkQsQ0FBQztBQUpELHNDQUlDIn0=
@@ -0,0 +1,2 @@
1
+ export * from './ServiceDefinition';
2
+ export * from './get-saws-config';
@@ -0,0 +1,19 @@
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("./ServiceDefinition"), exports);
18
+ __exportStar(require("./get-saws-config"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFtQztBQUNuQyxvREFBaUMifQ==
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../utils/dist/src/stage-outputs.d.ts","../../utils/dist/src/aws-permission.d.ts","../../utils/dist/src/parameterized-env-var-name.d.ts","../src/servicedefinition.ts","../src/get-saws-config.ts","../src/index.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/globals.global.d.ts","../../../node_modules/.pnpm/@types+node@20.11.19/node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true,"impliedFormat":1},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true,"impliedFormat":1},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true,"impliedFormat":1},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"b507173a7718609bb52011f33e6fc61b0f3de62ec38c935b38dcfbb68223dea9","impliedFormat":1},{"version":"02a81c65d86a2ad4528096fa5bfdb06b702b52fb58513e09a4e0fb9cd0de3747","impliedFormat":1},{"version":"49f2c62555d3f5877b6a995aea392f83f4badffc143e93de43d7827d5b4cc05f","impliedFormat":1},{"version":"8aab055fe13e06f3167e28cbebc61c43aefe2670a851bd957b63f8871ed1ec65","signature":"f8dbeef8328485fe66b33633cc13a95febf2f9d8b7ddf074295ab4a037b84812","impliedFormat":1},{"version":"12aa70b30a76c0bce7a30a1e4fa7241de0165bb5c2d1dc579b66484243afbdd2","signature":"243828236d4436f8faf41005da557f6ace5521c90282c0f78f23493edea327b9","impliedFormat":1},{"version":"baeb0e9da898fdb3cde061a4dbcbe9b5d90737220e646101111617a22aab6d9a","signature":"c85b423b254ef24cee6f24b136a4635d6a693b0d397827d8e4080c9fe491edd9","impliedFormat":1},{"version":"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c","impliedFormat":1},{"version":"e2eb1ce13a9c0fa7ab62c63909d81973ef4b707292667c64f1e25e6e53fa7afa","affectsGlobalScope":true,"impliedFormat":1},{"version":"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","impliedFormat":1},{"version":"7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba","impliedFormat":1},{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true,"impliedFormat":1},{"version":"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","impliedFormat":1},{"version":"4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","impliedFormat":1},{"version":"8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","impliedFormat":1},{"version":"af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","impliedFormat":1},{"version":"b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e","impliedFormat":1},{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true,"impliedFormat":1},{"version":"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","impliedFormat":1},{"version":"313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","impliedFormat":1},{"version":"f1ace2d2f98429e007d017c7a445efad2aaebf8233135abdb2c88b8c0fef91ab","impliedFormat":1},{"version":"87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","impliedFormat":1},{"version":"396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","impliedFormat":1},{"version":"21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac","impliedFormat":1},{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true,"impliedFormat":1},{"version":"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","impliedFormat":1},{"version":"45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","impliedFormat":1},{"version":"0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7","impliedFormat":1},{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true,"impliedFormat":1},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true,"impliedFormat":1},{"version":"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","impliedFormat":1},{"version":"54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","impliedFormat":1},{"version":"d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","impliedFormat":1},{"version":"8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","impliedFormat":1},{"version":"01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","impliedFormat":1},{"version":"8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","impliedFormat":1},{"version":"9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024","impliedFormat":1},{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true,"impliedFormat":1},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","impliedFormat":1},{"version":"4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","impliedFormat":1},{"version":"7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","impliedFormat":1},{"version":"7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df","impliedFormat":1},{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","impliedFormat":1},{"version":"79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","impliedFormat":1},{"version":"37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839","impliedFormat":1},{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","impliedFormat":1}],"root":[[62,64]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"esModuleInterop":true,"inlineSourceMap":true,"jsx":2,"module":100,"outDir":"./","rootDir":"..","skipLibCheck":true,"strict":true,"target":9},"fileIdsList":[[65],[100],[101,106,134],[102,113,114,121,131,142],[102,103,113,121],[104,143],[105,106,114,122],[106,131,139],[107,109,113,121],[100,108],[109,110],[113],[111,113],[100,113],[113,114,115,131,142],[113,114,115,128,131,134],[98,101,147],[109,113,116,121,131,142],[113,114,116,117,121,131,139,142],[116,118,131,139,142],[65,66,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[113,119],[120,142,147],[109,113,121,131],[122],[123],[100,124],[125,141,147],[126],[127],[113,128,129],[128,130,143,145],[101,113,131,132,133,134],[101,131,133],[131,132],[134],[135],[100,131],[113,137,138],[137,138],[106,121,131,139],[140],[121,141],[101,116,127,142],[106,143],[131,144],[120,145],[146],[101,106,113,115,124,131,142,145,147],[131,148],[75,79,142],[75,131,142],[70],[72,75,139,142],[121,139],[150],[70,150],[72,75,121,142],[67,68,71,74,101,113,131,142],[67,73],[71,75,101,134,142,150],[101,150],[91,101,150],[69,70,150],[75],[69,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,87,88,89,90,92,93,94,95,96,97],[75,82,83],[73,75,83,84],[74],[67,70,75],[75,79,83,84],[79],[73,75,78,142],[67,72,73,75,79,82],[101,131],[70,75,91,101,147,150],[62,123],[62,63],[59,60,61,131],[62],[59,60,131]],"referencedMap":[[65,1],[66,1],[100,2],[101,3],[102,4],[103,5],[104,6],[105,7],[106,8],[107,9],[108,10],[109,11],[110,11],[112,12],[111,13],[113,14],[114,15],[115,16],[99,17],[116,18],[117,19],[118,20],[150,21],[119,22],[120,23],[121,24],[122,25],[123,26],[124,27],[125,28],[126,29],[127,30],[128,31],[129,31],[130,32],[131,33],[133,34],[132,35],[134,36],[135,37],[136,38],[137,39],[138,40],[139,41],[140,42],[141,43],[142,44],[143,45],[144,46],[145,47],[146,48],[147,49],[148,50],[82,51],[89,52],[81,51],[96,53],[73,54],[72,55],[95,56],[90,57],[93,58],[75,59],[74,60],[70,61],[69,62],[92,63],[71,64],[76,65],[80,65],[98,66],[97,65],[84,67],[85,68],[87,69],[83,70],[86,71],[91,56],[78,72],[79,73],[88,74],[68,75],[94,76],[63,77],[64,78],[62,79]],"exportedModulesMap":[[65,1],[66,1],[100,2],[101,3],[102,4],[103,5],[104,6],[105,7],[106,8],[107,9],[108,10],[109,11],[110,11],[112,12],[111,13],[113,14],[114,15],[115,16],[99,17],[116,18],[117,19],[118,20],[150,21],[119,22],[120,23],[121,24],[122,25],[123,26],[124,27],[125,28],[126,29],[127,30],[128,31],[129,31],[130,32],[131,33],[133,34],[132,35],[134,36],[135,37],[136,38],[137,39],[138,40],[139,41],[140,42],[141,43],[142,44],[143,45],[144,46],[145,47],[146,48],[147,49],[148,50],[82,51],[89,52],[81,51],[96,53],[73,54],[72,55],[95,56],[90,57],[93,58],[75,59],[74,60],[70,61],[69,62],[92,63],[71,64],[76,65],[80,65],[98,66],[97,65],[84,67],[85,68],[87,69],[83,70],[86,71],[91,56],[78,72],[79,73],[88,74],[68,75],[94,76],[63,80],[64,78],[62,81]],"semanticDiagnosticsPerFile":[65,66,100,101,102,103,104,105,106,107,108,109,110,112,111,113,114,115,99,149,116,117,118,150,119,120,121,122,123,124,125,126,127,128,129,130,131,133,132,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,57,58,10,12,11,2,13,14,15,16,17,18,19,20,3,4,21,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,49,9,50,51,52,55,53,54,1,56,82,89,81,96,73,72,95,90,93,75,74,70,69,92,71,76,77,80,67,98,97,84,85,87,83,86,91,78,79,88,68,94,63,64,62,60,61,59],"latestChangedDtsFile":"./src/index.d.ts"},"version":"5.3.3"}
package/package.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "@saws/core",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "./dist/src/index.js",
6
+ "types": "./dist/src/index.d.ts",
7
+ "keywords": [],
8
+ "author": "",
9
+ "license": "MIT",
10
+ "dependencies": {
11
+ "@saws/utils": "^1.0.0"
12
+ }
13
+ }
@@ -0,0 +1,120 @@
1
+ import { Readable } from "stream";
2
+ import { writeStageOutputs, type Outputs } from "@saws/utils/stage-outputs";
3
+ import type { AWSPermission } from "@saws/utils/aws-permission";
4
+ import { parameterizedEnvVarName } from "@saws/utils/parameterized-env-var-name"
5
+
6
+ export interface ServiceDefinitionConfig {
7
+ name: string;
8
+ dependencies?: ServiceDefinition[];
9
+ }
10
+
11
+ export class ServiceDefinition {
12
+ name: string;
13
+ dependencies: ServiceDefinition[];
14
+ outputs: Outputs = {};
15
+ deved: boolean = false
16
+ deployed: boolean = false
17
+
18
+ constructor(config: ServiceDefinitionConfig) {
19
+ this.name = config.name;
20
+ this.dependencies = config.dependencies ?? [];
21
+ }
22
+
23
+ async init() {
24
+ return
25
+ }
26
+
27
+ async dev() {
28
+ console.log("Start dev", this.name);
29
+ await this.init()
30
+ await this.forEachDependencyAsync(async (dependency) => {
31
+ if (dependency.deved) return
32
+ await dependency.dev();
33
+ dependency.deved = true
34
+ });
35
+ }
36
+
37
+ async deploy(stage: string) {
38
+ console.log("Start deploy", this.name);
39
+ await this.forEachDependencyAsync(async (dependency) => {
40
+ if (dependency.deployed) return
41
+ await dependency.deploy(stage);
42
+ dependency.deployed = true;
43
+ });
44
+ }
45
+
46
+ getOutputs() {
47
+ return this.outputs;
48
+ }
49
+
50
+ async setOutputs(outputs: Outputs, stage: string) {
51
+ this.outputs = {
52
+ ...this.outputs,
53
+ ...outputs,
54
+ };
55
+ await writeStageOutputs(
56
+ {
57
+ [this.name]: this.outputs,
58
+ },
59
+ stage
60
+ );
61
+ }
62
+
63
+ forEachDependency(callback: (serviceDefinition: ServiceDefinition) => void) {
64
+ for (const dependency of this.dependencies) {
65
+ callback(dependency);
66
+ }
67
+ }
68
+
69
+ async forEachDependencyAsync(
70
+ callback: (serviceDefinition: ServiceDefinition) => Promise<void>
71
+ ) {
72
+ for (const dependency of this.dependencies) {
73
+ await callback(dependency);
74
+ }
75
+ }
76
+
77
+ getAllDependencies(): ServiceDefinition[] {
78
+ const all: ServiceDefinition[] = [this]
79
+ for (const dependency of this.dependencies) {
80
+ all.push(dependency)
81
+ all.push(...dependency.getAllDependencies())
82
+ }
83
+
84
+ return all
85
+ }
86
+
87
+ // this needs to be recursive down dependencies
88
+ exit() {
89
+ this.forEachDependency((dependency) => dependency.exit());
90
+ }
91
+
92
+ parameterizedEnvVarName(envVarName: string) {
93
+ return parameterizedEnvVarName(this.name, envVarName);
94
+ }
95
+
96
+ // this needs to be recursive down dependencies
97
+ async getEnvironmentVariables(stage: string): Promise<Record<string, string>> {
98
+ return {}
99
+ }
100
+
101
+ async getDependenciesEnvironmentVariables(stage: string): Promise<Record<string, string>> {
102
+ const environmentVariables: Record<string, string> = {};
103
+ await this.forEachDependencyAsync(async (definition) => {
104
+ Object.assign(
105
+ environmentVariables,
106
+ await definition.getEnvironmentVariables(stage)
107
+ );
108
+ });
109
+ return environmentVariables;
110
+ }
111
+
112
+
113
+ getStdOut(): Readable | null | undefined {
114
+ return null;
115
+ }
116
+
117
+ getPermissions(stage: string): AWSPermission[] {
118
+ return [];
119
+ }
120
+ }
@@ -0,0 +1,8 @@
1
+ import { type ServiceDefinition } from "./ServiceDefinition";
2
+ import { resolve } from "path";
3
+
4
+ export async function getSawsConfig(path: string = './saws.js'): Promise<ServiceDefinition> {
5
+ const pathToConfig = resolve(path);
6
+ const serviceDefinition = await import(pathToConfig);
7
+ return serviceDefinition.default as ServiceDefinition
8
+ }
package/src/index.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './ServiceDefinition'
2
+ export * from './get-saws-config'
package/tsconfig.json ADDED
@@ -0,0 +1,12 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "include": ["src/**/*"],
4
+ "exclude": ["dist", "node_modules"],
5
+ "compilerOptions": {
6
+ "rootDir": ".",
7
+ "outDir": "./dist"
8
+ },
9
+ "references": [
10
+ { "path": "../utils" }
11
+ ]
12
+ }