sonamu 0.9.19 → 0.10.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/_virtual/_rolldown/runtime.js +36 -0
- package/dist/ai/agents/agent.js +5 -7
- package/dist/ai/agents/index.js +1 -2
- package/dist/ai/agents/types.js +1 -1
- package/dist/ai/index.js +1 -2
- package/dist/ai/providers/rtzr/api.js +2 -3
- package/dist/ai/providers/rtzr/error.js +14 -29
- package/dist/ai/providers/rtzr/index.js +1 -2
- package/dist/ai/providers/rtzr/model.js +13 -20
- package/dist/ai/providers/rtzr/options.js +2 -3
- package/dist/ai/providers/rtzr/provider.js +2 -3
- package/dist/ai/providers/rtzr/utils.js +12 -21
- package/dist/api/base-frame.js +4 -4
- package/dist/api/caster.js +21 -38
- package/dist/api/code-converters.js +41 -98
- package/dist/api/config.d.ts +1 -10
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +9 -8
- package/dist/api/context.js +2 -3
- package/dist/api/decorators.js +80 -116
- package/dist/api/index.js +2 -3
- package/dist/api/secret.js +6 -10
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +200 -387
- package/dist/api/validator.js +5 -8
- package/dist/api/websocket-helpers.js +21 -32
- package/dist/auth/audit-log/builders.js +2 -3
- package/dist/auth/audit-log/events.js +2 -2
- package/dist/auth/audit-log/plugin.js +30 -61
- package/dist/auth/audit-log-ingestor.js +19 -41
- package/dist/auth/auth-generator.js +16 -41
- package/dist/auth/better-auth-entities.js +3 -4
- package/dist/auth/index.js +2 -3
- package/dist/auth/knex-adapter.js +18 -45
- package/dist/auth/plugins/entity-definitions/admin.js +2 -2
- package/dist/auth/plugins/entity-definitions/anonymous.js +2 -2
- package/dist/auth/plugins/entity-definitions/api-key.js +2 -2
- package/dist/auth/plugins/entity-definitions/audit-log.js +2 -2
- package/dist/auth/plugins/entity-definitions/index.js +2 -3
- package/dist/auth/plugins/entity-definitions/jwt.js +2 -2
- package/dist/auth/plugins/entity-definitions/organization.js +2 -2
- package/dist/auth/plugins/entity-definitions/passkey.js +2 -2
- package/dist/auth/plugins/entity-definitions/phone-number.js +2 -2
- package/dist/auth/plugins/entity-definitions/sso.js +2 -2
- package/dist/auth/plugins/entity-definitions/two-factor.js +2 -2
- package/dist/auth/plugins/entity-definitions/types.js +1 -1
- package/dist/auth/plugins/entity-definitions/username.js +2 -2
- package/dist/auth/plugins/index.js +1 -2
- package/dist/auth/plugins/wrappers/admin.js +2 -3
- package/dist/auth/plugins/wrappers/anonymous.js +2 -3
- package/dist/auth/plugins/wrappers/api-key.js +2 -3
- package/dist/auth/plugins/wrappers/index.js +1 -2
- package/dist/auth/plugins/wrappers/jwt.js +2 -3
- package/dist/auth/plugins/wrappers/organization.js +2 -3
- package/dist/auth/plugins/wrappers/passkey.js +2 -3
- package/dist/auth/plugins/wrappers/phone-number.js +2 -3
- package/dist/auth/plugins/wrappers/sso.js +2 -3
- package/dist/auth/plugins/wrappers/two-factor.js +2 -3
- package/dist/auth/plugins/wrappers/username.js +2 -3
- package/dist/bin/build-config.js +2 -2
- package/dist/bin/cli.js +151 -258
- package/dist/bin/fixture.d.ts.map +1 -1
- package/dist/bin/fixture.js +55 -97
- package/dist/bin/hmr-hook-register.js +3 -3
- package/dist/bin/migrate-targets.d.ts +3 -0
- package/dist/bin/migrate-targets.d.ts.map +1 -0
- package/dist/bin/migrate-targets.js +11 -0
- package/dist/bin/test-command.js +25 -55
- package/dist/bin/ts-loader-register.js +5 -6
- package/dist/bin/ts-loader-registration.js +6 -13
- package/dist/cache/cache-manager.js +3 -4
- package/dist/cache/decorator.js +11 -21
- package/dist/cache/drivers.js +2 -3
- package/dist/cache/index.js +2 -3
- package/dist/cache/types.js +1 -1
- package/dist/cache-control/cache-control.js +21 -34
- package/dist/cache-control/types.js +1 -1
- package/dist/compress/compress.js +10 -10
- package/dist/compress/index.js +1 -2
- package/dist/compress/types.js +1 -1
- package/dist/cone/cone-generator.js +25 -63
- package/dist/database/_batch_update.js +26 -46
- package/dist/database/base-model.js +44 -97
- package/dist/database/base-model.types.js +1 -1
- package/dist/database/db.d.ts +8 -14
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +127 -72
- package/dist/database/knex.js +5 -8
- package/dist/database/puri-subset.types.js +1 -1
- package/dist/database/puri-wrapper.js +11 -15
- package/dist/database/puri.js +117 -234
- package/dist/database/puri.types.js +3 -4
- package/dist/database/transaction-context.js +4 -5
- package/dist/database/upsert-builder.js +109 -176
- package/dist/dict/en.d.ts +1 -0
- package/dist/dict/en.d.ts.map +1 -1
- package/dist/dict/en.js +4 -4
- package/dist/dict/index.js +2 -3
- package/dist/dict/ko.d.ts +1 -0
- package/dist/dict/ko.d.ts.map +1 -1
- package/dist/dict/ko.js +4 -4
- package/dist/dict/rc-keys.js +3 -4
- package/dist/dict/sd.js +8 -19
- package/dist/dict/sonamu-dictionary.js +141 -284
- package/dist/dict/types.js +1 -1
- package/dist/dict/utils.js +4 -5
- package/dist/entity/entity-manager.d.ts +2 -2
- package/dist/entity/entity-manager.js +34 -82
- package/dist/entity/entity-template-cone.js +33 -66
- package/dist/entity/entity.js +156 -310
- package/dist/env.d.ts +14 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +75 -0
- package/dist/exceptions/error-handler.js +2 -3
- package/dist/exceptions/so-exceptions.js +7 -5
- package/dist/filter/index.js +1 -2
- package/dist/filter/types.js +3 -4
- package/dist/filter/utils.js +21 -54
- package/dist/index.js +8 -7
- package/dist/logger/category.js +6 -12
- package/dist/logger/configure.js +23 -34
- package/dist/migration/code-generation.js +146 -314
- package/dist/migration/index-where-predicate.js +52 -144
- package/dist/migration/migration-set.js +19 -33
- package/dist/migration/migrator.d.ts +2 -0
- package/dist/migration/migrator.d.ts.map +1 -1
- package/dist/migration/migrator.js +69 -53
- package/dist/migration/postgresql-schema-reader.js +126 -225
- package/dist/migration/slack-confirm.d.ts +1 -0
- package/dist/migration/slack-confirm.d.ts.map +1 -1
- package/dist/migration/slack-confirm.js +28 -38
- package/dist/migration/types.js +1 -1
- package/dist/naite/messaging-types.js +1 -1
- package/dist/naite/naite-reporter.js +15 -32
- package/dist/naite/naite.js +43 -76
- package/dist/ssr/index.js +6 -9
- package/dist/ssr/registry.js +10 -18
- package/dist/ssr/renderer.js +10 -21
- package/dist/ssr/types.js +1 -1
- package/dist/storage/base-file.js +5 -10
- package/dist/storage/buffered-file.js +3 -4
- package/dist/storage/drivers.js +2 -3
- package/dist/storage/index.js +2 -3
- package/dist/storage/s3-driver.js +5 -9
- package/dist/storage/storage-manager.js +5 -5
- package/dist/storage/types.js +1 -1
- package/dist/storage/uploaded-file.js +4 -6
- package/dist/stream/index.js +1 -2
- package/dist/stream/sse.js +8 -13
- package/dist/stream/ws-audience-resolver.js +5 -5
- package/dist/stream/ws-audience.js +3 -4
- package/dist/stream/ws-cluster-bus.js +3 -4
- package/dist/stream/ws-core.js +1 -1
- package/dist/stream/ws-delivery.js +11 -25
- package/dist/stream/ws-local-connection-store.js +9 -18
- package/dist/stream/ws-presence-store.js +43 -97
- package/dist/stream/ws-registry.js +17 -22
- package/dist/stream/ws-telemetry-memory.js +38 -45
- package/dist/stream/ws-telemetry-trace.js +4 -6
- package/dist/stream/ws-telemetry.js +82 -135
- package/dist/stream/ws.js +47 -91
- package/dist/syncer/api-parser.js +81 -147
- package/dist/syncer/checksum.js +9 -20
- package/dist/syncer/code-generator.js +29 -47
- package/dist/syncer/entity-operations.js +17 -27
- package/dist/syncer/event-batcher.js +8 -15
- package/dist/syncer/file-patterns.js +3 -4
- package/dist/syncer/file-tracking.js +6 -10
- package/dist/syncer/index.js +1 -2
- package/dist/syncer/module-loader.js +10 -26
- package/dist/syncer/syncer-actions.js +19 -37
- package/dist/syncer/syncer.js +46 -98
- package/dist/syncer/watcher.js +12 -26
- package/dist/tasks/decorator.js +7 -11
- package/dist/tasks/step-wrapper.js +7 -8
- package/dist/tasks/workflow-manager.js +18 -25
- package/dist/template/entity-converter.js +40 -64
- package/dist/template/helpers.js +32 -63
- package/dist/template/implementations/entity.template.js +7 -11
- package/dist/template/implementations/entry-server.template.js +2 -3
- package/dist/template/implementations/generated.template.js +25 -51
- package/dist/template/implementations/generated_http.template.js +31 -58
- package/dist/template/implementations/generated_sso.template.js +45 -85
- package/dist/template/implementations/init_types.template.js +4 -7
- package/dist/template/implementations/model.template.js +5 -10
- package/dist/template/implementations/model_test.template.js +2 -3
- package/dist/template/implementations/queries.template.js +4 -7
- package/dist/template/implementations/sd.template.js +17 -35
- package/dist/template/implementations/services.template.js +18 -30
- package/dist/template/implementations/view_form.template.js +72 -125
- package/dist/template/implementations/view_id_all_select.template.js +2 -3
- package/dist/template/implementations/view_list.template.js +86 -143
- package/dist/template/implementations/view_search_input.template.js +2 -3
- package/dist/template/index.js +5 -8
- package/dist/template/template-manager.js +13 -26
- package/dist/template/template-types.js +2 -3
- package/dist/template/template.js +7 -11
- package/dist/template/zod-converter.js +173 -348
- package/dist/testing/_relation-graph.js +18 -37
- package/dist/testing/bootstrap.js +5 -8
- package/dist/testing/data-explorer.js +34 -78
- package/dist/testing/dev-test-routes.js +54 -60
- package/dist/testing/dev-vitest-manager.js +33 -84
- package/dist/testing/faker-mappings.js +3 -4
- package/dist/testing/fixture-generator.d.ts +2 -1
- package/dist/testing/fixture-generator.d.ts.map +1 -1
- package/dist/testing/fixture-generator.js +159 -321
- package/dist/testing/fixture-loader.js +2 -2
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +124 -227
- package/dist/testing/global-setup.d.ts.map +1 -1
- package/dist/testing/global-setup.js +29 -17
- package/dist/testing/index.js +1 -2
- package/dist/testing/naite-vitest-reporter.js +2 -3
- package/dist/testing/parallel-db-manager.js +5 -3
- package/dist/testing/vitest-helpers.d.ts.map +1 -1
- package/dist/testing/vitest-helpers.js +15 -12
- package/dist/types/types.d.ts +14 -14
- package/dist/types/types.js +27 -50
- package/dist/ui/ai-api.js +6 -11
- package/dist/ui/ai-client.js +86 -134
- package/dist/ui/api.js +99 -195
- package/dist/ui/cdd-service.js +78 -130
- package/dist/ui/cdd-types.js +1 -1
- package/dist/ui-web/assets/{index-Df8q-fhb.js → index-DFStGyd0.js} +49 -49
- package/dist/ui-web/assets/index-Dx4ap5i4.css +1 -0
- package/dist/ui-web/index.html +2 -2
- package/dist/utils/async-utils.js +13 -25
- package/dist/utils/class-name.js +3 -4
- package/dist/utils/console-util.js +11 -26
- package/dist/utils/controller.d.ts.map +1 -1
- package/dist/utils/controller.js +14 -12
- package/dist/utils/esm-utils.js +5 -8
- package/dist/utils/formatter.js +10 -22
- package/dist/utils/fs-utils.js +14 -25
- package/dist/utils/lodash-able.js +3 -4
- package/dist/utils/model.js +7 -14
- package/dist/utils/object-utils.js +41 -73
- package/dist/utils/path-utils.js +5 -9
- package/dist/utils/process-utils.js +4 -7
- package/dist/utils/sql-parser.js +6 -13
- package/dist/utils/type-utils.js +16 -26
- package/dist/utils/utils.js +18 -40
- package/dist/utils/zod-error.js +9 -16
- package/dist/vector/chunking.js +24 -37
- package/dist/vector/config.js +2 -2
- package/dist/vector/embedding.js +8 -19
- package/dist/vector/index.js +1 -2
- package/dist/vector/types.js +1 -1
- package/package.json +7 -7
- package/src/__tests__/env.test.ts +127 -0
- package/src/api/__tests__/config.test.ts +10 -1
- package/src/api/config.ts +4 -12
- package/src/api/sonamu.ts +14 -4
- package/src/bin/__tests__/migrate-targets.test.ts +28 -0
- package/src/bin/__tests__/test-command.test.ts +82 -1
- package/src/bin/cli.ts +9 -18
- package/src/bin/fixture.ts +5 -4
- package/src/bin/migrate-targets.ts +7 -0
- package/src/bin/test-command.ts +2 -2
- package/src/database/__tests__/db.test.ts +175 -0
- package/src/database/db.ts +193 -71
- package/src/dict/en.ts +2 -0
- package/src/dict/ko.ts +2 -0
- package/src/env.ts +123 -0
- package/src/migration/__tests__/migrator.test.ts +149 -0
- package/src/migration/migrator.ts +74 -17
- package/src/migration/slack-confirm.ts +21 -0
- package/src/skills/sonamu/database.md +1 -1
- package/src/skills/sonamu/entity-basic.md +31 -0
- package/src/skills/sonamu/puri.md +22 -0
- package/src/skills/sonamu/testing-devrunner.md +1 -1
- package/src/skills/sonamu/upsert.md +53 -6
- package/src/stream/ws-telemetry-memory.ts +2 -2
- package/src/testing/fixture-generator.ts +2 -1
- package/src/testing/fixture-manager.ts +3 -4
- package/src/testing/global-setup.ts +42 -18
- package/src/testing/vitest-helpers.ts +14 -0
- package/src/utils/controller.ts +14 -7
- package/tsdown.api.config.ts +6 -0
- package/dist/_virtual/rolldown_runtime.js +0 -39
- package/dist/ui-web/assets/index-D4rYm-Xz.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-setup.d.ts","sourceRoot":"","sources":["../../src/testing/global-setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"global-setup.d.ts","sourceRoot":"","sources":["../../src/testing/global-setup.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,uCAwChC;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,oCAAsB,CAAC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import { DB, init_db } from "../database/db.js";
|
|
1
2
|
import { init_config, loadConfig } from "../api/config.js";
|
|
2
3
|
import { ParallelDBManager } from "./parallel-db-manager.js";
|
|
3
|
-
|
|
4
4
|
//#region src/testing/global-setup.ts
|
|
5
5
|
init_config();
|
|
6
|
+
init_db();
|
|
7
|
+
function restoreProcessEnv(snapshot) {
|
|
8
|
+
for (const key of Object.keys(process.env)) if (!(key in snapshot)) delete process.env[key];
|
|
9
|
+
for (const [key, value] of Object.entries(snapshot)) process.env[key] = value;
|
|
10
|
+
}
|
|
6
11
|
/**
|
|
7
12
|
* vitest globalSetup 함수를 생성합니다.
|
|
8
13
|
* sonamu.config.ts의 test 설정을 읽어서 병렬 테스트 환경을 구성합니다.
|
|
@@ -21,24 +26,31 @@ init_config();
|
|
|
21
26
|
* ```
|
|
22
27
|
*/
|
|
23
28
|
function createGlobalSetup() {
|
|
24
|
-
return async function setup
|
|
29
|
+
return async function setup() {
|
|
25
30
|
const { findApiRootPath } = await import("../utils/utils.js");
|
|
26
31
|
const rootPath = findApiRootPath();
|
|
32
|
+
const envBeforeConfigLoad = { ...process.env };
|
|
27
33
|
const config = await loadConfig(rootPath);
|
|
28
|
-
|
|
29
|
-
return async function teardown() {};
|
|
34
|
+
try {
|
|
35
|
+
if (!config.test?.parallel) return async function teardown() {};
|
|
36
|
+
const maxWorkers = config.test.maxWorkers ?? 4;
|
|
37
|
+
const testConnection = DB.generateDBConfig(config.database, config.projectName).test.connection;
|
|
38
|
+
const templateDb = testConnection.database;
|
|
39
|
+
const adminConnection = {
|
|
40
|
+
...testConnection,
|
|
41
|
+
database: "postgres"
|
|
42
|
+
};
|
|
43
|
+
const manager = new ParallelDBManager(maxWorkers, {
|
|
44
|
+
client: config.database.database ?? "pg",
|
|
45
|
+
connection: adminConnection
|
|
46
|
+
}, templateDb);
|
|
47
|
+
await manager.createWorkerDatabases();
|
|
48
|
+
return async function teardown() {
|
|
49
|
+
await manager.dropWorkerDatabases();
|
|
50
|
+
};
|
|
51
|
+
} finally {
|
|
52
|
+
restoreProcessEnv(envBeforeConfigLoad);
|
|
30
53
|
}
|
|
31
|
-
const maxWorkers = config.test.maxWorkers ?? 4;
|
|
32
|
-
const templateDb = `${config.database.name}_test`;
|
|
33
|
-
const connectionConfig = {
|
|
34
|
-
client: config.database.database ?? "pg",
|
|
35
|
-
connection: config.database.environments?.test?.connection ?? config.database.defaultOptions.connection
|
|
36
|
-
};
|
|
37
|
-
const manager = new ParallelDBManager(maxWorkers, connectionConfig, templateDb);
|
|
38
|
-
await manager.createWorkerDatabases();
|
|
39
|
-
return async function teardown() {
|
|
40
|
-
await manager.dropWorkerDatabases();
|
|
41
|
-
};
|
|
42
54
|
};
|
|
43
55
|
}
|
|
44
56
|
/**
|
|
@@ -52,7 +64,7 @@ function createGlobalSetup() {
|
|
|
52
64
|
* ```
|
|
53
65
|
*/
|
|
54
66
|
const setup = createGlobalSetup();
|
|
55
|
-
|
|
56
67
|
//#endregion
|
|
57
68
|
export { createGlobalSetup, setup };
|
|
58
|
-
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXNldHVwLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0aW5nL2dsb2JhbC1zZXR1cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsb2FkQ29uZmlnIH0gZnJvbSBcIi4uL2FwaS9jb25maWdcIjtcbmltcG9ydCB7IERCIH0gZnJvbSBcIi4uL2RhdGFiYXNlL2RiXCI7XG5pbXBvcnQgeyBQYXJhbGxlbERCTWFuYWdlciB9IGZyb20gXCIuL3BhcmFsbGVsLWRiLW1hbmFnZXJcIjtcblxuZnVuY3Rpb24gcmVzdG9yZVByb2Nlc3NFbnYoc25hcHNob3Q6IE5vZGVKUy5Qcm9jZXNzRW52KTogdm9pZCB7XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHByb2Nlc3MuZW52KSkge1xuICAgIGlmICghKGtleSBpbiBzbmFwc2hvdCkpIHtcbiAgICAgIGRlbGV0ZSBwcm9jZXNzLmVudltrZXldO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHNuYXBzaG90KSkge1xuICAgIHByb2Nlc3MuZW52W2tleV0gPSB2YWx1ZTtcbiAgfVxufVxuXG4vKipcbiAqIHZpdGVzdCBnbG9iYWxTZXR1cCDtlajsiJjrpbwg7IOd7ISx7ZWp64uI64ukLlxuICogc29uYW11LmNvbmZpZy50c+ydmCB0ZXN0IOyEpOygleydhCDsnb3slrTshJwg67OR66CsIO2FjOyKpO2KuCDtmZjqsr3snYQg6rWs7ISx7ZWp64uI64ukLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBzcmMvdGVzdGluZy9nbG9iYWwudHNcbiAqIGV4cG9ydCB7IHNldHVwIH0gZnJvbSBcInNvbmFtdS90ZXN0XCI7XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gc3JjL3Rlc3RpbmcvZ2xvYmFsLnRzXG4gKiBpbXBvcnQgeyBjcmVhdGVHbG9iYWxTZXR1cCB9IGZyb20gXCJzb25hbXUvdGVzdFwiO1xuICogZXhwb3J0IGNvbnN0IHNldHVwID0gY3JlYXRlR2xvYmFsU2V0dXAoeyByb290UGF0aDogcHJvY2Vzcy5jd2QoKSB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR2xvYmFsU2V0dXAoKSB7XG4gIHJldHVybiBhc3luYyBmdW5jdGlvbiBzZXR1cCgpIHtcbiAgICBjb25zdCB7IGZpbmRBcGlSb290UGF0aCB9ID0gYXdhaXQgaW1wb3J0KFwiLi4vdXRpbHMvdXRpbHNcIik7XG4gICAgY29uc3Qgcm9vdFBhdGggPSBmaW5kQXBpUm9vdFBhdGgoKTtcbiAgICBjb25zdCBlbnZCZWZvcmVDb25maWdMb2FkID0geyAuLi5wcm9jZXNzLmVudiB9O1xuICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IGxvYWRDb25maWcocm9vdFBhdGgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIOuzkeugrCDthYzsiqTtirjqsIAg67mE7Zmc7ISx7ZmU65CcIOqyveyasCDslYTrrLTqsoPrj4Qg7ZWY7KeAIOyViuydjFxuICAgICAgaWYgKCFjb25maWcudGVzdD8ucGFyYWxsZWwpIHtcbiAgICAgICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHRlYXJkb3duKCkge1xuICAgICAgICAgIC8vIG5vLW9wXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1heFdvcmtlcnMgPSBjb25maWcudGVzdC5tYXhXb3JrZXJzID8/IDQ7XG4gICAgICBjb25zdCBkYkNvbmZpZyA9IERCLmdlbmVyYXRlREJDb25maWcoY29uZmlnLmRhdGFiYXNlLCBjb25maWcucHJvamVjdE5hbWUpO1xuICAgICAgY29uc3QgdGVzdENvbm5lY3Rpb24gPSBkYkNvbmZpZy50ZXN0LmNvbm5lY3Rpb247XG4gICAgICBjb25zdCB0ZW1wbGF0ZURiID0gKHRlc3RDb25uZWN0aW9uIGFzIHsgZGF0YWJhc2U6IHN0cmluZyB9KS5kYXRhYmFzZTtcblxuICAgICAgY29uc3QgYWRtaW5Db25uZWN0aW9uID0ge1xuICAgICAgICAuLi4odGVzdENvbm5lY3Rpb24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLFxuICAgICAgICBkYXRhYmFzZTogXCJwb3N0Z3Jlc1wiLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgY29ubmVjdGlvbkNvbmZpZyA9IHtcbiAgICAgICAgY2xpZW50OiBjb25maWcuZGF0YWJhc2UuZGF0YWJhc2UgPz8gKFwicGdcIiBhcyBjb25zdCksXG4gICAgICAgIGNvbm5lY3Rpb246IGFkbWluQ29ubmVjdGlvbixcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG1hbmFnZXIgPSBuZXcgUGFyYWxsZWxEQk1hbmFnZXIobWF4V29ya2VycywgY29ubmVjdGlvbkNvbmZpZywgdGVtcGxhdGVEYik7XG4gICAgICBhd2FpdCBtYW5hZ2VyLmNyZWF0ZVdvcmtlckRhdGFiYXNlcygpO1xuXG4gICAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gdGVhcmRvd24oKSB7XG4gICAgICAgIGF3YWl0IG1hbmFnZXIuZHJvcFdvcmtlckRhdGFiYXNlcygpO1xuICAgICAgfTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgcmVzdG9yZVByb2Nlc3NFbnYoZW52QmVmb3JlQ29uZmlnTG9hZCk7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIOq4sOuzuCBnbG9iYWxTZXR1cCDtlajsiJjsnoXri4jri6QuXG4gKiBzb25hbXUuY29uZmlnLnRz7J2YIHRlc3Qg7ISk7KCV7J2EIOydveyWtOyEnCDrs5HroKwg7YWM7Iqk7Yq4IO2ZmOqyveydhCDqtazshLHtlanri4jri6QuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIHNyYy90ZXN0aW5nL2dsb2JhbC50c1xuICogZXhwb3J0IHsgc2V0dXAgfSBmcm9tIFwic29uYW11L3Rlc3RcIjtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3Qgc2V0dXAgPSBjcmVhdGVHbG9iYWxTZXR1cCgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7O1lBQTBDO1FBQ1A7QUFHbkMsU0FBUyxrQkFBa0IsVUFBbUM7Q0FDNUQsS0FBSyxNQUFNLE9BQU8sT0FBTyxLQUFLLFFBQVEsR0FBRyxHQUN2QyxJQUFJLEVBQUUsT0FBTyxXQUNYLE9BQU8sUUFBUSxJQUFJO0NBSXZCLEtBQUssTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPLFFBQVEsUUFBUSxHQUNoRCxRQUFRLElBQUksT0FBTztBQUV2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUJBLFNBQWdCLG9CQUFvQjtDQUNsQyxPQUFPLGVBQWUsUUFBUTtFQUM1QixNQUFNLEVBQUUsb0JBQW9CLE1BQU0sT0FBTztFQUN6QyxNQUFNLFdBQVcsZ0JBQWdCO0VBQ2pDLE1BQU0sc0JBQXNCLEVBQUUsR0FBRyxRQUFRLElBQUk7RUFDN0MsTUFBTSxTQUFTLE1BQU0sV0FBVyxRQUFRO0VBRXhDLElBQUk7R0FFRixJQUFJLENBQUMsT0FBTyxNQUFNLFVBQ2hCLE9BQU8sZUFBZSxXQUFXLENBRWpDO0dBR0YsTUFBTSxhQUFhLE9BQU8sS0FBSyxjQUFjO0dBRTdDLE1BQU0saUJBRFcsR0FBRyxpQkFBaUIsT0FBTyxVQUFVLE9BQU8sV0FDdEMsQ0FBQSxDQUFTLEtBQUs7R0FDckMsTUFBTSxhQUFjLGVBQXdDO0dBRTVELE1BQU0sa0JBQWtCO0lBQ3RCLEdBQUk7SUFDSixVQUFVO0dBQ1o7R0FPQSxNQUFNLFVBQVUsSUFBSSxrQkFBa0IsWUFBWTtJQUpoRCxRQUFRLE9BQU8sU0FBUyxZQUFhO0lBQ3JDLFlBQVk7R0FHb0MsR0FBa0IsVUFBVTtHQUM5RSxNQUFNLFFBQVEsc0JBQXNCO0dBRXBDLE9BQU8sZUFBZSxXQUFXO0lBQy9CLE1BQU0sUUFBUSxvQkFBb0I7R0FDcEM7RUFDRixVQUFVO0dBQ1Isa0JBQWtCLG1CQUFtQjtFQUN2QztDQUNGO0FBQ0Y7Ozs7Ozs7Ozs7O0FBWUEsTUFBYSxRQUFRLGtCQUFrQiJ9
|
package/dist/testing/index.js
CHANGED
|
@@ -8,13 +8,12 @@ import { ParallelDBManager } from "./parallel-db-manager.js";
|
|
|
8
8
|
import { createGlobalSetup, setup } from "./global-setup.js";
|
|
9
9
|
import { NaiteVitestReporter } from "./naite-vitest-reporter.js";
|
|
10
10
|
import { getSonamuTestConfig } from "./vitest-helpers.js";
|
|
11
|
-
|
|
12
11
|
//#region src/testing/index.ts
|
|
13
12
|
init_data_explorer();
|
|
14
13
|
init_dev_vitest_manager();
|
|
15
14
|
init_fixture_generator();
|
|
16
15
|
init_fixture_manager();
|
|
17
|
-
|
|
18
16
|
//#endregion
|
|
19
17
|
export { DataExplorer, DevVitestManager, FixtureGenerator, FixtureManager, FixtureManagerClass, NaiteVitestReporter, ParallelDBManager, bootstrap, createFixtureLoader, createGlobalSetup, getSonamuTestConfig, runWithContext, runWithMockContext, setup, test, testAs };
|
|
18
|
+
|
|
20
19
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYm9vdHN0cmFwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhLWV4cGxvcmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZXYtdml0ZXN0LW1hbmFnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZpeHR1cmUtZ2VuZXJhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9maXh0dXJlLWxvYWRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZml4dHVyZS1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9nbG9iYWwtc2V0dXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25haXRlLXZpdGVzdC1yZXBvcnRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGFyYWxsZWwtZGItbWFuYWdlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdml0ZXN0LWhlbHBlcnNcIjtcbiJdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { NaiteReporter } from "../naite/naite-reporter.js";
|
|
2
|
-
|
|
3
2
|
//#region src/testing/naite-vitest-reporter.ts
|
|
4
3
|
/**
|
|
5
4
|
* Naite Vitest Reporter
|
|
@@ -16,7 +15,7 @@ const NaiteVitestReporter = {
|
|
|
16
15
|
await NaiteReporter.endTestRun();
|
|
17
16
|
}
|
|
18
17
|
};
|
|
19
|
-
|
|
20
18
|
//#endregion
|
|
21
19
|
export { NaiteVitestReporter };
|
|
22
|
-
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFpdGUtdml0ZXN0LXJlcG9ydGVyLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0aW5nL25haXRlLXZpdGVzdC1yZXBvcnRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYWl0ZVJlcG9ydGVyIH0gZnJvbSBcIi4uL25haXRlL25haXRlLXJlcG9ydGVyXCI7XG5cbi8qKlxuICogTmFpdGUgVml0ZXN0IFJlcG9ydGVyXG4gKlxuICog7YWM7Iqk7Yq4IOufsCDsi5zsnpEv7KKF66OM66W8IOygle2Zle2eiCDqsJDsp4DtlZjsl6wgTmFpdGVSZXBvcnRlcuyXkCDslYzrpr3ri4jri6QuXG4gKiAtIG9uVGVzdFJ1blN0YXJ0OiDthYzsiqTtirgg65+wIOyLnOyekSDsi5wgKOyyqyDsi6Ttlokg67CPIHdhdGNoIOyerOyLpO2WiSDtj6ztlagpXG4gKiAtIG9uVGVzdFJ1bkVuZDog6rCBIOufsCDsooXro4wg7IucXG4gKi9cbmV4cG9ydCBjb25zdCBOYWl0ZVZpdGVzdFJlcG9ydGVyID0ge1xuICBhc3luYyBvblRlc3RSdW5TdGFydCgpIHtcbiAgICBhd2FpdCBOYWl0ZVJlcG9ydGVyLnN0YXJ0VGVzdFJ1bigpO1xuICB9LFxuXG4gIGFzeW5jIG9uVGVzdFJ1bkVuZCgpIHtcbiAgICBhd2FpdCBOYWl0ZVJlcG9ydGVyLmVuZFRlc3RSdW4oKTtcbiAgfSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVNBLE1BQWEsc0JBQXNCO0NBQ2pDLE1BQU0saUJBQWlCO0VBQ3JCLE1BQU0sY0FBYyxhQUFhO0NBQ25DO0NBRUEsTUFBTSxlQUFlO0VBQ25CLE1BQU0sY0FBYyxXQUFXO0NBQ2pDO0FBQ0YifQ==
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { createKnexInstance, init_knex } from "../database/knex.js";
|
|
2
|
-
|
|
3
2
|
//#region src/testing/parallel-db-manager.ts
|
|
4
3
|
init_knex();
|
|
5
4
|
/**
|
|
@@ -9,6 +8,9 @@ init_knex();
|
|
|
9
8
|
* 템플릿 DB에서 worker 수만큼 테스트 DB를 복제/삭제합니다.
|
|
10
9
|
*/
|
|
11
10
|
var ParallelDBManager = class {
|
|
11
|
+
maxWorkers;
|
|
12
|
+
dbConfig;
|
|
13
|
+
templateDb;
|
|
12
14
|
constructor(maxWorkers, dbConfig, templateDb) {
|
|
13
15
|
this.maxWorkers = maxWorkers;
|
|
14
16
|
this.dbConfig = dbConfig;
|
|
@@ -67,7 +69,7 @@ var ParallelDBManager = class {
|
|
|
67
69
|
return process.env.SONAMU_WORKER_DB === "true";
|
|
68
70
|
}
|
|
69
71
|
};
|
|
70
|
-
|
|
71
72
|
//#endregion
|
|
72
73
|
export { ParallelDBManager };
|
|
73
|
-
|
|
74
|
+
|
|
75
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwtZGItbWFuYWdlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGluZy9wYXJhbGxlbC1kYi1tYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgS25leCB9IGZyb20gXCJrbmV4XCI7XG5cbmltcG9ydCB7IGNyZWF0ZUtuZXhJbnN0YW5jZSB9IGZyb20gXCIuLi9kYXRhYmFzZS9rbmV4XCI7XG5cbi8qKlxuICog67OR66CsIO2FjOyKpO2KuOulvCDsnITtlZwgV29ya2Vy67OEIERCIOq0gOumrCDtgbTrnpjsiqTsnoXri4jri6QuXG4gKlxuICogVml0ZXN07J2YIGdsb2JhbFNldHVwL2dsb2JhbFRlYXJkb3du7JeQ7IScIOyCrOyaqe2VmOyXrFxuICog7YWc7ZSM66a/IERC7JeQ7IScIHdvcmtlciDsiJjrp4ztgbwg7YWM7Iqk7Yq4IERC66W8IOuzteygnC/sgq3soJztlanri4jri6QuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXJhbGxlbERCTWFuYWdlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWF4V29ya2VyczogbnVtYmVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGJDb25maWc6IEtuZXguQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGVEYjogc3RyaW5nLFxuICApIHt9XG4gIC8qKlxuICAgKiBXb3JrZXLrs4Qg7YWM7Iqk7Yq4IERC66W8IO2FnO2UjOumv+yXkOyEnCDrs7XsoJztlZjsl6wg7IOd7ISx7ZWp64uI64ukLlxuICAgKiBnbG9iYWxTZXR1cOyXkOyEnCDtmLjstpzrkKnri4jri6QuXG4gICAqL1xuICBhc3luYyBjcmVhdGVXb3JrZXJEYXRhYmFzZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gcG9zdGdyZXMgRELsl5Ag7Jew6rKw7ZWY7JesIENSRUFURSBEQVRBQkFTRSDsi6TtlolcbiAgICBjb25zdCBhZG1pbkRiID0gY3JlYXRlS25leEluc3RhbmNlKHtcbiAgICAgIC4uLnRoaXMuZGJDb25maWcsXG4gICAgfSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgd29ya2VyRGJOYW1lcyA9IEFycmF5LmZyb20oXG4gICAgICAgIHsgbGVuZ3RoOiB0aGlzLm1heFdvcmtlcnMgfSxcbiAgICAgICAgKF8sIGkpID0+IGAke3RoaXMudGVtcGxhdGVEYn1fJHtpICsgMX1gLFxuICAgICAgKTtcblxuICAgICAgLy8gMS4g6riw7KG0IOyXsOqysCDsooXro4wgKOuzkeugrCkgd29ya2VyIERCICsgdGVtcGxhdGUgREIgKFBHIDE47JeQ7IScIEZJTEVfQ09QWSDsi5wgdGVtcGxhdGXsl5AgZXhjbHVzaXZlIGFjY2VzcyDtlYTsmpQpXG4gICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgWy4uLndvcmtlckRiTmFtZXMsIHRoaXMudGVtcGxhdGVEYl0ubWFwKChkYk5hbWUpID0+XG4gICAgICAgICAgYWRtaW5EYi5yYXcoXG4gICAgICAgICAgICBgXG4gICAgICAgICAgICBTRUxFQ1QgcGdfdGVybWluYXRlX2JhY2tlbmQocGdfc3RhdF9hY3Rpdml0eS5waWQpXG4gICAgICAgICAgICBGUk9NIHBnX3N0YXRfYWN0aXZpdHlcbiAgICAgICAgICAgIFdIRVJFIHBnX3N0YXRfYWN0aXZpdHkuZGF0bmFtZSA9ID9cbiAgICAgICAgICAgIEFORCBwaWQgPD4gcGdfYmFja2VuZF9waWQoKVxuICAgICAgICAgIGAsXG4gICAgICAgICAgICBbZGJOYW1lXSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKTtcblxuICAgICAgLy8gMi4g6riw7KG0IERCIOyCreygnCAo67OR66CsKVxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIHdvcmtlckRiTmFtZXMubWFwKChkYk5hbWUpID0+IGFkbWluRGIucmF3KGBEUk9QIERBVEFCQVNFIElGIEVYSVNUUyBcIiR7ZGJOYW1lfVwiYCkpLFxuICAgICAgKTtcblxuICAgICAgLy8gMy4g7YWc7ZSM66a/7JeQ7IScIOuzteygnCAo67OR66CsKVxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIHdvcmtlckRiTmFtZXMubWFwKChkYk5hbWUpID0+XG4gICAgICAgICAgYWRtaW5EYi5yYXcoXG4gICAgICAgICAgICBgQ1JFQVRFIERBVEFCQVNFIFwiJHtkYk5hbWV9XCIgVEVNUExBVEUgXCIke3RoaXMudGVtcGxhdGVEYn1cIiBTVFJBVEVHWSBGSUxFX0NPUFlgLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBhZG1pbkRiLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICog7IOd7ISx7ZWcIFdvcmtlciBEQuuTpOydhCDsgq3soJztlanri4jri6QuXG4gICAqIGdsb2JhbFRlYXJkb3du7JeQ7IScIO2YuOy2nOuQqeuLiOuLpC5cbiAgICovXG4gIGFzeW5jIGRyb3BXb3JrZXJEYXRhYmFzZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYWRtaW5EYiA9IGNyZWF0ZUtuZXhJbnN0YW5jZSh7XG4gICAgICAuLi50aGlzLmRiQ29uZmlnLFxuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHdvcmtlckRiTmFtZXMgPSBBcnJheS5mcm9tKFxuICAgICAgICB7IGxlbmd0aDogdGhpcy5tYXhXb3JrZXJzIH0sXG4gICAgICAgIChfLCBpKSA9PiBgJHt0aGlzLnRlbXBsYXRlRGJ9XyR7aSArIDF9YCxcbiAgICAgICk7XG5cbiAgICAgIC8vIOyXsOqysCDsooXro4wgKOuzkeugrClcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICB3b3JrZXJEYk5hbWVzLm1hcCgoZGJOYW1lKSA9PlxuICAgICAgICAgIGFkbWluRGIucmF3KFxuICAgICAgICAgICAgYFxuICAgICAgICAgICAgU0VMRUNUIHBnX3Rlcm1pbmF0ZV9iYWNrZW5kKHBnX3N0YXRfYWN0aXZpdHkucGlkKVxuICAgICAgICAgICAgRlJPTSBwZ19zdGF0X2FjdGl2aXR5XG4gICAgICAgICAgICBXSEVSRSBwZ19zdGF0X2FjdGl2aXR5LmRhdG5hbWUgPSA/XG4gICAgICAgICAgICBBTkQgcGlkIDw+IHBnX2JhY2tlbmRfcGlkKClcbiAgICAgICAgICBgLFxuICAgICAgICAgICAgW2RiTmFtZV0sXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG5cbiAgICAgIC8vIERCIOyCreygnCAo67OR66CsKVxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIHdvcmtlckRiTmFtZXMubWFwKChkYk5hbWUpID0+IGFkbWluRGIucmF3KGBEUk9QIERBVEFCQVNFIElGIEVYSVNUUyBcIiR7ZGJOYW1lfVwiYCkpLFxuICAgICAgKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgYWRtaW5EYi5kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIO2YhOyerCBXb3JrZXLsnZggSUTrpbwg67CY7ZmY7ZWp64uI64ukLlxuICAgKiBWaXRlc3TripQgVklURVNUX1BPT0xfSUQg7ZmY6rK967OA7IiY66GcIHdvcmtlcuulvCDsi53rs4Ttlanri4jri6QuXG4gICAqL1xuICBnZXRXb3JrZXJJZCgpOiBudW1iZXIge1xuICAgIC8vIFZJVEVTVF9QT09MX0lE64qUIDHrtoDthLAg7Iuc7J6RXG4gICAgcmV0dXJuIHBhcnNlSW50KHByb2Nlc3MuZW52LlZJVEVTVF9QT09MX0lEID8/IFwiMVwiLCAxMCk7XG4gIH1cblxuICAvKipcbiAgICog67OR66CsIO2FjOyKpO2KuCDrqqjrk5zsnbjsp4Ag7ZmV7J247ZWp64uI64ukLlxuICAgKi9cbiAgaXNQYXJhbGxlbE1vZGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHByb2Nlc3MuZW52LlNPTkFNVV9XT1JLRVJfREIgPT09IFwidHJ1ZVwiO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O1VBRXFEOzs7Ozs7O0FBUXJELElBQWEsb0JBQWIsTUFBK0I7Q0FFVjtDQUNBO0NBQ0E7Q0FIbkIsWUFDRSxZQUNBLFVBQ0EsWUFDQTtFQUhpQixLQUFBLGFBQUE7RUFDQSxLQUFBLFdBQUE7RUFDQSxLQUFBLGFBQUE7Q0FDaEI7Ozs7O0NBS0gsTUFBTSx3QkFBdUM7RUFFM0MsTUFBTSxVQUFVLG1CQUFtQixFQUNqQyxHQUFHLEtBQUssU0FDVixDQUFDO0VBRUQsSUFBSTtHQUNGLE1BQU0sZ0JBQWdCLE1BQU0sS0FDMUIsRUFBRSxRQUFRLEtBQUssV0FBVyxJQUN6QixHQUFHLE1BQU0sR0FBRyxLQUFLLFdBQVcsR0FBRyxJQUFJLEdBQ3RDO0dBR0EsTUFBTSxRQUFRLElBQ1osQ0FBQyxHQUFHLGVBQWUsS0FBSyxVQUFVLENBQUMsQ0FBQyxLQUFLLFdBQ3ZDLFFBQVEsSUFDTjs7Ozs7YUFNQSxDQUFDLE1BQU0sQ0FDVCxDQUNGLENBQ0Y7R0FHQSxNQUFNLFFBQVEsSUFDWixjQUFjLEtBQUssV0FBVyxRQUFRLElBQUksNEJBQTRCLE9BQU8sRUFBRSxDQUFDLENBQ2xGO0dBR0EsTUFBTSxRQUFRLElBQ1osY0FBYyxLQUFLLFdBQ2pCLFFBQVEsSUFDTixvQkFBb0IsT0FBTyxjQUFjLEtBQUssV0FBVyxxQkFDM0QsQ0FDRixDQUNGO0VBQ0YsVUFBVTtHQUNSLE1BQU0sUUFBUSxRQUFRO0VBQ3hCO0NBQ0Y7Ozs7O0NBTUEsTUFBTSxzQkFBcUM7RUFDekMsTUFBTSxVQUFVLG1CQUFtQixFQUNqQyxHQUFHLEtBQUssU0FDVixDQUFDO0VBRUQsSUFBSTtHQUNGLE1BQU0sZ0JBQWdCLE1BQU0sS0FDMUIsRUFBRSxRQUFRLEtBQUssV0FBVyxJQUN6QixHQUFHLE1BQU0sR0FBRyxLQUFLLFdBQVcsR0FBRyxJQUFJLEdBQ3RDO0dBR0EsTUFBTSxRQUFRLElBQ1osY0FBYyxLQUFLLFdBQ2pCLFFBQVEsSUFDTjs7Ozs7YUFNQSxDQUFDLE1BQU0sQ0FDVCxDQUNGLENBQ0Y7R0FHQSxNQUFNLFFBQVEsSUFDWixjQUFjLEtBQUssV0FBVyxRQUFRLElBQUksNEJBQTRCLE9BQU8sRUFBRSxDQUFDLENBQ2xGO0VBQ0YsVUFBVTtHQUNSLE1BQU0sUUFBUSxRQUFRO0VBQ3hCO0NBQ0Y7Ozs7O0NBTUEsY0FBc0I7RUFFcEIsT0FBTyxTQUFTLFFBQVEsSUFBSSxrQkFBa0IsS0FBSyxFQUFFO0NBQ3ZEOzs7O0NBS0EsaUJBQTBCO0VBQ3hCLE9BQU8sUUFBUSxJQUFJLHFCQUFxQjtDQUMxQztBQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-helpers.d.ts","sourceRoot":"","sources":["../../src/testing/vitest-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,KAAK,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"vitest-helpers.d.ts","sourceRoot":"","sources":["../../src/testing/vitest-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,KAAK,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAc3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAsBvF"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { init_config, loadConfig } from "../api/config.js";
|
|
2
|
-
|
|
3
2
|
//#region src/testing/vitest-helpers.ts
|
|
4
3
|
init_config();
|
|
4
|
+
function restoreProcessEnv(snapshot) {
|
|
5
|
+
for (const key of Object.keys(process.env)) if (!(key in snapshot)) delete process.env[key];
|
|
6
|
+
for (const [key, value] of Object.entries(snapshot)) process.env[key] = value;
|
|
7
|
+
}
|
|
5
8
|
/**
|
|
6
9
|
* sonamu.config.ts의 test 설정을 기반으로 vitest 테스트 설정을 반환합니다.
|
|
7
10
|
*
|
|
@@ -20,21 +23,21 @@ init_config();
|
|
|
20
23
|
*/
|
|
21
24
|
async function getSonamuTestConfig(options) {
|
|
22
25
|
const { findApiRootPath } = await import("../utils/utils.js");
|
|
26
|
+
const envBeforeConfigLoad = { ...process.env };
|
|
23
27
|
const config = await loadConfig(findApiRootPath());
|
|
28
|
+
restoreProcessEnv(envBeforeConfigLoad);
|
|
24
29
|
const isParallel = config.test?.parallel ?? false;
|
|
25
30
|
const maxWorkers = config.test?.maxWorkers ?? 4;
|
|
26
|
-
if (isParallel) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
34
|
-
}
|
|
31
|
+
if (isParallel) return {
|
|
32
|
+
pool: "forks",
|
|
33
|
+
maxWorkers,
|
|
34
|
+
isolate: false,
|
|
35
|
+
env: { SONAMU_WORKER_DB: "true" },
|
|
36
|
+
...options
|
|
37
|
+
};
|
|
35
38
|
return options;
|
|
36
39
|
}
|
|
37
|
-
|
|
38
40
|
//#endregion
|
|
39
41
|
export { getSonamuTestConfig };
|
|
40
|
-
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZXN0LWhlbHBlcnMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3Rpbmcvdml0ZXN0LWhlbHBlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBWaXRlVXNlckNvbmZpZyB9IGZyb20gXCJ2aXRlc3QvY29uZmlnXCI7XG5cbmltcG9ydCB7IGxvYWRDb25maWcgfSBmcm9tIFwiLi4vYXBpL2NvbmZpZ1wiO1xuXG50eXBlIFZpdGVzdENvbmZpZyA9IFZpdGVVc2VyQ29uZmlnW1widGVzdFwiXTtcblxuZnVuY3Rpb24gcmVzdG9yZVByb2Nlc3NFbnYoc25hcHNob3Q6IE5vZGVKUy5Qcm9jZXNzRW52KTogdm9pZCB7XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHByb2Nlc3MuZW52KSkge1xuICAgIGlmICghKGtleSBpbiBzbmFwc2hvdCkpIHtcbiAgICAgIGRlbGV0ZSBwcm9jZXNzLmVudltrZXldO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHNuYXBzaG90KSkge1xuICAgIHByb2Nlc3MuZW52W2tleV0gPSB2YWx1ZTtcbiAgfVxufVxuXG4vKipcbiAqIHNvbmFtdS5jb25maWcudHPsnZggdGVzdCDshKTsoJXsnYQg6riw67CY7Jy866GcIHZpdGVzdCDthYzsiqTtirgg7ISk7KCV7J2EIOuwmO2ZmO2VqeuLiOuLpC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gdml0ZXN0LmNvbmZpZy50c1xuICogaW1wb3J0IHsgZ2V0U29uYW11VGVzdENvbmZpZyB9IGZyb20gXCJzb25hbXUvdGVzdFwiO1xuICogaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVzdC9jb25maWdcIjtcbiAqXG4gKiBleHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoYXN5bmMgKCkgPT4gKHtcbiAqICAgdGVzdDogYXdhaXQgZ2V0U29uYW11VGVzdENvbmZpZyh7XG4gKiAgICAgc2V0dXBGaWxlczogW1wiLi9zcmMvdGVzdGluZy9zZXR1cC1tb2Nrcy50c1wiXSxcbiAqICAgfSksXG4gKiB9KSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFNvbmFtdVRlc3RDb25maWcob3B0aW9ucz86IFZpdGVzdENvbmZpZyk6IFByb21pc2U8Vml0ZXN0Q29uZmlnPiB7XG4gIGNvbnN0IHsgZmluZEFwaVJvb3RQYXRoIH0gPSBhd2FpdCBpbXBvcnQoXCIuLi91dGlscy91dGlsc1wiKTtcbiAgY29uc3QgZW52QmVmb3JlQ29uZmlnTG9hZCA9IHsgLi4ucHJvY2Vzcy5lbnYgfTtcbiAgY29uc3QgY29uZmlnID0gYXdhaXQgbG9hZENvbmZpZyhmaW5kQXBpUm9vdFBhdGgoKSk7XG4gIHJlc3RvcmVQcm9jZXNzRW52KGVudkJlZm9yZUNvbmZpZ0xvYWQpO1xuXG4gIGNvbnN0IGlzUGFyYWxsZWwgPSBjb25maWcudGVzdD8ucGFyYWxsZWwgPz8gZmFsc2U7XG4gIGNvbnN0IG1heFdvcmtlcnMgPSBjb25maWcudGVzdD8ubWF4V29ya2VycyA/PyA0O1xuXG4gIGlmIChpc1BhcmFsbGVsKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBvb2w6IFwiZm9ya3NcIixcbiAgICAgIG1heFdvcmtlcnMsXG4gICAgICBpc29sYXRlOiBmYWxzZSxcbiAgICAgIGVudjoge1xuICAgICAgICBTT05BTVVfV09SS0VSX0RCOiBcInRydWVcIixcbiAgICAgIH0sXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gb3B0aW9ucztcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7WUFFMEM7QUFJMUMsU0FBUyxrQkFBa0IsVUFBbUM7Q0FDNUQsS0FBSyxNQUFNLE9BQU8sT0FBTyxLQUFLLFFBQVEsR0FBRyxHQUN2QyxJQUFJLEVBQUUsT0FBTyxXQUNYLE9BQU8sUUFBUSxJQUFJO0NBSXZCLEtBQUssTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPLFFBQVEsUUFBUSxHQUNoRCxRQUFRLElBQUksT0FBTztBQUV2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQkEsZUFBc0Isb0JBQW9CLFNBQStDO0NBQ3ZGLE1BQU0sRUFBRSxvQkFBb0IsTUFBTSxPQUFPO0NBQ3pDLE1BQU0sc0JBQXNCLEVBQUUsR0FBRyxRQUFRLElBQUk7Q0FDN0MsTUFBTSxTQUFTLE1BQU0sV0FBVyxnQkFBZ0IsQ0FBQztDQUNqRCxrQkFBa0IsbUJBQW1CO0NBRXJDLE1BQU0sYUFBYSxPQUFPLE1BQU0sWUFBWTtDQUM1QyxNQUFNLGFBQWEsT0FBTyxNQUFNLGNBQWM7Q0FFOUMsSUFBSSxZQUNGLE9BQU87RUFDTCxNQUFNO0VBQ047RUFDQSxTQUFTO0VBQ1QsS0FBSyxFQUNILGtCQUFrQixPQUNwQjtFQUNBLEdBQUc7Q0FDTDtDQUdGLE9BQU87QUFDVCJ9
|
package/dist/types/types.d.ts
CHANGED
|
@@ -86,11 +86,11 @@ export type BigIntegerArrayProp = CommonProp & {
|
|
|
86
86
|
* BaseSchema 생성 시 Zod의 string format validation을 적용합니다.
|
|
87
87
|
*/
|
|
88
88
|
export declare const ZodStringFormat: z.ZodEnum<{
|
|
89
|
-
uuid: "uuid";
|
|
90
|
-
email: "email";
|
|
91
89
|
base64: "base64";
|
|
92
90
|
base64url: "base64url";
|
|
93
91
|
hex: "hex";
|
|
92
|
+
uuid: "uuid";
|
|
93
|
+
email: "email";
|
|
94
94
|
url: "url";
|
|
95
95
|
httpUrl: "httpUrl";
|
|
96
96
|
hostname: "hostname";
|
|
@@ -1004,11 +1004,11 @@ export declare const NormalPropSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
1004
1004
|
type: z.ZodLiteral<"string">;
|
|
1005
1005
|
length: z.ZodOptional<z.ZodNumber>;
|
|
1006
1006
|
zodFormat: z.ZodOptional<z.ZodEnum<{
|
|
1007
|
-
uuid: "uuid";
|
|
1008
|
-
email: "email";
|
|
1009
1007
|
base64: "base64";
|
|
1010
1008
|
base64url: "base64url";
|
|
1011
1009
|
hex: "hex";
|
|
1010
|
+
uuid: "uuid";
|
|
1011
|
+
email: "email";
|
|
1012
1012
|
url: "url";
|
|
1013
1013
|
httpUrl: "httpUrl";
|
|
1014
1014
|
hostname: "hostname";
|
|
@@ -1073,11 +1073,11 @@ export declare const NormalPropSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
1073
1073
|
type: z.ZodLiteral<"string[]">;
|
|
1074
1074
|
length: z.ZodOptional<z.ZodNumber>;
|
|
1075
1075
|
zodFormat: z.ZodOptional<z.ZodEnum<{
|
|
1076
|
-
uuid: "uuid";
|
|
1077
|
-
email: "email";
|
|
1078
1076
|
base64: "base64";
|
|
1079
1077
|
base64url: "base64url";
|
|
1080
1078
|
hex: "hex";
|
|
1079
|
+
uuid: "uuid";
|
|
1080
|
+
email: "email";
|
|
1081
1081
|
url: "url";
|
|
1082
1082
|
httpUrl: "httpUrl";
|
|
1083
1083
|
hostname: "hostname";
|
|
@@ -1740,11 +1740,11 @@ export declare const EntityJsonSchema: z.ZodObject<{
|
|
|
1740
1740
|
type: z.ZodLiteral<"string">;
|
|
1741
1741
|
length: z.ZodOptional<z.ZodNumber>;
|
|
1742
1742
|
zodFormat: z.ZodOptional<z.ZodEnum<{
|
|
1743
|
-
uuid: "uuid";
|
|
1744
|
-
email: "email";
|
|
1745
1743
|
base64: "base64";
|
|
1746
1744
|
base64url: "base64url";
|
|
1747
1745
|
hex: "hex";
|
|
1746
|
+
uuid: "uuid";
|
|
1747
|
+
email: "email";
|
|
1748
1748
|
url: "url";
|
|
1749
1749
|
httpUrl: "httpUrl";
|
|
1750
1750
|
hostname: "hostname";
|
|
@@ -1809,11 +1809,11 @@ export declare const EntityJsonSchema: z.ZodObject<{
|
|
|
1809
1809
|
type: z.ZodLiteral<"string[]">;
|
|
1810
1810
|
length: z.ZodOptional<z.ZodNumber>;
|
|
1811
1811
|
zodFormat: z.ZodOptional<z.ZodEnum<{
|
|
1812
|
-
uuid: "uuid";
|
|
1813
|
-
email: "email";
|
|
1814
1812
|
base64: "base64";
|
|
1815
1813
|
base64url: "base64url";
|
|
1816
1814
|
hex: "hex";
|
|
1815
|
+
uuid: "uuid";
|
|
1816
|
+
email: "email";
|
|
1817
1817
|
url: "url";
|
|
1818
1818
|
httpUrl: "httpUrl";
|
|
1819
1819
|
hostname: "hostname";
|
|
@@ -2790,11 +2790,11 @@ export declare const TemplateOptions: z.ZodObject<{
|
|
|
2790
2790
|
type: z.ZodLiteral<"string">;
|
|
2791
2791
|
length: z.ZodOptional<z.ZodNumber>;
|
|
2792
2792
|
zodFormat: z.ZodOptional<z.ZodEnum<{
|
|
2793
|
-
uuid: "uuid";
|
|
2794
|
-
email: "email";
|
|
2795
2793
|
base64: "base64";
|
|
2796
2794
|
base64url: "base64url";
|
|
2797
2795
|
hex: "hex";
|
|
2796
|
+
uuid: "uuid";
|
|
2797
|
+
email: "email";
|
|
2798
2798
|
url: "url";
|
|
2799
2799
|
httpUrl: "httpUrl";
|
|
2800
2800
|
hostname: "hostname";
|
|
@@ -2859,11 +2859,11 @@ export declare const TemplateOptions: z.ZodObject<{
|
|
|
2859
2859
|
type: z.ZodLiteral<"string[]">;
|
|
2860
2860
|
length: z.ZodOptional<z.ZodNumber>;
|
|
2861
2861
|
zodFormat: z.ZodOptional<z.ZodEnum<{
|
|
2862
|
-
uuid: "uuid";
|
|
2863
|
-
email: "email";
|
|
2864
2862
|
base64: "base64";
|
|
2865
2863
|
base64url: "base64url";
|
|
2866
2864
|
hex: "hex";
|
|
2865
|
+
uuid: "uuid";
|
|
2866
|
+
email: "email";
|
|
2867
2867
|
url: "url";
|
|
2868
2868
|
httpUrl: "httpUrl";
|
|
2869
2869
|
hostname: "hostname";
|