@spinajs/orm 2.0.486 → 2.0.487
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/lib/cjs/config/orm.d.ts +24 -0
- package/lib/cjs/config/orm.d.ts.map +1 -0
- package/lib/cjs/config/orm.js +26 -0
- package/lib/cjs/config/orm.js.map +1 -0
- package/lib/cjs/decorators.d.ts +3 -2
- package/lib/cjs/decorators.d.ts.map +1 -1
- package/lib/cjs/decorators.js +19 -2
- package/lib/cjs/decorators.js.map +1 -1
- package/lib/cjs/descriptor.d.ts +29 -1
- package/lib/cjs/descriptor.d.ts.map +1 -1
- package/lib/cjs/descriptor.js +37 -0
- package/lib/cjs/descriptor.js.map +1 -1
- package/lib/cjs/index.d.ts +6 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +6 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +52 -2
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +5 -0
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/migration-environment.d.ts +70 -0
- package/lib/cjs/migration-environment.d.ts.map +1 -0
- package/lib/cjs/migration-environment.js +134 -0
- package/lib/cjs/migration-environment.js.map +1 -0
- package/lib/cjs/migration-runner.d.ts +108 -0
- package/lib/cjs/migration-runner.d.ts.map +1 -0
- package/lib/cjs/migration-runner.js +216 -0
- package/lib/cjs/migration-runner.js.map +1 -0
- package/lib/cjs/migration-service.d.ts +300 -0
- package/lib/cjs/migration-service.d.ts.map +1 -0
- package/lib/cjs/migration-service.js +829 -0
- package/lib/cjs/migration-service.js.map +1 -0
- package/lib/cjs/migration-sources.d.ts +85 -0
- package/lib/cjs/migration-sources.d.ts.map +1 -0
- package/lib/cjs/migration-sources.js +277 -0
- package/lib/cjs/migration-sources.js.map +1 -0
- package/lib/cjs/orm.d.ts +77 -15
- package/lib/cjs/orm.d.ts.map +1 -1
- package/lib/cjs/orm.js +156 -150
- package/lib/cjs/orm.js.map +1 -1
- package/lib/cjs/quoting.d.ts +33 -0
- package/lib/cjs/quoting.d.ts.map +1 -0
- package/lib/cjs/quoting.js +48 -0
- package/lib/cjs/quoting.js.map +1 -0
- package/lib/cjs/source-file.d.ts +10 -0
- package/lib/cjs/source-file.d.ts.map +1 -0
- package/lib/cjs/source-file.js +41 -0
- package/lib/cjs/source-file.js.map +1 -0
- package/lib/cjs/statements.d.ts +51 -1
- package/lib/cjs/statements.d.ts.map +1 -1
- package/lib/cjs/statements.js +73 -1
- package/lib/cjs/statements.js.map +1 -1
- package/lib/cjs/symbols.d.ts +11 -0
- package/lib/cjs/symbols.d.ts.map +1 -1
- package/lib/cjs/symbols.js +12 -1
- package/lib/cjs/symbols.js.map +1 -1
- package/lib/mjs/config/orm.d.ts +24 -0
- package/lib/mjs/config/orm.d.ts.map +1 -0
- package/lib/mjs/config/orm.js +24 -0
- package/lib/mjs/config/orm.js.map +1 -0
- package/lib/mjs/decorators.d.ts +3 -2
- package/lib/mjs/decorators.d.ts.map +1 -1
- package/lib/mjs/decorators.js +19 -2
- package/lib/mjs/decorators.js.map +1 -1
- package/lib/mjs/descriptor.d.ts +29 -1
- package/lib/mjs/descriptor.d.ts.map +1 -1
- package/lib/mjs/descriptor.js +36 -1
- package/lib/mjs/descriptor.js.map +1 -1
- package/lib/mjs/index.d.ts +6 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +6 -0
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +52 -2
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +5 -0
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/migration-environment.d.ts +70 -0
- package/lib/mjs/migration-environment.d.ts.map +1 -0
- package/lib/mjs/migration-environment.js +128 -0
- package/lib/mjs/migration-environment.js.map +1 -0
- package/lib/mjs/migration-runner.d.ts +108 -0
- package/lib/mjs/migration-runner.d.ts.map +1 -0
- package/lib/mjs/migration-runner.js +211 -0
- package/lib/mjs/migration-runner.js.map +1 -0
- package/lib/mjs/migration-service.d.ts +300 -0
- package/lib/mjs/migration-service.d.ts.map +1 -0
- package/lib/mjs/migration-service.js +824 -0
- package/lib/mjs/migration-service.js.map +1 -0
- package/lib/mjs/migration-sources.d.ts +85 -0
- package/lib/mjs/migration-sources.d.ts.map +1 -0
- package/lib/mjs/migration-sources.js +236 -0
- package/lib/mjs/migration-sources.js.map +1 -0
- package/lib/mjs/orm.d.ts +77 -15
- package/lib/mjs/orm.d.ts.map +1 -1
- package/lib/mjs/orm.js +158 -152
- package/lib/mjs/orm.js.map +1 -1
- package/lib/mjs/quoting.d.ts +33 -0
- package/lib/mjs/quoting.d.ts.map +1 -0
- package/lib/mjs/quoting.js +45 -0
- package/lib/mjs/quoting.js.map +1 -0
- package/lib/mjs/source-file.d.ts +10 -0
- package/lib/mjs/source-file.d.ts.map +1 -0
- package/lib/mjs/source-file.js +38 -0
- package/lib/mjs/source-file.js.map +1 -0
- package/lib/mjs/statements.d.ts +51 -1
- package/lib/mjs/statements.d.ts.map +1 -1
- package/lib/mjs/statements.js +71 -0
- package/lib/mjs/statements.js.map +1 -1
- package/lib/mjs/symbols.d.ts +11 -0
- package/lib/mjs/symbols.d.ts.map +1 -1
- package/lib/mjs/symbols.js +11 -0
- package/lib/mjs/symbols.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-service.js","sourceRoot":"","sources":["../../src/migration-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Configuration } from '@spinajs/configuration-common';
|
|
2
|
+
import { AsyncService, ClassInfo } from '@spinajs/di';
|
|
3
|
+
import { Log } from '@spinajs/log-common';
|
|
4
|
+
import { OrmMigration } from './interfaces.js';
|
|
5
|
+
/**
|
|
6
|
+
* Fallback for `system.dirs.migrations` when that key is absent or empty - see the comment on it
|
|
7
|
+
* in `config/orm.ts` for why the defaults live here rather than shipping in the config value
|
|
8
|
+
* itself. One entry per format-independent build layout a project might have been compiled to; a
|
|
9
|
+
* migration reachable through more than one resolves to the same class name twice and is deduped
|
|
10
|
+
* by `Orm`.
|
|
11
|
+
*
|
|
12
|
+
* `lib/migrations` alone used to stand in for "the compiled layout", but every package in this
|
|
13
|
+
* repo compiles to `lib/cjs` and `lib/mjs` - there is no bare `lib/migrations` anywhere spinajs
|
|
14
|
+
* itself produces, which made the filesystem source a silent no-op for a deployment built the
|
|
15
|
+
* spinajs way. `build/migrations` and bare `migrations` are added alongside the original three
|
|
16
|
+
* rather than replacing them, so an existing `src/lib/dist` layout keeps working unchanged.
|
|
17
|
+
*
|
|
18
|
+
* `lib/cjs/migrations` and `lib/mjs/migrations` are deliberately NOT in this list, even though
|
|
19
|
+
* they are exactly such a build layout: they are the SAME source compiled twice into two module
|
|
20
|
+
* formats, only one of which the running process can ever load - every package here ships
|
|
21
|
+
* `"type": "module"` with no `package.json` written into `lib/cjs`, so Node parses `lib/cjs/*.js`
|
|
22
|
+
* as ESM and a bare import of it throws (by design - see the `.js`-failure-throws comment below).
|
|
23
|
+
* Scanning both unconditionally turned the sibling this runtime cannot load into a hard boot
|
|
24
|
+
* failure the moment a package actually shipped both builds. `currentBuildMigrationDir()` below
|
|
25
|
+
* picks the one that matches the current runtime instead, mirroring how
|
|
26
|
+
* `@spinajs/configuration`'s `BaseFileSource` already picks ONE of its own dual-build config globs
|
|
27
|
+
* off the same DI flag (`packages/configuration/src/sources.ts`).
|
|
28
|
+
*/
|
|
29
|
+
export declare const DEFAULT_MIGRATION_DIRS: string[];
|
|
30
|
+
/**
|
|
31
|
+
* The one directory, of `lib/cjs/migrations` and `lib/mjs/migrations`, that the CURRENTLY RUNNING
|
|
32
|
+
* process can actually import migrations from - see the comment on `DEFAULT_MIGRATION_DIRS` for
|
|
33
|
+
* why the other one is never scanned at all rather than scanned-and-tolerated.
|
|
34
|
+
*/
|
|
35
|
+
export declare function currentBuildMigrationDir(): string;
|
|
36
|
+
/**
|
|
37
|
+
* `env` ( normalized `process.env.APP_ENV` ) is interpolated straight into a glob pattern in
|
|
38
|
+
* `FilesystemMigrationSource.getMigrations()` - a plain identifier-ish token only, so it cannot
|
|
39
|
+
* carry glob metacharacters (`{`, `[`, `!`, `*`, a path separator, ...) into a pattern nobody wrote.
|
|
40
|
+
*/
|
|
41
|
+
export declare const SAFE_ENV_NAME_REGEXP: RegExp;
|
|
42
|
+
/**
|
|
43
|
+
* Supplies migration types to `Orm`.
|
|
44
|
+
*
|
|
45
|
+
* Sources only DISCOVER migrations ( type + origin file ) - they never construct or run them.
|
|
46
|
+
* `Orm` merges every registered source, resolves each migration's environment, dedupes and
|
|
47
|
+
* registers what is left.
|
|
48
|
+
*
|
|
49
|
+
* To plug in another discovery mechanism ( a plugin manifest, a remote registry ) implement this
|
|
50
|
+
* class and decorate it `@Injectable(MigrationSource)`.
|
|
51
|
+
*/
|
|
52
|
+
export declare abstract class MigrationSource extends AsyncService {
|
|
53
|
+
abstract getMigrations(): Promise<Array<ClassInfo<OrmMigration>>>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Discovers migrations by scanning the directories configured at `system.dirs.migrations`.
|
|
57
|
+
*
|
|
58
|
+
* Two globs per directory: unsuffixed files, which belong to every environment, and files carrying
|
|
59
|
+
* this environment's tag. Files belonging to another environment are never MATCHED, and therefore
|
|
60
|
+
* never imported - which is the whole point rather than an optimization. Importing a migration
|
|
61
|
+
* fires its `@Migration` decorator, which registers the class into `__migrations__`, and
|
|
62
|
+
* `DiRegistryMigrationSource` would then hand it back no matter what filter ran afterwards.
|
|
63
|
+
*
|
|
64
|
+
* This is also why `@ListFromFiles` from `@spinajs/reflection` is not used here: it imports
|
|
65
|
+
* everything it lists, and its glob is fixed at decoration time while the environment is only
|
|
66
|
+
* known at runtime.
|
|
67
|
+
*/
|
|
68
|
+
export declare class FilesystemMigrationSource extends MigrationSource {
|
|
69
|
+
protected Log: Log;
|
|
70
|
+
protected Configuration: Configuration;
|
|
71
|
+
getMigrations(): Promise<Array<ClassInfo<OrmMigration>>>;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Discovers migrations registered in the DI container under `__migrations__` - which is what the
|
|
75
|
+
* `@Migration` decorator does, so this covers every migration reached by IMPORT: a package
|
|
76
|
+
* re-exporting its migrations from `index.ts`, a test declaring one inline, or a file this
|
|
77
|
+
* process's `FilesystemMigrationSource` has just imported.
|
|
78
|
+
*
|
|
79
|
+
* The origin file is the path `@Migration` captured off the stack, and the sentinel
|
|
80
|
+
* `MIGRATION_DI_SOURCE` when that capture came back empty.
|
|
81
|
+
*/
|
|
82
|
+
export declare class DiRegistryMigrationSource extends MigrationSource {
|
|
83
|
+
getMigrations(): Promise<Array<ClassInfo<OrmMigration>>>;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=migration-sources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-sources.d.ts","sourceRoot":"","sources":["../../src/migration-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAqB,SAAS,EAAkB,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAOlD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,EAA6H,CAAC;AAgBzK;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAqB,CAAC;AAEvD;;;;;;;;;GASG;AACH,8BAAsB,eAAgB,SAAQ,YAAY;aACxC,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;CACzE;AAED;;;;;;;;;;;;GAYG;AACH,qBACa,yBAA0B,SAAQ,eAAe;IAE5D,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAE1B,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;CAkHtE;AAED;;;;;;;;GAQG;AACH,qBACa,yBAA0B,SAAQ,eAAe;IAC/C,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;CAYtE"}
|
|
@@ -0,0 +1,277 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
|
+
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports.DiRegistryMigrationSource = exports.FilesystemMigrationSource = exports.MigrationSource = exports.SAFE_ENV_NAME_REGEXP = exports.DEFAULT_MIGRATION_DIRS = void 0;
|
|
49
|
+
exports.currentBuildMigrationDir = currentBuildMigrationDir;
|
|
50
|
+
const configuration_common_1 = require("@spinajs/configuration-common");
|
|
51
|
+
const di_1 = require("@spinajs/di");
|
|
52
|
+
const log_common_1 = require("@spinajs/log-common");
|
|
53
|
+
const glob_1 = __importDefault(require("glob"));
|
|
54
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
55
|
+
const fs = __importStar(require("node:fs"));
|
|
56
|
+
const path = __importStar(require("node:path"));
|
|
57
|
+
const descriptor_js_1 = require("./descriptor.js");
|
|
58
|
+
const exceptions_js_1 = require("./exceptions.js");
|
|
59
|
+
const interfaces_js_1 = require("./interfaces.js");
|
|
60
|
+
const migration_environment_js_1 = require("./migration-environment.js");
|
|
61
|
+
const symbols_js_1 = require("./symbols.js");
|
|
62
|
+
/**
|
|
63
|
+
* Fallback for `system.dirs.migrations` when that key is absent or empty - see the comment on it
|
|
64
|
+
* in `config/orm.ts` for why the defaults live here rather than shipping in the config value
|
|
65
|
+
* itself. One entry per format-independent build layout a project might have been compiled to; a
|
|
66
|
+
* migration reachable through more than one resolves to the same class name twice and is deduped
|
|
67
|
+
* by `Orm`.
|
|
68
|
+
*
|
|
69
|
+
* `lib/migrations` alone used to stand in for "the compiled layout", but every package in this
|
|
70
|
+
* repo compiles to `lib/cjs` and `lib/mjs` - there is no bare `lib/migrations` anywhere spinajs
|
|
71
|
+
* itself produces, which made the filesystem source a silent no-op for a deployment built the
|
|
72
|
+
* spinajs way. `build/migrations` and bare `migrations` are added alongside the original three
|
|
73
|
+
* rather than replacing them, so an existing `src/lib/dist` layout keeps working unchanged.
|
|
74
|
+
*
|
|
75
|
+
* `lib/cjs/migrations` and `lib/mjs/migrations` are deliberately NOT in this list, even though
|
|
76
|
+
* they are exactly such a build layout: they are the SAME source compiled twice into two module
|
|
77
|
+
* formats, only one of which the running process can ever load - every package here ships
|
|
78
|
+
* `"type": "module"` with no `package.json` written into `lib/cjs`, so Node parses `lib/cjs/*.js`
|
|
79
|
+
* as ESM and a bare import of it throws (by design - see the `.js`-failure-throws comment below).
|
|
80
|
+
* Scanning both unconditionally turned the sibling this runtime cannot load into a hard boot
|
|
81
|
+
* failure the moment a package actually shipped both builds. `currentBuildMigrationDir()` below
|
|
82
|
+
* picks the one that matches the current runtime instead, mirroring how
|
|
83
|
+
* `@spinajs/configuration`'s `BaseFileSource` already picks ONE of its own dual-build config globs
|
|
84
|
+
* off the same DI flag (`packages/configuration/src/sources.ts`).
|
|
85
|
+
*/
|
|
86
|
+
exports.DEFAULT_MIGRATION_DIRS = ['src', 'lib', 'dist', 'build', '.'].map((d) => path.resolve(path.normalize(path.join(process.cwd(), d, 'migrations'))));
|
|
87
|
+
/**
|
|
88
|
+
* Whether the current process is running under `@spinajs/di`'s ESM mode.
|
|
89
|
+
*
|
|
90
|
+
* `DI.setESMModuleSupport()` (`packages/di/src/root.ts`) registers `{ mjs: true }` - an object, not
|
|
91
|
+
* a bare boolean - under `__esmMode__`, and `DI.__spinajs_require__` itself reads it back as
|
|
92
|
+
* `isESM && isESM.mjs`. A consumer that never called `setESMModuleSupport()` leaves the value
|
|
93
|
+
* unregistered (`DI.get` returns `null`), which this treats the same way `__spinajs_require__`
|
|
94
|
+
* does: fall back to CJS.
|
|
95
|
+
*/
|
|
96
|
+
function isESMRuntime() {
|
|
97
|
+
const flag = di_1.DI.get('__esmMode__');
|
|
98
|
+
return typeof flag === 'boolean' ? flag : Boolean(flag?.mjs);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* The one directory, of `lib/cjs/migrations` and `lib/mjs/migrations`, that the CURRENTLY RUNNING
|
|
102
|
+
* process can actually import migrations from - see the comment on `DEFAULT_MIGRATION_DIRS` for
|
|
103
|
+
* why the other one is never scanned at all rather than scanned-and-tolerated.
|
|
104
|
+
*/
|
|
105
|
+
function currentBuildMigrationDir() {
|
|
106
|
+
return path.resolve(path.normalize(path.join(process.cwd(), 'lib', isESMRuntime() ? 'mjs' : 'cjs', 'migrations')));
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* `env` ( normalized `process.env.APP_ENV` ) is interpolated straight into a glob pattern in
|
|
110
|
+
* `FilesystemMigrationSource.getMigrations()` - a plain identifier-ish token only, so it cannot
|
|
111
|
+
* carry glob metacharacters (`{`, `[`, `!`, `*`, a path separator, ...) into a pattern nobody wrote.
|
|
112
|
+
*/
|
|
113
|
+
exports.SAFE_ENV_NAME_REGEXP = /^[A-Za-z0-9_-]+$/;
|
|
114
|
+
/**
|
|
115
|
+
* Supplies migration types to `Orm`.
|
|
116
|
+
*
|
|
117
|
+
* Sources only DISCOVER migrations ( type + origin file ) - they never construct or run them.
|
|
118
|
+
* `Orm` merges every registered source, resolves each migration's environment, dedupes and
|
|
119
|
+
* registers what is left.
|
|
120
|
+
*
|
|
121
|
+
* To plug in another discovery mechanism ( a plugin manifest, a remote registry ) implement this
|
|
122
|
+
* class and decorate it `@Injectable(MigrationSource)`.
|
|
123
|
+
*/
|
|
124
|
+
class MigrationSource extends di_1.AsyncService {
|
|
125
|
+
}
|
|
126
|
+
exports.MigrationSource = MigrationSource;
|
|
127
|
+
/**
|
|
128
|
+
* Discovers migrations by scanning the directories configured at `system.dirs.migrations`.
|
|
129
|
+
*
|
|
130
|
+
* Two globs per directory: unsuffixed files, which belong to every environment, and files carrying
|
|
131
|
+
* this environment's tag. Files belonging to another environment are never MATCHED, and therefore
|
|
132
|
+
* never imported - which is the whole point rather than an optimization. Importing a migration
|
|
133
|
+
* fires its `@Migration` decorator, which registers the class into `__migrations__`, and
|
|
134
|
+
* `DiRegistryMigrationSource` would then hand it back no matter what filter ran afterwards.
|
|
135
|
+
*
|
|
136
|
+
* This is also why `@ListFromFiles` from `@spinajs/reflection` is not used here: it imports
|
|
137
|
+
* everything it lists, and its glob is fixed at decoration time while the environment is only
|
|
138
|
+
* known at runtime.
|
|
139
|
+
*/
|
|
140
|
+
let FilesystemMigrationSource = class FilesystemMigrationSource extends MigrationSource {
|
|
141
|
+
async getMigrations() {
|
|
142
|
+
const configured = this.Configuration.get('system.dirs.migrations', []) ?? [];
|
|
143
|
+
// a configured value REPLACES the defaults rather than adding to them - the config key itself
|
|
144
|
+
// ships empty for exactly this reason, see `config/orm.ts`. The format-specific build dir is
|
|
145
|
+
// computed here rather than folded into `DEFAULT_MIGRATION_DIRS` itself: which one applies
|
|
146
|
+
// depends on the `__esmMode__` DI flag, which is not knowable at module-load time and can
|
|
147
|
+
// change between calls in a test process that flips it.
|
|
148
|
+
//
|
|
149
|
+
// Whether this scan is running over a directory the OPERATOR named, or one we guessed, is
|
|
150
|
+
// carried down to the `.js`-import-failure handler below rather than recomputed there: it is
|
|
151
|
+
// the same "configured vs fallback" split as the line above, and re-deriving it from `dirs`
|
|
152
|
+
// itself later would have to somehow tell "the operator configured exactly the default list"
|
|
153
|
+
// apart from "nothing was configured" - which is not recoverable once the two are merged.
|
|
154
|
+
const isConfigured = configured.length > 0;
|
|
155
|
+
const dirs = isConfigured ? configured : [...exports.DEFAULT_MIGRATION_DIRS, currentBuildMigrationDir()];
|
|
156
|
+
const env = (0, configuration_common_1.normalizeEnvironment)(this.Configuration.get('process.env.APP_ENV', undefined));
|
|
157
|
+
// `env` is interpolated straight into the glob below - an APP_ENV containing `{`, `[`, `!`,
|
|
158
|
+
// `*` or a path separator would stop being a literal tag and become pattern syntax, silently
|
|
159
|
+
// matching zero files (or the wrong ones) instead of the ones this environment owns. Refused
|
|
160
|
+
// rather than escaped: a deployment whose APP_ENV cannot be a plain identifier has a bigger
|
|
161
|
+
// problem than this scan, and failing loudly here is what surfaces it.
|
|
162
|
+
if (!exports.SAFE_ENV_NAME_REGEXP.test(env)) {
|
|
163
|
+
throw new exceptions_js_1.OrmException(`APP_ENV '${env}' is not a plain identifier ( letters, digits, '_' or '-' only ) and cannot be used to build the migration discovery glob safely - refusing to scan rather than silently matching the wrong files.`);
|
|
164
|
+
}
|
|
165
|
+
// `!(*.*)` - a basename with no dot at all, so it also excludes `*.d.ts` for free. `cjs` and
|
|
166
|
+
// `mjs` join `ts`/`js` because that is what this source's own default directories
|
|
167
|
+
// ( `lib/cjs/migrations`, `lib/mjs/migrations` ) actually contain - the same extension set
|
|
168
|
+
// `@spinajs/configuration`'s own config-file loader recognizes.
|
|
169
|
+
const patterns = ['/**/!(*.*).{ts,js,cjs,mjs}', `/**/*.${env}.{ts,js,cjs,mjs}`];
|
|
170
|
+
const files = lodash_1.default.uniq(dirs)
|
|
171
|
+
.filter((d) => {
|
|
172
|
+
if (fs.existsSync(d)) {
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
this.Log.trace(`Migration directory ${d} does not exist - skipped`);
|
|
176
|
+
return false;
|
|
177
|
+
})
|
|
178
|
+
.flatMap((d) => patterns.flatMap((p) => glob_1.default.sync(path.join(d, p).replace(/\\/g, '/'))))
|
|
179
|
+
.map((f) => path.normalize(path.resolve(f)));
|
|
180
|
+
const result = [];
|
|
181
|
+
// the same file is reachable from two configured directories ( `lib/migrations` and a path
|
|
182
|
+
// that resolves to it ), and importing it twice would report the same class twice
|
|
183
|
+
for (const file of lodash_1.default.uniq(files)) {
|
|
184
|
+
this.Log.trace(`Loading migration file ${file}`);
|
|
185
|
+
let module;
|
|
186
|
+
try {
|
|
187
|
+
module = (await di_1.DI.__spinajs_require__(file));
|
|
188
|
+
}
|
|
189
|
+
catch (err) {
|
|
190
|
+
if (path.extname(file) === '.ts') {
|
|
191
|
+
// reachable in normal operation: the default directories include `src/migrations`, so a
|
|
192
|
+
// compiled deployment tries the `.ts` copy of every migration and fails to import under
|
|
193
|
+
// a plain JS runtime. The `.js` copy is found by the same scan, so this is routine, not
|
|
194
|
+
// a problem - throwing would make a shipped default take the boot down
|
|
195
|
+
this.Log.trace(`Could not load migration file ${file}: ${err.message}`);
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
// a compiled migration ( `.js` - the only other extension the glob above ever emits ) that
|
|
199
|
+
// fails to import is not the same case as a `.ts` casualty above - a syntax error, a broken
|
|
200
|
+
// relative import, a module body that throws. Whether that is tolerated now depends on WHO
|
|
201
|
+
// named this directory:
|
|
202
|
+
//
|
|
203
|
+
// - a CONFIGURED directory is one the operator wrote into `system.dirs.migrations`
|
|
204
|
+
// themselves. A file in it that will not load is their bug, in a place they told us to
|
|
205
|
+
// look - swallowing it down to a warning would let discovery report "no pending
|
|
206
|
+
// migrations" and let a deployment proceed against an unmigrated schema, so this case is
|
|
207
|
+
// not tolerated: throw, with the original error chained so the stack survives.
|
|
208
|
+
// - a FALLBACK directory is one WE guessed ( `DEFAULT_MIGRATION_DIRS`, or the build dir
|
|
209
|
+
// `currentBuildMigrationDir()` picks ). Nobody asked us to scan it, so a file in it that
|
|
210
|
+
// fails to import is not our place to kill the boot over - warn loudly, naming the file
|
|
211
|
+
// and the fact that it was NOT registered, and move on to the rest of the scan.
|
|
212
|
+
if (isConfigured) {
|
|
213
|
+
throw new exceptions_js_1.OrmException(`Could not load migration file ${file}`, undefined, undefined, undefined, err);
|
|
214
|
+
}
|
|
215
|
+
this.Log.warn(err, `Could not load migration file ${file} from a fallback migration directory - this migration was NOT registered`);
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
for (const [name, exported] of Object.entries(module)) {
|
|
219
|
+
if (typeof exported !== 'function' || !(exported.prototype instanceof interfaces_js_1.OrmMigration)) {
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
const className = exported.name || name;
|
|
223
|
+
// The same anchor `parseMigrationFileEnv` reads a file's own tag through: a class whose
|
|
224
|
+
// name carries no `_yyyy_MM_dd_HH_mm_ss` timestamp is not a migration, however it got
|
|
225
|
+
// harvested - a shared abstract base class living directly in a scanned directory
|
|
226
|
+
// (`BaseSeedMigration.ts`), or a barrel (`index.ts`) that re-exports one from elsewhere.
|
|
227
|
+
// Without this gate, `Orm.registerMigration` throws on it later, naming this FILE - the
|
|
228
|
+
// barrel or the base class's own file, never a migration anyone meant to register - and
|
|
229
|
+
// takes the whole boot down. Skipped here instead, at trace.
|
|
230
|
+
if (!symbols_js_1.MIGRATION_FILE_REGEXP.test(className)) {
|
|
231
|
+
this.Log.trace(`${file} exports ${className}, which extends OrmMigration but carries no _yyyy_MM_dd_HH_mm_ss timestamp - not a migration, skipped`);
|
|
232
|
+
continue;
|
|
233
|
+
}
|
|
234
|
+
result.push({ file, name: className, type: exported });
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
return result;
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
exports.FilesystemMigrationSource = FilesystemMigrationSource;
|
|
241
|
+
__decorate([
|
|
242
|
+
(0, log_common_1.Logger)('ORM'),
|
|
243
|
+
__metadata("design:type", log_common_1.Log)
|
|
244
|
+
], FilesystemMigrationSource.prototype, "Log", void 0);
|
|
245
|
+
__decorate([
|
|
246
|
+
(0, di_1.Autoinject)(),
|
|
247
|
+
__metadata("design:type", configuration_common_1.Configuration)
|
|
248
|
+
], FilesystemMigrationSource.prototype, "Configuration", void 0);
|
|
249
|
+
exports.FilesystemMigrationSource = FilesystemMigrationSource = __decorate([
|
|
250
|
+
(0, di_1.Injectable)(MigrationSource)
|
|
251
|
+
], FilesystemMigrationSource);
|
|
252
|
+
/**
|
|
253
|
+
* Discovers migrations registered in the DI container under `__migrations__` - which is what the
|
|
254
|
+
* `@Migration` decorator does, so this covers every migration reached by IMPORT: a package
|
|
255
|
+
* re-exporting its migrations from `index.ts`, a test declaring one inline, or a file this
|
|
256
|
+
* process's `FilesystemMigrationSource` has just imported.
|
|
257
|
+
*
|
|
258
|
+
* The origin file is the path `@Migration` captured off the stack, and the sentinel
|
|
259
|
+
* `MIGRATION_DI_SOURCE` when that capture came back empty.
|
|
260
|
+
*/
|
|
261
|
+
let DiRegistryMigrationSource = class DiRegistryMigrationSource extends MigrationSource {
|
|
262
|
+
async getMigrations() {
|
|
263
|
+
const types = (di_1.DI.getRegisteredTypes('__migrations__') ?? []);
|
|
264
|
+
return types.map((type) => {
|
|
265
|
+
// chain-walking is fine here without being load-bearing: every entry in `__migrations__` is
|
|
266
|
+
// a class `@Migration()` was applied to directly, so "chain" and "own" always agree - see
|
|
267
|
+
// the note on `extractMigrationDescriptor`.
|
|
268
|
+
const descriptor = (0, descriptor_js_1.extractMigrationDescriptor)(type);
|
|
269
|
+
return { file: descriptor?.SourceFile ?? migration_environment_js_1.MIGRATION_DI_SOURCE, name: type.name, type };
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
exports.DiRegistryMigrationSource = DiRegistryMigrationSource;
|
|
274
|
+
exports.DiRegistryMigrationSource = DiRegistryMigrationSource = __decorate([
|
|
275
|
+
(0, di_1.Injectable)(MigrationSource)
|
|
276
|
+
], DiRegistryMigrationSource);
|
|
277
|
+
//# sourceMappingURL=migration-sources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-sources.js","sourceRoot":"","sources":["../../src/migration-sources.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/orm.d.ts
CHANGED
|
@@ -4,33 +4,79 @@ import { Log } from '@spinajs/log-common';
|
|
|
4
4
|
import { OrmMigration } from './interfaces.js';
|
|
5
5
|
import { ModelBase } from './model.js';
|
|
6
6
|
import { OrmDriver } from './driver.js';
|
|
7
|
+
import { MigrationRunner } from './migration-runner.js';
|
|
8
|
+
/**
|
|
9
|
+
* What `DI.resolve(Orm, [ ... ])` hands the Orm at construction - the same way a driver is
|
|
10
|
+
* handed its `IDriverOptions`. Not configuration: nothing here comes from a config file, because
|
|
11
|
+
* the one thing it controls has to be a property of THIS PROCESS rather than of the deployment.
|
|
12
|
+
*/
|
|
13
|
+
export interface IOrmOptions {
|
|
14
|
+
/**
|
|
15
|
+
* Run the boot migration pass - `Migration.up(undefined, { force: false })` and the `data()`
|
|
16
|
+
* phase that seeds whatever it applied? Defaults to true, and an ordinary application never
|
|
17
|
+
* passes it: leaving it out is what keeps `db.Connections[n].Migration.OnStartup` meaning what
|
|
18
|
+
* it says.
|
|
19
|
+
*
|
|
20
|
+
* `false` is for a process whose job is to operate ON the migrations - `@spinajs/orm-cli`
|
|
21
|
+
* passes it. Such a process needs everything else resolve() does ( connections, models,
|
|
22
|
+
* converters, `orm.Migration` ) but must not have the schema move underneath it as a side
|
|
23
|
+
* effect of booting: a boot pass that meets a FAILED row takes down even the command invoked
|
|
24
|
+
* to clear that row, and a boot pass that succeeds turns `migrate-status` from a report into a
|
|
25
|
+
* migration.
|
|
26
|
+
*
|
|
27
|
+
* It is deliberately not a `force` variation. `force` chooses whether the `OnStartup` gate is
|
|
28
|
+
* honoured, and both of its values RUN migrations - `force: false` runs every connection whose
|
|
29
|
+
* gate is on, which is exactly the set a migration tool must not touch on its way in.
|
|
30
|
+
*/
|
|
31
|
+
MigrateOnStartup?: boolean;
|
|
32
|
+
}
|
|
7
33
|
export declare class Orm extends AsyncService {
|
|
34
|
+
protected Options: IOrmOptions;
|
|
8
35
|
Models: Array<ClassInfo<ModelBase>>;
|
|
9
36
|
Migrations: Array<ClassInfo<OrmMigration>>;
|
|
10
37
|
Connections: Map<string, OrmDriver>;
|
|
38
|
+
/**
|
|
39
|
+
* Everything migration-related: `up`, `down`, `status`, `resolve`. Assigned in `resolve()`,
|
|
40
|
+
* once the connections it dispatches to exist - so it is only usable on a resolved Orm.
|
|
41
|
+
*/
|
|
42
|
+
Migration: MigrationRunner;
|
|
11
43
|
Container: Container;
|
|
12
44
|
protected Log: Log;
|
|
13
45
|
protected Configuration: Configuration;
|
|
14
46
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* @param name - migration file name
|
|
19
|
-
*/
|
|
20
|
-
migrateUp(name?: string, force?: boolean): Promise<OrmMigration[]>;
|
|
21
|
-
/**
|
|
22
|
-
*
|
|
23
|
-
* Migrates schema up ( fill function is not executed )
|
|
24
|
-
*
|
|
25
|
-
* @param name - migration file name
|
|
47
|
+
* `DI.resolve(Orm)` leaves this empty, which is every application: the defaults are the
|
|
48
|
+
* documented behaviour and nothing has to opt into them.
|
|
26
49
|
*/
|
|
27
|
-
|
|
50
|
+
constructor(Options?: IOrmOptions);
|
|
28
51
|
/**
|
|
29
52
|
* This function is exposed mainly for unit testing purposes. It reloads table information for models
|
|
30
53
|
* ORM always try to load table at resolve time
|
|
31
54
|
*/
|
|
32
55
|
reloadTableInfo(): Promise<void>;
|
|
33
56
|
resolve(): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Runs the `data()` hook of every migration that was just applied - the seeding pass, which
|
|
59
|
+
* happens after models and relations are wired because that is what it is allowed to use.
|
|
60
|
+
*
|
|
61
|
+
* Every hook runs even when an earlier one throws, and the failures are reported together.
|
|
62
|
+
* Stopping at the first one leaves the migrations after it unseeded while their schema is
|
|
63
|
+
* already applied and recorded, so a rerun will not retry them: their tracking rows say
|
|
64
|
+
* "applied", and nothing would ever mention the seeds that never ran.
|
|
65
|
+
*
|
|
66
|
+
* KNOWN LOSS, and it is the same shape one level up: `executed` is what THIS run applied, and
|
|
67
|
+
* this phase runs after the whole run. A run in which M1 applies and M2 throws never reaches
|
|
68
|
+
* here at all - and M1's schema is already recorded, so the next boot does not find it pending,
|
|
69
|
+
* it never enters `executed`, and `M1.data()` never runs on any boot. Nothing reports it: the
|
|
70
|
+
* migration is applied and `status()` is clean.
|
|
71
|
+
*
|
|
72
|
+
* Not fixed here, because the tracking table has no notion of "applied but unseeded" and
|
|
73
|
+
* inventing one would make the seed phase a second, weaker migration state machine - `data()`
|
|
74
|
+
* has no `down()`, no checksum and no failure row, so a "seeded" column would be a claim
|
|
75
|
+
* nothing could verify or undo. It is documented instead ( packages/orm/docs,
|
|
76
|
+
* 10-schema-and-migrations.md ), where the guidance is the one thing that actually holds:
|
|
77
|
+
* write `data()` so that running it again is harmless.
|
|
78
|
+
*/
|
|
79
|
+
protected runDataPhase(executed: OrmMigration[]): Promise<void>;
|
|
34
80
|
protected registerDefaultConverters(): void;
|
|
35
81
|
protected wireRelations(): void;
|
|
36
82
|
/**
|
|
@@ -43,6 +89,24 @@ export declare class Orm extends AsyncService {
|
|
|
43
89
|
* @param model - model to register
|
|
44
90
|
*/
|
|
45
91
|
protected registerModel<T extends ModelBase>(model: Class<T>): void;
|
|
92
|
+
/**
|
|
93
|
+
* Everything every `MigrationSource` found, reduced to the migrations this environment runs.
|
|
94
|
+
*
|
|
95
|
+
* Three passes, in this order and for a reason each:
|
|
96
|
+
*
|
|
97
|
+
* - env resolution happens per ENTRY, before anything is merged, because it is the entry's FILE
|
|
98
|
+
* that carries the suffix;
|
|
99
|
+
* - dedupe merges entries sharing a class name - the normal case, since a file discovered on
|
|
100
|
+
* disk is also registered through DI by the import that discovered it, and `src` and `lib`
|
|
101
|
+
* hold the same class twice;
|
|
102
|
+
* - filtering happens here rather than in `MigrationRunner.plan()` so a migration belonging to
|
|
103
|
+
* another environment never enters `Orm.Migrations` at all, and is therefore absent from
|
|
104
|
+
* `up`, `down` AND `status` alike.
|
|
105
|
+
*/
|
|
106
|
+
protected discoverMigrations(): Promise<Array<{
|
|
107
|
+
type: Class<OrmMigration>;
|
|
108
|
+
file: string;
|
|
109
|
+
}>>;
|
|
46
110
|
/**
|
|
47
111
|
*
|
|
48
112
|
* Register migration to ORM programatically so ORM can see it and use it. Sometimes dynamical migration discovery is not possible eg.
|
|
@@ -52,11 +116,9 @@ export declare class Orm extends AsyncService {
|
|
|
52
116
|
*
|
|
53
117
|
* @param model - model to register
|
|
54
118
|
*/
|
|
55
|
-
protected registerMigration<T extends OrmMigration>(migration: Class<T
|
|
119
|
+
protected registerMigration<T extends OrmMigration>(migration: Class<T>, file?: string): void;
|
|
56
120
|
private createConnections;
|
|
57
121
|
private applyModelMixins;
|
|
58
|
-
private getMigrationDate;
|
|
59
|
-
private executeAvaibleMigrations;
|
|
60
122
|
dispose(): Promise<void>;
|
|
61
123
|
}
|
|
62
124
|
//# sourceMappingURL=orm.d.ts.map
|
package/lib/cjs/orm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orm.d.ts","sourceRoot":"","sources":["../../src/orm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"orm.d.ts","sourceRoot":"","sources":["../../src/orm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAwB,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAc,SAAS,EAAE,KAAK,EAAkB,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAkB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAA8C,MAAM,YAAY,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,OAAO,EAAyB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAS/E;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;;;;OAgBG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,GAAI,SAAQ,YAAY;IA0BvB,SAAS,CAAC,OAAO,EAAE,WAAW;IAzBnC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAM;IAEzC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAM;IAEhD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAgC;IAE1E;;;OAGG;IACI,SAAS,EAAE,eAAe,CAAC;IAG3B,SAAS,EAAE,SAAS,CAAC;IAG5B,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAEvC;;;OAGG;gBACmB,OAAO,GAAE,WAAgB;IAI/C;;;OAGG;IACU,eAAe;IAqFf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA2DrC;;;;;;;;;;;;;;;;;;;;;OAqBG;cACa,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BrE,SAAS,CAAC,yBAAyB;IAanC,SAAS,CAAC,aAAa;IAyBvB;;;;;;;;OAQG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAQ5D;;;;;;;;;;;;;OAaG;cACa,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAsDjG;;;;;;;;OAQG;IACH,SAAS,CAAC,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM;YAkBxE,iBAAiB;IA2E/B,OAAO,CAAC,gBAAgB;IASX,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAMtC"}
|