@dbos-inc/create 1.19.5-preview → 1.19.9-preview
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/init.d.ts.map +1 -1
- package/dist/init.js +27 -0
- package/dist/init.js.map +1 -1
- package/package.json +3 -2
- package/templates/hello/package.json +3 -4
- package/templates/hello/src/operations.ts +13 -1
- package/templates/hello-prisma/package.json +3 -4
- package/templates/hello-prisma/src/operations.ts +12 -1
- package/templates/hello-typeorm/package.json +3 -4
- package/templates/hello-typeorm/src/operations.ts +12 -1
package/dist/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../init.ts"],"names":[],"mappings":"AAQA,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CACvC;AAYD,eAAO,MAAM,IAAI,QACV,MAAM,WACF,MAAM,EAAE,QACX,MAAM,eACW,UAAU,oBA4BlC,CAAA;AAwFD,wBAAsB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,iBA6B/D"}
|
package/dist/init.js
CHANGED
|
@@ -4,7 +4,9 @@ import fs from 'fs';
|
|
|
4
4
|
import { execSync } from 'child_process';
|
|
5
5
|
import validator from 'validator';
|
|
6
6
|
import { fileURLToPath } from 'url';
|
|
7
|
+
import YAML from "yaml";
|
|
7
8
|
const identity = (x) => x;
|
|
9
|
+
const dbosConfigFilePath = "dbos-config.yaml";
|
|
8
10
|
export const copy = async (src, targets, dest, { rename = identity } = {}) => {
|
|
9
11
|
if (targets.length === 0 || !dest) {
|
|
10
12
|
throw new TypeError('`src` and `dest` are required');
|
|
@@ -71,6 +73,30 @@ function mergeGitIgnore(existingGISet, templateGISet) {
|
|
|
71
73
|
const joined = Array.from(resultSet).join('\n');
|
|
72
74
|
return joined.replaceAll('\n#', '\n\n#');
|
|
73
75
|
}
|
|
76
|
+
function updateAppConfig(configFilePath, appName) {
|
|
77
|
+
try {
|
|
78
|
+
const content = fs.readFileSync(configFilePath, 'utf-8');
|
|
79
|
+
// Preserve the comments at the top
|
|
80
|
+
const commentsContent = content.split(/\r?\n/).filter(line => line.startsWith('#')).join('\n') + '\n\n';
|
|
81
|
+
const configFile = YAML.parse(content);
|
|
82
|
+
// Change the app_db_name field to the sanitized appName, replacing dashes with underscores
|
|
83
|
+
let appDbName = appName.replaceAll('-', '_');
|
|
84
|
+
if (appDbName.match(/^\d/)) {
|
|
85
|
+
appDbName = "_" + appDbName; // Append an underscore if the name starts with a digit
|
|
86
|
+
}
|
|
87
|
+
configFile.database.app_db_name = appDbName;
|
|
88
|
+
const newContent = commentsContent + YAML.stringify(configFile);
|
|
89
|
+
fs.writeFileSync(configFilePath, newContent);
|
|
90
|
+
}
|
|
91
|
+
catch (e) {
|
|
92
|
+
if (e instanceof Error) {
|
|
93
|
+
throw new Error(`Failed to load config from ${configFilePath}: ${e.message}`);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
throw e;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
74
100
|
function mergeGitignoreFiles(existingFilePath, templateFilePath, outputFilePath) {
|
|
75
101
|
const existingSet = loadGitignoreFile(existingFilePath);
|
|
76
102
|
const templateSet = loadGitignoreFile(templateFilePath);
|
|
@@ -101,6 +127,7 @@ export async function init(appName, templateName) {
|
|
|
101
127
|
execSync("npm install --no-fund --save @dbos-inc/dbos-sdk@latest --loglevel=error", { cwd: appName, stdio: 'inherit' });
|
|
102
128
|
execSync("npm i --no-fund --loglevel=error", { cwd: appName, stdio: 'inherit' });
|
|
103
129
|
execSync("npm install --no-fund --save-dev @dbos-inc/dbos-cloud@latest", { cwd: appName, stdio: 'inherit' });
|
|
130
|
+
updateAppConfig(path.join(appName, dbosConfigFilePath), appName);
|
|
104
131
|
console.log("Application initialized successfully!");
|
|
105
132
|
}
|
|
106
133
|
//# sourceMappingURL=init.js.map
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../init.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dbos-inc/create",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.9-preview",
|
|
4
4
|
"description": "Tool for performing project initialization from template",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"update-notifier": "^7.0.0",
|
|
37
37
|
"validator": "^13.11.0",
|
|
38
38
|
"winston": "^3.12.0",
|
|
39
|
-
"winston-transport": "^4.7.0"
|
|
39
|
+
"winston-transport": "^4.7.0",
|
|
40
|
+
"yaml": "^2.5.0"
|
|
40
41
|
}
|
|
41
42
|
}
|
|
@@ -10,16 +10,15 @@
|
|
|
10
10
|
"start": "npx dbos start"
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
|
13
|
-
"@dbos-inc/eslint-plugin": "^
|
|
13
|
+
"@dbos-inc/eslint-plugin": "^3.1.0",
|
|
14
14
|
"@types/jest": "^29.5.12",
|
|
15
15
|
"@types/supertest": "^2.0.16",
|
|
16
|
-
"eslint": "^
|
|
16
|
+
"eslint": "^8.57.0",
|
|
17
17
|
"jest": "^29.7.0",
|
|
18
18
|
"nodemon": "^3.1.0",
|
|
19
19
|
"supertest": "^7.0.0",
|
|
20
20
|
"ts-jest": "^29.1.2",
|
|
21
|
-
"typescript": "^5.4.5"
|
|
22
|
-
"typescript-eslint": "^8.0.0-alpha.30"
|
|
21
|
+
"typescript": "^5.4.5"
|
|
23
22
|
},
|
|
24
23
|
"dependencies": {
|
|
25
24
|
"@dbos-inc/dbos-sdk": "file:../../../..",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TransactionContext, Transaction, GetApi, ArgSource, ArgSources } from '@dbos-inc/dbos-sdk';
|
|
1
|
+
import { HandlerContext, TransactionContext, Transaction, GetApi, ArgSource, ArgSources } from '@dbos-inc/dbos-sdk';
|
|
2
2
|
import { Knex } from 'knex';
|
|
3
3
|
|
|
4
4
|
// The schema of the database table used in this example.
|
|
@@ -9,6 +9,18 @@ export interface dbos_hello {
|
|
|
9
9
|
|
|
10
10
|
export class Hello {
|
|
11
11
|
|
|
12
|
+
@GetApi('/') // Serve a quick readme for the app
|
|
13
|
+
static async readme(_ctxt: HandlerContext) {
|
|
14
|
+
const readme = '<html><body><p>' +
|
|
15
|
+
'Welcome to the DBOS Hello App!<br><br>' +
|
|
16
|
+
'Visit the route /greeting/:name to be greeted!<br>' +
|
|
17
|
+
'For example, visit <a href="/greeting/dbos">/greeting/dbos</a>.<br>' +
|
|
18
|
+
'The counter increments with each page visit.<br>' +
|
|
19
|
+
'If you visit a new name like <a href="/greeting/alice">/greeting/alice</a>, the counter starts at 1.' +
|
|
20
|
+
'</p></body></html>';
|
|
21
|
+
return Promise.resolve(readme);
|
|
22
|
+
}
|
|
23
|
+
|
|
12
24
|
@GetApi('/greeting/:user') // Serve this function from HTTP GET requests to the /greeting endpoint with 'user' as a path parameter
|
|
13
25
|
@Transaction() // Run this function as a database transaction
|
|
14
26
|
static async helloTransaction(ctxt: TransactionContext<Knex>, @ArgSource(ArgSources.URL) user: string) {
|
|
@@ -12,17 +12,16 @@
|
|
|
12
12
|
"author": "",
|
|
13
13
|
"license": "ISC",
|
|
14
14
|
"devDependencies": {
|
|
15
|
-
"@dbos-inc/eslint-plugin": "^
|
|
15
|
+
"@dbos-inc/eslint-plugin": "^3.1.0",
|
|
16
16
|
"@types/jest": "^29.5.12",
|
|
17
17
|
"@types/supertest": "^6.0.2",
|
|
18
|
-
"eslint": "^
|
|
18
|
+
"eslint": "^8.57.0",
|
|
19
19
|
"jest": "^29.7.0",
|
|
20
20
|
"nodemon": "^3.1.0",
|
|
21
21
|
"prisma": "^5.15.0",
|
|
22
22
|
"supertest": "^7.0.0",
|
|
23
23
|
"ts-jest": "^29.1.2",
|
|
24
|
-
"typescript": "^5.4.5"
|
|
25
|
-
"typescript-eslint": "^8.0.0-alpha.30"
|
|
24
|
+
"typescript": "^5.4.5"
|
|
26
25
|
},
|
|
27
26
|
"dependencies": {
|
|
28
27
|
"@dbos-inc/dbos-sdk": "file:../../../..",
|
|
@@ -1,8 +1,19 @@
|
|
|
1
|
-
import { TransactionContext, Transaction, GetApi } from '@dbos-inc/dbos-sdk';
|
|
1
|
+
import { HandlerContext, TransactionContext, Transaction, GetApi } from '@dbos-inc/dbos-sdk';
|
|
2
2
|
import { PrismaClient } from "@prisma/client";
|
|
3
3
|
|
|
4
4
|
export class Hello {
|
|
5
5
|
|
|
6
|
+
@GetApi('/') // Serve a quick readme for the app
|
|
7
|
+
static async readme(_ctxt: HandlerContext) {
|
|
8
|
+
const readme = '<html><body><p>' +
|
|
9
|
+
'Welcome to the DBOS Hello App!<br><br>' +
|
|
10
|
+
'Visit the route /greeting/:name to be greeted!<br>' +
|
|
11
|
+
'For example, visit <a href="/greeting/dbos">/greeting/dbos</a>.<br>' +
|
|
12
|
+
'The counter increments with each page visit.' +
|
|
13
|
+
'</p></body></html>';
|
|
14
|
+
return Promise.resolve(readme);
|
|
15
|
+
}
|
|
16
|
+
|
|
6
17
|
@GetApi('/greeting/:name')
|
|
7
18
|
@Transaction()
|
|
8
19
|
static async helloTransaction(txnCtxt: TransactionContext<PrismaClient>, name: string) {
|
|
@@ -12,16 +12,15 @@
|
|
|
12
12
|
"author": "",
|
|
13
13
|
"license": "ISC",
|
|
14
14
|
"devDependencies": {
|
|
15
|
-
"@dbos-inc/eslint-plugin": "^
|
|
15
|
+
"@dbos-inc/eslint-plugin": "^3.1.0",
|
|
16
16
|
"@types/jest": "^29.5.12",
|
|
17
17
|
"@types/supertest": "^6.0.2",
|
|
18
|
-
"eslint": "^
|
|
18
|
+
"eslint": "^8.57.0",
|
|
19
19
|
"jest": "^29.7.0",
|
|
20
20
|
"nodemon": "^3.1.0",
|
|
21
21
|
"supertest": "^7.0.0",
|
|
22
22
|
"ts-jest": "^29.1.2",
|
|
23
|
-
"typescript": "^5.4.5"
|
|
24
|
-
"typescript-eslint": "^8.0.0-alpha.30"
|
|
23
|
+
"typescript": "^5.4.5"
|
|
25
24
|
},
|
|
26
25
|
"dependencies": {
|
|
27
26
|
"@dbos-inc/dbos-sdk": "file:../../../..",
|
|
@@ -1,10 +1,21 @@
|
|
|
1
|
-
import { TransactionContext, Transaction, GetApi, OrmEntities } from '@dbos-inc/dbos-sdk';
|
|
1
|
+
import { HandlerContext, TransactionContext, Transaction, GetApi, OrmEntities } from '@dbos-inc/dbos-sdk';
|
|
2
2
|
import { EntityManager } from "typeorm";
|
|
3
3
|
import { DBOSHello } from '../entities/DBOSHello';
|
|
4
4
|
|
|
5
5
|
@OrmEntities([DBOSHello])
|
|
6
6
|
export class Hello {
|
|
7
7
|
|
|
8
|
+
@GetApi('/') // Serve a quick readme for the app
|
|
9
|
+
static async readme(_ctxt: HandlerContext) {
|
|
10
|
+
const readme = '<html><body><p>' +
|
|
11
|
+
'Welcome to the DBOS Hello App!<br><br>' +
|
|
12
|
+
'Visit the route /greeting/:name to be greeted!<br>' +
|
|
13
|
+
'For example, visit <a href="/greeting/dbos">/greeting/dbos</a>.<br>' +
|
|
14
|
+
'The counter increments with each page visit.' +
|
|
15
|
+
'</p></body></html>';
|
|
16
|
+
return Promise.resolve(readme);
|
|
17
|
+
}
|
|
18
|
+
|
|
8
19
|
@GetApi('/greeting/:name')
|
|
9
20
|
@Transaction()
|
|
10
21
|
static async helloTransaction(txnCtxt: TransactionContext<EntityManager>, name: string) {
|