@prostgles/prostgles 2.3.6-dev.1787077577 → 2.3.6-dev.1787160729

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.
Files changed (66) hide show
  1. package/client/build/js/main.bundle.js +1 -1
  2. package/dist/server/package.json +5 -1
  3. package/dist/server/src/ConnectionManager/getHotReloadConfigs.d.ts.map +1 -1
  4. package/dist/server/src/ConnectionManager/getHotReloadConfigs.js +3 -3
  5. package/dist/server/src/ConnectionManager/getHotReloadConfigs.js.map +1 -1
  6. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Web/getDocumentText.d.ts +2 -1
  7. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Web/getDocumentText.d.ts.map +1 -1
  8. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Web/getDocumentText.js.map +1 -1
  9. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/WebDev/tools/searchWebDevFiles.spec.js +1 -0
  10. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/WebDev/tools/searchWebDevFiles.spec.js.map +1 -1
  11. package/dist/server/src/ServiceManager/ServiceManager.d.ts +19 -11
  12. package/dist/server/src/ServiceManager/ServiceManager.d.ts.map +1 -1
  13. package/dist/server/src/ServiceManager/ServiceManager.js +13 -2
  14. package/dist/server/src/ServiceManager/ServiceManager.js.map +1 -1
  15. package/dist/server/src/ServiceManager/ServiceManager.spec.d.ts.map +1 -1
  16. package/dist/server/src/ServiceManager/ServiceManager.spec.js +5 -1
  17. package/dist/server/src/ServiceManager/ServiceManager.spec.js.map +1 -1
  18. package/dist/server/src/ServiceManager/ServiceManagerTypes.d.ts +7 -0
  19. package/dist/server/src/ServiceManager/ServiceManagerTypes.d.ts.map +1 -1
  20. package/dist/server/src/ServiceManager/ServiceManagerTypes.js.map +1 -1
  21. package/dist/server/src/ServiceManager/buildService.d.ts +3 -3
  22. package/dist/server/src/ServiceManager/buildService.d.ts.map +1 -1
  23. package/dist/server/src/ServiceManager/buildService.js +10 -6
  24. package/dist/server/src/ServiceManager/buildService.js.map +1 -1
  25. package/dist/server/src/ServiceManager/enableService.d.ts +1 -2
  26. package/dist/server/src/ServiceManager/enableService.d.ts.map +1 -1
  27. package/dist/server/src/ServiceManager/enableService.js.map +1 -1
  28. package/dist/server/src/ServiceManager/getSelectedConfigEnvs.d.ts +2 -3
  29. package/dist/server/src/ServiceManager/getSelectedConfigEnvs.d.ts.map +1 -1
  30. package/dist/server/src/ServiceManager/getSelectedConfigEnvs.js +3 -3
  31. package/dist/server/src/ServiceManager/getSelectedConfigEnvs.js.map +1 -1
  32. package/dist/server/src/ServiceManager/startService.d.ts +3 -3
  33. package/dist/server/src/ServiceManager/startService.d.ts.map +1 -1
  34. package/dist/server/src/ServiceManager/startService.js +9 -7
  35. package/dist/server/src/ServiceManager/startService.js.map +1 -1
  36. package/dist/server/src/ServiceManager/stopService.d.ts +1 -2
  37. package/dist/server/src/ServiceManager/stopService.d.ts.map +1 -1
  38. package/dist/server/src/ServiceManager/stopService.js +1 -1
  39. package/dist/server/src/ServiceManager/stopService.js.map +1 -1
  40. package/dist/server/src/cli/cli.js +4 -34
  41. package/dist/server/src/cli/cli.js.map +1 -1
  42. package/dist/server/src/cli/cliTemplateFiles.d.ts +8 -0
  43. package/dist/server/src/cli/cliTemplateFiles.d.ts.map +1 -0
  44. package/dist/server/src/cli/cliTemplateFiles.js +381 -0
  45. package/dist/server/src/cli/cliTemplateFiles.js.map +1 -0
  46. package/dist/server/src/init/prostglesOnReady.d.ts +677 -1
  47. package/dist/server/src/init/prostglesOnReady.d.ts.map +1 -1
  48. package/dist/server/src/init/prostglesOnReady.js +7 -1
  49. package/dist/server/src/init/prostglesOnReady.js.map +1 -1
  50. package/dist/server/src/services.d.ts +3 -0
  51. package/dist/server/src/services.d.ts.map +1 -0
  52. package/dist/server/src/services.js +6 -0
  53. package/dist/server/src/services.js.map +1 -0
  54. package/package.json +5 -1
  55. package/dist/server/src/cli/cliUtils.d.ts +0 -64
  56. package/dist/server/src/cli/cliUtils.d.ts.map +0 -1
  57. package/dist/server/src/cli/cliUtils.js +0 -201
  58. package/dist/server/src/cli/cliUtils.js.map +0 -1
  59. package/dist/server/src/testing/createTestDeployment.d.ts +0 -37
  60. package/dist/server/src/testing/createTestDeployment.d.ts.map +0 -1
  61. package/dist/server/src/testing/createTestDeployment.js +0 -393
  62. package/dist/server/src/testing/createTestDeployment.js.map +0 -1
  63. package/dist/server/src/testing/index.d.ts +0 -2
  64. package/dist/server/src/testing/index.d.ts.map +0 -1
  65. package/dist/server/src/testing/index.js +0 -6
  66. package/dist/server/src/testing/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"prostglesOnReady.d.ts","sourceRoot":"","sources":["../../../../src/init/prostglesOnReady.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAInE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAiB3D,eAAO,MAAM,gBAAgB,qBAK5B,CAAC;AAGF,eAAO,MAAM,iBAAiB,sBAO7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,UAAU,CAAC,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAChE,QAAQ,UAAU,CAAC,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAChE,KAAK,CAAC,CAAC,OAAO,EACd,KAAK,iBAAiB,EACtB,MAAM,MAAM,kBA0Eb,CAAC"}
1
+ {"version":3,"file":"prostglesOnReady.d.ts","sourceRoot":"","sources":["../../../../src/init/prostglesOnReady.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAInE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAmB3D,eAAO,MAAM,gBAAgB,qBAK5B,CAAC;AAIF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,UAAU,CAAC,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAChE,QAAQ,UAAU,CAAC,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAChE,KAAK,CAAC,CAAC,OAAO,EACd,KAAK,iBAAiB,EACtB,MAAM,MAAM,kBAiFb,CAAC"}
@@ -17,6 +17,8 @@ const setupLLM_1 = require("../serverFunctions/askLLM/setupLLM");
17
17
  const initUsers_1 = require("./initUsers");
18
18
  const insertStateDatabase_1 = require("./insertStateDatabase");
19
19
  const tryStartProstgles_1 = require("./tryStartProstgles");
20
+ const ServiceManagerTypes_1 = require("../ServiceManager/ServiceManagerTypes");
21
+ const path_1 = require("path");
20
22
  let authSetupDataListener;
21
23
  let backupManager;
22
24
  const getBackupManager = () => {
@@ -49,7 +51,11 @@ const prostglesOnReady = async (params, update, app, con, port) => {
49
51
  await index_1.connectionManager.destroy();
50
52
  await index_1.connectionManager.init(db, _db);
51
53
  await (0, applyStartupSchemaConfig_1.applyStartupSchemaConfig)({ dbs: db, db: _db });
52
- serviceManager ??= new ServiceManager_1.ServiceManager(db);
54
+ serviceManager ??= new ServiceManager_1.ServiceManager({
55
+ dbs: db,
56
+ services: ServiceManagerTypes_1.prostglesServices,
57
+ serviceRoot: (0, path_1.resolve)(__dirname, "../../../../src/ServiceManager/services"),
58
+ });
53
59
  backupManager ??= await BackupManager_1.default.create(_db, db, sql, index_1.connectionManager);
54
60
  const newAuthSetupDataListener = (0, subscribeToAuthSetupChanges_1.subscribeToAuthSetupChanges)(db, async (authData) => {
55
61
  const { stateDatabaseConfig } = authData;
@@ -1 +1 @@
1
- {"version":3,"file":"prostglesOnReady.js","sourceRoot":"","sources":["../../../../src/init/prostglesOnReady.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prostglesOnReady.js","sourceRoot":"","sources":["../../../../src/init/prostglesOnReady.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { ServiceManager } from "./ServiceManager/ServiceManager";
2
+ export type { ProstglesService, ServiceRegistry, } from "./ServiceManager/ServiceManagerTypes";
3
+ //# sourceMappingURL=services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EACV,gBAAgB,EAChB,eAAe,GAChB,MAAM,sCAAsC,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceManager = void 0;
4
+ var ServiceManager_1 = require("./ServiceManager/ServiceManager");
5
+ Object.defineProperty(exports, "ServiceManager", { enumerable: true, get: function () { return ServiceManager_1.ServiceManager; } });
6
+ //# sourceMappingURL=services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/services.ts"],"names":[],"mappings":";;;AAAA,kEAAiE;AAAxD,gHAAA,cAAc,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prostgles/prostgles",
3
- "version": "2.3.6-dev.1787077577",
3
+ "version": "2.3.6-dev.1787160729",
4
4
  "description": "Prostgles UI runtime and configurable PostgreSQL dashboard",
5
5
  "main": "dist/server/src/schemaConfig.js",
6
6
  "bin": {
@@ -87,6 +87,10 @@
87
87
  "./testing": {
88
88
  "types": "./dist/server/src/cli/testing/index.d.ts",
89
89
  "default": "./dist/server/src/cli/testing/index.js"
90
+ },
91
+ "./services": {
92
+ "types": "./dist/server/src/services.d.ts",
93
+ "default": "./dist/server/src/services.js"
90
94
  }
91
95
  }
92
96
  }
@@ -1,64 +0,0 @@
1
- export declare const srcFolderName = "src";
2
- export declare const generatedFolderName = "generated";
3
- export declare const testsFolderName = "tests";
4
- export declare const srcSubfolderNames: readonly ["functions", "tableConfigs", "tableOptions", "tableHooks"];
5
- export declare const cliTemplateFiles: {
6
- readonly package: {
7
- readonly private: true;
8
- readonly version: "0.0.0";
9
- readonly main: "build/src/index.js";
10
- readonly scripts: {
11
- readonly build: "npm run lint && tsc --project tsconfig.json";
12
- readonly dev: "prostgles dev --config .";
13
- readonly lint: "eslint .";
14
- readonly "lint:fix": "eslint . --fix";
15
- readonly start: "prostgles start --config .";
16
- readonly test: "npm run build && node --env-file-if-exists=.env --test \"build/tests/**/*.test.js\"";
17
- };
18
- readonly dependencies: {
19
- readonly "@prostgles/prostgles": `^${string}`;
20
- };
21
- readonly devDependencies: {
22
- readonly "@eslint/js": string;
23
- readonly "@types/node": "^22.20.1";
24
- readonly eslint: string;
25
- readonly "eslint-plugin-security": string;
26
- readonly typescript: string;
27
- readonly "typescript-eslint": string;
28
- };
29
- readonly exports: {
30
- readonly "./generated": {
31
- readonly types: "./build/generated/index.d.ts";
32
- readonly default: "./build/generated/index.js";
33
- };
34
- };
35
- };
36
- readonly tsconfig: {
37
- readonly compilerOptions: {
38
- readonly target: "ES2022";
39
- readonly module: "Node16";
40
- readonly moduleResolution: "Node16";
41
- readonly rootDir: ".";
42
- readonly outDir: "build";
43
- readonly esModuleInterop: true;
44
- readonly forceConsistentCasingInFileNames: true;
45
- readonly noImplicitAny: true;
46
- readonly noUncheckedIndexedAccess: true;
47
- readonly skipLibCheck: true;
48
- readonly strict: true;
49
- readonly strictFunctionTypes: true;
50
- };
51
- readonly include: readonly ["src", "generated", "tests"];
52
- };
53
- readonly DBGeneratedSchema: "export type DBGeneratedSchema = Record<string, { columns: Record<string, unknown> }>\n";
54
- readonly agents: string;
55
- readonly deploymentTest: ({ configId }: {
56
- configId: string;
57
- }) => string;
58
- readonly eslintConfig: string;
59
- readonly gitignore: string;
60
- readonly envExample: ({ configId }: {
61
- configId: string;
62
- }) => string;
63
- };
64
- //# sourceMappingURL=cliUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cliUtils.d.ts","sourceRoot":"","sources":["../../../../src/cli/cliUtils.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,QAAQ,CAAC;AACnC,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,iBAAiB,sEAKpB,CAAC;AAoFX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAkDI;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;;;wCAwCxB;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;CAevC,CAAC"}
@@ -1,201 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cliTemplateFiles = exports.srcSubfolderNames = exports.testsFolderName = exports.generatedFolderName = exports.srcFolderName = void 0;
4
- const tslib_1 = require("tslib");
5
- const utils_1 = require("../../../common/utils");
6
- const crypto_1 = require("crypto");
7
- const package_json_1 = tslib_1.__importDefault(require("../../package.json"));
8
- const getCliAgentsFile_1 = require("./getCliAgentsFile");
9
- exports.srcFolderName = "src";
10
- exports.generatedFolderName = "generated";
11
- exports.testsFolderName = "tests";
12
- exports.srcSubfolderNames = [
13
- "functions",
14
- "tableConfigs",
15
- "tableOptions",
16
- "tableHooks",
17
- ];
18
- const eslintConfig = (0, utils_1.fixIndent)(`
19
- import eslint from "@eslint/js";
20
- import pluginSecurity from "eslint-plugin-security";
21
- import path from "node:path";
22
- import tseslint from "typescript-eslint";
23
- import { defineConfig } from "eslint/config";
24
-
25
- const semanticFilenameRule = {
26
- meta: {
27
- type: "problem",
28
- schema: [{ type: "string" }],
29
- messages: {
30
- invalidSuffix: "Files in this folder must end in '{{suffix}}'.",
31
- },
32
- },
33
- create(context) {
34
- const suffix = context.options[0];
35
- return {
36
- Program(node) {
37
- if (!path.basename(context.filename).endsWith(suffix)) {
38
- context.report({
39
- node,
40
- messageId: "invalidSuffix",
41
- data: { suffix },
42
- });
43
- }
44
- },
45
- };
46
- },
47
- };
48
-
49
- const semanticFileConfig = (folder, suffix) => ({
50
- files: [\`src/\${folder}/**/*.ts\`],
51
- rules: {
52
- "prostgles-config/semantic-filename": ["error", suffix],
53
- },
54
- });
55
-
56
- export default defineConfig(
57
- {
58
- ignores: ["build", "generated", "node_modules", "eslint.config.mjs"],
59
- },
60
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
61
- pluginSecurity.configs.recommended,
62
- eslint.configs.recommended,
63
- tseslint.configs.recommendedTypeChecked,
64
- {
65
- files: ["src/**/*.ts", "tests/**/*.ts"],
66
- languageOptions: {
67
- parserOptions: {
68
- projectService: true,
69
- tsconfigRootDir: import.meta.dirname,
70
- },
71
- },
72
- plugins: {
73
- "prostgles-config": {
74
- rules: { "semantic-filename": semanticFilenameRule },
75
- },
76
- },
77
- rules: {
78
- "no-cond-assign": "error",
79
- "no-unused-vars": "off",
80
- "security/detect-object-injection": "off",
81
- "@typescript-eslint/no-explicit-any": "off",
82
- "@typescript-eslint/no-floating-promises": "error",
83
- "@typescript-eslint/no-unnecessary-condition": "error",
84
- "@typescript-eslint/no-unused-vars": [
85
- "error",
86
- {
87
- argsIgnorePattern: "^_",
88
- varsIgnorePattern: "^_",
89
- caughtErrorsIgnorePattern: "^_",
90
- },
91
- ],
92
- },
93
- },
94
- semanticFileConfig("functions", ".function.ts"),
95
- semanticFileConfig("tableConfigs", ".tableConfig.ts"),
96
- semanticFileConfig("tableOptions", ".tableOptions.ts"),
97
- semanticFileConfig("tableHooks", ".tableHooks.ts"),
98
- );`);
99
- exports.cliTemplateFiles = {
100
- package: {
101
- private: true,
102
- version: "0.0.0",
103
- main: "build/src/index.js",
104
- scripts: {
105
- build: "npm run lint && tsc --project tsconfig.json",
106
- dev: "prostgles dev --config .",
107
- lint: "eslint .",
108
- "lint:fix": "eslint . --fix",
109
- start: "prostgles start --config .",
110
- test: 'npm run build && node --env-file-if-exists=.env --test "build/tests/**/*.test.js"',
111
- },
112
- dependencies: { "@prostgles/prostgles": `^${package_json_1.default.version}` },
113
- devDependencies: {
114
- "@eslint/js": package_json_1.default.devDependencies["@eslint/js"],
115
- "@types/node": "^22.20.1",
116
- eslint: package_json_1.default.devDependencies.eslint,
117
- "eslint-plugin-security": package_json_1.default.devDependencies["eslint-plugin-security"],
118
- typescript: package_json_1.default.dependencies["typescript"],
119
- "typescript-eslint": package_json_1.default.devDependencies["typescript-eslint"],
120
- },
121
- exports: {
122
- "./generated": {
123
- types: "./build/generated/index.d.ts",
124
- default: "./build/generated/index.js",
125
- },
126
- },
127
- },
128
- tsconfig: {
129
- compilerOptions: {
130
- target: "ES2022",
131
- module: "Node16",
132
- moduleResolution: "Node16",
133
- rootDir: ".",
134
- outDir: "build",
135
- esModuleInterop: true,
136
- forceConsistentCasingInFileNames: true,
137
- noImplicitAny: true,
138
- noUncheckedIndexedAccess: true,
139
- skipLibCheck: true,
140
- strict: true,
141
- strictFunctionTypes: true,
142
- },
143
- include: [exports.srcFolderName, exports.generatedFolderName, exports.testsFolderName],
144
- },
145
- DBGeneratedSchema: "export type DBGeneratedSchema = Record<string, { columns: Record<string, unknown> }>\n",
146
- agents: (0, getCliAgentsFile_1.getCliAgentsFile)(),
147
- deploymentTest: ({ configId }) => (0, utils_1.fixIndent)(`
148
- import assert from "node:assert/strict";
149
- import { resolve } from "node:path";
150
- import test from "node:test";
151
- import { createTestDeployment } from "@prostgles/prostgles/testing";
152
- import type { DBGeneratedSchema } from "../generated/DBGeneratedSchema";
153
-
154
- void test("starts the configured app with an isolated database", async (context) => {
155
- const deployment = await createTestDeployment<DBGeneratedSchema>({
156
- configPath: resolve(__dirname, "../.."),
157
- configId: ${JSON.stringify(configId)},
158
- users: [
159
- { key: "admin", type: "admin" },
160
- { key: "member", type: "default" },
161
- ],
162
- // Add deterministic rows with:
163
- // seed: async ({ projectDatabase }) => {
164
- // await projectDatabase.query("INSERT INTO ...");
165
- // },
166
- });
167
- context.after(async () => await deployment.dispose());
168
-
169
- const client = await deployment.connectProjectAs("admin");
170
-
171
- assert.equal(client.socket.connected, true);
172
- assert.equal(client.auth.user?.type, "admin");
173
- assert.ok(client.db);
174
-
175
- const memberClient = await deployment.connectProjectAs("member");
176
- assert.equal(memberClient.socket.connected, true);
177
- assert.equal(memberClient.auth.user?.type, "default");
178
- });`),
179
- eslintConfig,
180
- gitignore: (0, utils_1.fixIndent)(`
181
- node_modules/
182
- build/
183
- .env
184
- .prostgles/test-logs/
185
- *.log`),
186
- envExample: ({ configId }) => (0, utils_1.fixIndent)(`
187
- # Fixed admin credentials for CLI development.
188
- PRGL_USERNAME=admin
189
- PRGL_PASSWORD=${(0, crypto_1.randomBytes)(24).toString("base64url")}
190
-
191
- # Prostgles UI state. Created automatically when missing.
192
- PROSTGLES_STATE_DATABASE_URL=postgres://user:password@localhost:5432/prostgles_state_database
193
-
194
- # Database exposed by this config. Must use the same server as the state database.
195
- PROSTGLES_DATABASE_URL=postgres://user:password@localhost:5432/${configId}
196
-
197
- # npm test starts an ephemeral PostgreSQL Docker container bound to 127.0.0.1 only.
198
- # Override only when the app needs a different PostgreSQL/PostGIS version.
199
- # PROSTGLES_TEST_POSTGRES_IMAGE=postgis/postgis:17-3.4`),
200
- };
201
- //# sourceMappingURL=cliUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cliUtils.js","sourceRoot":"","sources":["../../../../src/cli/cliUtils.ts"],"names":[],"mappings":";;;;AAAA,yCAA0C;AAC1C,mCAAqC;AACrC,8EAA6C;AAC7C,yDAAsD;AAEzC,QAAA,aAAa,GAAG,KAAK,CAAC;AACtB,QAAA,mBAAmB,GAAG,WAAW,CAAC;AAClC,QAAA,eAAe,GAAG,OAAO,CAAC;AAC1B,QAAA,iBAAiB,GAAG;IAC/B,WAAW;IACX,cAAc;IACd,cAAc;IACd,YAAY;CACJ,CAAC;AAEX,MAAM,YAAY,GAAG,IAAA,iBAAS,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgF1B,CAAC,CAAC;AAEM,QAAA,gBAAgB,GAAG;IAC9B,OAAO,EAAE;QACP,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE;YACP,KAAK,EAAE,6CAA6C;YACpD,GAAG,EAAE,0BAA0B;YAC/B,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,gBAAgB;YAC5B,KAAK,EAAE,4BAA4B;YACnC,IAAI,EAAE,mFAAmF;SAC1F;QACD,YAAY,EAAE,EAAE,sBAAsB,EAAE,IAAI,sBAAW,CAAC,OAAO,EAAE,EAAE;QACnE,eAAe,EAAE;YACf,YAAY,EAAE,sBAAW,CAAC,eAAe,CAAC,YAAY,CAAC;YACvD,aAAa,EAAE,UAAU;YACzB,MAAM,EAAE,sBAAW,CAAC,eAAe,CAAC,MAAM;YAC1C,wBAAwB,EACtB,sBAAW,CAAC,eAAe,CAAC,wBAAwB,CAAC;YACvD,UAAU,EAAE,sBAAW,CAAC,YAAY,CAAC,YAAY,CAAC;YAClD,mBAAmB,EAAE,sBAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC;SACtE;QACD,OAAO,EAAE;YACP,aAAa,EAAE;gBACb,KAAK,EAAE,8BAA8B;gBACrC,OAAO,EAAE,4BAA4B;aACtC;SACF;KACF;IACD,QAAQ,EAAE;QACR,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,gBAAgB,EAAE,QAAQ;YAC1B,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,OAAO;YACf,eAAe,EAAE,IAAI;YACrB,gCAAgC,EAAE,IAAI;YACtC,aAAa,EAAE,IAAI;YACnB,wBAAwB,EAAE,IAAI;YAC9B,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI;YACZ,mBAAmB,EAAE,IAAI;SAC1B;QACD,OAAO,EAAE,CAAC,qBAAa,EAAE,2BAAmB,EAAE,uBAAe,CAAC;KAC/D;IACD,iBAAiB,EACf,wFAAwF;IAC1F,MAAM,EAAE,IAAA,mCAAgB,GAAE;IAC1B,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAwB,EAAE,EAAE,CACrD,IAAA,iBAAS,EAAC;;;;;;;;;;sBAUQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;UAqBpC,CAAC;IACT,YAAY;IACZ,SAAS,EAAE,IAAA,iBAAS,EAAC;;;;;YAKX,CAAC;IACX,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAwB,EAAE,EAAE,CACjD,IAAA,iBAAS,EAAC;;;sBAGQ,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;;;;;;uEAMY,QAAQ;;;;6DAIlB,CAAC;CACpD,CAAC"}
@@ -1,37 +0,0 @@
1
- import { type ClientFunctionHandler, type OnReadyParams } from "prostgles-client";
2
- import type { UserLike } from "prostgles-types";
3
- import { Client } from "pg";
4
- export type TestDeploymentUser = {
5
- /** Stable name used by connectStateAs/connectProjectAs. */
6
- key: string;
7
- username?: string;
8
- type?: "admin" | "default" | "public";
9
- };
10
- export type TestDeploymentSeedContext = {
11
- stateDatabase: Client;
12
- projectDatabase: Client;
13
- };
14
- export type CreateTestDeploymentOptions = {
15
- /** Root of the app created by `prostgles create`. */
16
- configPath: string;
17
- /** App ID used in Docker and database names. */
18
- configId: string;
19
- /** PostgreSQL Docker image. Defaults to the PostGIS image used by Prostgles. */
20
- postgresImage?: string;
21
- users?: TestDeploymentUser[];
22
- seed?: (context: TestDeploymentSeedContext) => void | Promise<void>;
23
- startupTimeoutMs?: number;
24
- };
25
- export type TestDeploymentClient<Schema = void, Functions extends ClientFunctionHandler = ClientFunctionHandler, User extends UserLike = UserLike> = OnReadyParams<Schema, Functions, User> & {
26
- disconnect: () => void;
27
- };
28
- export type TestDeployment<Schema = void, Functions extends ClientFunctionHandler = ClientFunctionHandler, User extends UserLike = UserLike> = {
29
- endpoint: string;
30
- stateDatabaseName: string;
31
- projectDatabaseName: string;
32
- connectStateAs: (userKey: string) => Promise<TestDeploymentClient<void, ClientFunctionHandler, UserLike>>;
33
- connectProjectAs: (userKey: string) => Promise<TestDeploymentClient<Schema, Functions, User>>;
34
- dispose: () => Promise<void>;
35
- };
36
- export declare const createTestDeployment: <Schema = void, Functions extends ClientFunctionHandler = ClientFunctionHandler, User extends UserLike = UserLike>({ configPath, configId, postgresImage, seed, startupTimeoutMs, users, }: CreateTestDeploymentOptions) => Promise<TestDeployment<Schema, Functions, User>>;
37
- //# sourceMappingURL=createTestDeployment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createTestDeployment.d.ts","sourceRoot":"","sources":["../../../../src/testing/createTestDeployment.ts"],"names":[],"mappings":"AAIA,OAAkB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAO5B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAC9B,MAAM,GAAG,IAAI,EACb,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,EAC/D,IAAI,SAAS,QAAQ,GAAG,QAAQ,IAC9B,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG;IAC3C,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,CACxB,MAAM,GAAG,IAAI,EACb,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,EAC/D,IAAI,SAAS,QAAQ,GAAG,QAAQ,IAC9B;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,CACd,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1E,gBAAgB,EAAE,CAChB,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAsRF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,GAAG,IAAI,EACb,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,EAC/D,IAAI,SAAS,QAAQ,GAAG,QAAQ,EAChC,yEAOC,2BAA2B,KAAG,OAAO,CACtC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CA6LxC,CAAC"}