@dbos-inc/create 2.2.9-preview.g48d872ebd0 → 2.3.7-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.
Files changed (52) hide show
  1. package/dist/cli.js +4 -4
  2. package/dist/cli.js.map +1 -1
  3. package/dist/github-create.js +3 -3
  4. package/dist/github-create.js.map +1 -1
  5. package/dist/init.d.ts.map +1 -1
  6. package/dist/init.js +16 -15
  7. package/dist/init.js.map +1 -1
  8. package/package.json +1 -1
  9. package/templates/dbos-drizzle/README.md +1 -1
  10. package/templates/dbos-drizzle/dbos-config.yaml +1 -1
  11. package/templates/dbos-drizzle/drizzle/meta/0000_snapshot.json +1 -1
  12. package/templates/dbos-drizzle/drizzle/meta/_journal.json +1 -1
  13. package/templates/dbos-drizzle/drizzle.config.ts +1 -1
  14. package/templates/dbos-drizzle/eslint.config.js +13 -13
  15. package/templates/dbos-drizzle/jest.config.js +1 -1
  16. package/templates/dbos-drizzle/nodemon.json +0 -1
  17. package/templates/dbos-drizzle/src/operations.test.ts +11 -13
  18. package/templates/dbos-drizzle/src/operations.ts +10 -5
  19. package/templates/dbos-drizzle/src/schema.ts +2 -2
  20. package/templates/dbos-drizzle/start_postgres_docker.js +9 -7
  21. package/templates/dbos-drizzle/tsconfig.json +15 -20
  22. package/templates/dbos-knex/README.md +1 -1
  23. package/templates/dbos-knex/dbos-config.yaml +1 -1
  24. package/templates/dbos-knex/eslint.config.js +13 -13
  25. package/templates/dbos-knex/jest.config.js +1 -1
  26. package/templates/dbos-knex/knexfile.js +3 -3
  27. package/templates/dbos-knex/migrations/20240212161006_create_dbos_hello_tables.js +5 -5
  28. package/templates/dbos-knex/nodemon.json +0 -1
  29. package/templates/dbos-knex/src/main.test.ts +12 -14
  30. package/templates/dbos-knex/src/main.ts +13 -9
  31. package/templates/dbos-knex/start_postgres_docker.js +9 -7
  32. package/templates/dbos-knex/tsconfig.json +15 -20
  33. package/templates/dbos-prisma/README.md +1 -1
  34. package/templates/dbos-prisma/eslint.config.js +13 -13
  35. package/templates/dbos-prisma/generate_env.js +4 -4
  36. package/templates/dbos-prisma/jest.config.js +1 -1
  37. package/templates/dbos-prisma/nodemon.json +5 -7
  38. package/templates/dbos-prisma/src/operations.test.ts +8 -10
  39. package/templates/dbos-prisma/src/operations.ts +8 -6
  40. package/templates/dbos-prisma/start_postgres_docker.js +9 -7
  41. package/templates/dbos-prisma/tsconfig.json +15 -19
  42. package/templates/dbos-typeorm/README.md +1 -1
  43. package/templates/dbos-typeorm/datasource.ts +18 -18
  44. package/templates/dbos-typeorm/entities/DBOSHello.ts +5 -5
  45. package/templates/dbos-typeorm/eslint.config.js +13 -13
  46. package/templates/dbos-typeorm/jest.config.js +1 -1
  47. package/templates/dbos-typeorm/migrations/1714934318136-DBOSHello.ts +10 -9
  48. package/templates/dbos-typeorm/nodemon.json +5 -7
  49. package/templates/dbos-typeorm/src/operations.test.ts +8 -10
  50. package/templates/dbos-typeorm/src/operations.ts +8 -6
  51. package/templates/dbos-typeorm/start_postgres_docker.js +9 -7
  52. package/templates/dbos-typeorm/tsconfig.json +17 -19
package/dist/cli.js CHANGED
@@ -2,15 +2,15 @@
2
2
  import { Command } from 'commander';
3
3
  import { init, isValidApplicationName, listTemplates } from './init.js';
4
4
  import fs from 'fs';
5
- import path from "path";
6
- import { input, select } from "@inquirer/prompts";
5
+ import path from 'path';
6
+ import { input, select } from '@inquirer/prompts';
7
7
  const program = new Command();
8
8
  ////////////////////////
9
9
  /* LOCAL DEVELOPMENT */
10
10
  ////////////////////////
11
11
  import { fileURLToPath } from 'url';
12
12
  const __dirname = fileURLToPath(new URL('.', import.meta.url));
13
- const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, "..", "package.json")).toString());
13
+ const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'package.json')).toString());
14
14
  program.version(packageJson.version);
15
15
  program
16
16
  .description('Init a DBOS application')
@@ -29,7 +29,7 @@ program
29
29
  // TODO: add descriptions for each template.
30
30
  template = await select({
31
31
  message: 'Choose a template to use:',
32
- choices: templates.map(t => ({ name: t, value: t })),
32
+ choices: templates.map((t) => ({ name: t, value: t })),
33
33
  });
34
34
  appName = await input({
35
35
  message: 'What is the application/directory name to create?',
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAY,CAAC;AAClH,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAErC,OAAO;KACJ,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,kCAAkC,EAAE,kBAAkB,CAAC;KAC9D,MAAM,CAAC,gCAAgC,EAAE,sCAAsC,CAAC;KAChF,MAAM,CAAC,KAAK,EAAE,OAAgD,EAAE,OAAgB,EAAE,EAAE;IACnF,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,EAAC,OAAO,EAAE,QAAQ,EAAC,GAAG,OAAO,CAAC;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC;IAChC,CAAC;SACI,CAAC;QACJ,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,4CAA4C;QAC5C,QAAQ,GAAG,MAAM,MAAM,CACrB;YACE,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SACrD,CAAC,CAAC;QACL,OAAO,GAAG,MAAM,KAAK,CACnB;YACE,OAAO,EAAE,mDAAmD;YAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ;YAC5B,QAAQ,EAAE,sBAAsB;SACjC,CAAC,CAAC;IACP,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;KACD,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAE7B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAY,CAAC;AAClH,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAErC,OAAO;KACJ,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,kCAAkC,EAAE,kBAAkB,CAAC;KAC9D,MAAM,CAAC,gCAAgC,EAAE,sCAAsC,CAAC;KAChF,MAAM,CAAC,KAAK,EAAE,OAAgD,EAAE,OAAgB,EAAE,EAAE;IACnF,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACpC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,4CAA4C;QAC5C,QAAQ,GAAG,MAAM,MAAM,CAAC;YACtB,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SACvD,CAAC,CAAC;QACH,OAAO,GAAG,MAAM,KAAK,CAAC;YACpB,OAAO,EAAE,mDAAmD;YAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ;YAC5B,QAAQ,EAAE,sBAAsB;SACjC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;KACD,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAE7B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
- import chalk from "chalk";
2
- import fs from "fs";
3
- import path from "path";
1
+ import chalk from 'chalk';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
4
  const DEMO_REPO_API = 'https://api.github.com/repos/dbos-inc/dbos-demo-apps';
5
5
  const TS_DEMO_PATH = 'typescript/';
6
6
  const BRANCH = 'main';
@@ -1 +1 @@
1
- {"version":3,"file":"github-create.js","sourceRoot":"","sources":["../github-create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-create.js","sourceRoot":"","sources":["../github-create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../init.ts"],"names":[],"mappings":"AASA,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CACvC;AAID,eAAO,MAAM,IAAI,QACV,MAAM,WACF,MAAM,EAAE,QACX,MAAM,eACW,UAAU,oBA4BlC,CAAA;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAQxE;AAyDD,wBAAsB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,iBAmC/D;AAMD,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAWxC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../init.ts"],"names":[],"mappings":"AASA,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CACvC;AAID,eAAO,MAAM,IAAI,QAAe,MAAM,WAAW,MAAM,EAAE,QAAQ,MAAM,eAAyB,UAAU,oBA2BzG,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAQxE;AAwDD,wBAAsB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,iBA8C/D;AAMD,wBAAgB,aAAa,IAAI,MAAM,EAAE,CASxC"}
package/dist/init.js CHANGED
@@ -16,7 +16,7 @@ export const copy = async (src, targets, dest, { rename = identity } = {}) => {
16
16
  dot: true,
17
17
  absolute: false,
18
18
  stats: false,
19
- ignore: ['package-lock.json', '**/node_modules/**', '**/dist/**']
19
+ ignore: ['package-lock.json', '**/node_modules/**', '**/dist/**'],
20
20
  });
21
21
  return Promise.all(sourceFiles.map(async (p) => {
22
22
  const dirname = path.dirname(p);
@@ -30,10 +30,10 @@ export const copy = async (src, targets, dest, { rename = identity } = {}) => {
30
30
  };
31
31
  export function isValidApplicationName(appName) {
32
32
  if (appName.length < 3 || appName.length > 30) {
33
- return "Application name must be between 3 and 30 characters long";
33
+ return 'Application name must be between 3 and 30 characters long';
34
34
  }
35
- if (!validator.matches(appName, "^[a-z0-9-_]+$")) {
36
- return "Application name can only contain lowercase letters, numbers, hyphens and underscores";
35
+ if (!validator.matches(appName, '^[a-z0-9-_]+$')) {
36
+ return 'Application name can only contain lowercase letters, numbers, hyphens and underscores';
37
37
  }
38
38
  return true;
39
39
  }
@@ -47,7 +47,7 @@ function dirHasStuffInIt(pathName) {
47
47
  for (const file of files) {
48
48
  const fullPath = path.join(pathName, file);
49
49
  const isDirectory = fs.lstatSync(fullPath).isDirectory();
50
- if (isDirectory && !pathPrefixesAllowedInEmpty.some(prefix => file.startsWith(prefix))) {
50
+ if (isDirectory && !pathPrefixesAllowedInEmpty.some((prefix) => file.startsWith(prefix))) {
51
51
  //console.log(`Directory ${pathName} is not sufficiently empty because it contains directory: ${file}`);
52
52
  return true;
53
53
  }
@@ -68,7 +68,7 @@ function loadGitignoreFile(filePath) {
68
68
  }
69
69
  function mergeGitIgnore(existingGISet, templateGISet) {
70
70
  const resultSet = new Set(existingGISet);
71
- templateGISet.forEach(line => {
71
+ templateGISet.forEach((line) => {
72
72
  if (!resultSet.has(line)) {
73
73
  resultSet.add(line);
74
74
  }
@@ -102,7 +102,7 @@ export async function init(appName, templateName) {
102
102
  }
103
103
  else {
104
104
  // Copy the template from the local templates directory
105
- const targets = ["**"];
105
+ const targets = ['**'];
106
106
  await copy(templatePath, targets, appName);
107
107
  mergeGitignoreFiles(path.join(appName, '.gitignore'), path.join(appName, 'gitignore.template'), path.join(appName, '.gitignore'));
108
108
  fs.rmSync(path.resolve(appName, 'gitignore.template'));
@@ -111,21 +111,22 @@ export async function init(appName, templateName) {
111
111
  const packageJson = JSON.parse(fs.readFileSync(packageJsonName, 'utf-8'));
112
112
  packageJson.name = appName;
113
113
  fs.writeFileSync(packageJsonName, JSON.stringify(packageJson, null, 2), 'utf-8');
114
- execSync("npm install --no-fund --save @dbos-inc/dbos-sdk@latest --loglevel=error", { cwd: appName, stdio: 'inherit' });
115
- execSync("npm i --no-fund --loglevel=error", { cwd: appName, stdio: 'inherit' });
116
- execSync("npm install --no-fund --save-dev @dbos-inc/dbos-cloud@latest", { cwd: appName, stdio: 'inherit' });
117
- console.log("Application initialized successfully!");
114
+ execSync('npm install --no-fund --save @dbos-inc/dbos-sdk@latest --loglevel=error', {
115
+ cwd: appName,
116
+ stdio: 'inherit',
117
+ });
118
+ execSync('npm i --no-fund --loglevel=error', { cwd: appName, stdio: 'inherit' });
119
+ execSync('npm install --no-fund --save-dev @dbos-inc/dbos-cloud@latest', { cwd: appName, stdio: 'inherit' });
120
+ console.log('Application initialized successfully!');
118
121
  }
119
122
  // Templates that will be downloaded through the demo apps repository
120
- const DEMO_TEMPLATES = ['dbos-node-starter', 'dbos-nextjs-starter'];
123
+ const DEMO_TEMPLATES = ['dbos-node-toolbox', 'dbos-node-starter', 'dbos-nextjs-starter'];
121
124
  // Return a list of available templates
122
125
  export function listTemplates() {
123
126
  const __dirname = fileURLToPath(new URL('.', import.meta.url));
124
127
  const templatePath = path.resolve(__dirname, '..', 'templates');
125
128
  const items = fs.readdirSync(templatePath, { withFileTypes: true });
126
- const templates = items
127
- .filter(item => item.isDirectory())
128
- .map(folder => folder.name);
129
+ const templates = items.filter((item) => item.isDirectory()).map((folder) => folder.name);
129
130
  // Insert demo templates at the beginning of the list
130
131
  templates.unshift(...DEMO_TEMPLATES);
131
132
  return templates;
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../init.ts"],"names":[],"mappings":"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"}
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": "2.2.9-preview.g48d872ebd0",
3
+ "version": "2.3.7-preview",
4
4
  "description": "Tool for performing project initialization from template",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -18,6 +18,6 @@ Congratulations! You just launched a DBOS application.
18
18
 
19
19
  ## Next Steps
20
20
 
21
- - To add more functionality to this application, modify `src/operations.ts`, then rebuild and restart it. Alternatively, `npm run dev` uses `nodemon` to automatically rebuild and restart the app when source files change, using instructions specified in `nodemon.json`.
21
+ - To add more functionality to this application, modify `src/operations.ts`, then rebuild and restart it. Alternatively, `npm run dev` uses `nodemon` to automatically rebuild and restart the app when source files change, using instructions specified in `nodemon.json`.
22
22
  - For a detailed tutorial, check out the [programming guide](https://docs.dbos.dev/typescript/programming-guide).
23
23
  - To learn more about DBOS, take a look at [the documentation](https://docs.dbos.dev/) or [source code](https://github.com/dbos-inc/dbos-transact-ts).
@@ -10,4 +10,4 @@ database:
10
10
  - npx drizzle-kit migrate
11
11
  runtimeConfig:
12
12
  entrypoints:
13
- - dist/operations.js
13
+ - dist/operations.js
@@ -35,4 +35,4 @@
35
35
  "schemas": {},
36
36
  "tables": {}
37
37
  }
38
- }
38
+ }
@@ -10,4 +10,4 @@
10
10
  "breakpoints": true
11
11
  }
12
12
  ]
13
- }
13
+ }
@@ -2,7 +2,7 @@ import { defineConfig } from 'drizzle-kit';
2
2
 
3
3
  const { parseConfigFile } = require('@dbos-inc/dbos-sdk');
4
4
 
5
- const [dbosConfig, ] = parseConfigFile();
5
+ const [dbosConfig] = parseConfigFile();
6
6
 
7
7
  export default defineConfig({
8
8
  schema: './src/schema.ts',
@@ -1,28 +1,28 @@
1
- const { FlatCompat } = require("@eslint/eslintrc");
2
- const dbosIncEslintPlugin = require("@dbos-inc/eslint-plugin");
3
- const typescriptEslint = require("typescript-eslint");
4
- const typescriptEslintParser = require("@typescript-eslint/parser");
5
- const globals = require("globals");
6
- const js = require("@eslint/js");
1
+ const { FlatCompat } = require('@eslint/eslintrc');
2
+ const dbosIncEslintPlugin = require('@dbos-inc/eslint-plugin');
3
+ const typescriptEslint = require('typescript-eslint');
4
+ const typescriptEslintParser = require('@typescript-eslint/parser');
5
+ const globals = require('globals');
6
+ const js = require('@eslint/js');
7
7
 
8
8
  const compat = new FlatCompat({
9
9
  baseDirectory: __dirname,
10
- recommendedConfig: js.configs.recommended
10
+ recommendedConfig: js.configs.recommended,
11
11
  });
12
12
 
13
13
  module.exports = typescriptEslint.config({
14
- extends: compat.extends("plugin:@dbos-inc/dbosRecommendedConfig"),
15
- plugins: { "@dbos-inc": dbosIncEslintPlugin },
14
+ extends: compat.extends('plugin:@dbos-inc/dbosRecommendedConfig'),
15
+ plugins: { '@dbos-inc': dbosIncEslintPlugin },
16
16
 
17
17
  languageOptions: {
18
18
  parser: typescriptEslintParser,
19
- parserOptions: { project: "./tsconfig.json" },
20
- globals: { ...globals.node, ...globals.es6 }
19
+ parserOptions: { project: './tsconfig.json' },
20
+ globals: { ...globals.node, ...globals.es6 },
21
21
  },
22
22
 
23
23
  rules: {
24
- "no-secrets/no-secrets": ["error", { "tolerance": 5 }]
24
+ 'no-secrets/no-secrets': ['error', { tolerance: 5 }],
25
25
  },
26
26
 
27
- ignores: ["**/*.test.ts"]
27
+ ignores: ['**/*.test.ts'],
28
28
  });
@@ -4,5 +4,5 @@ module.exports = {
4
4
  testEnvironment: 'node',
5
5
  testRegex: '((\\.|/)(test|spec))\\.ts?$',
6
6
  moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
7
- modulePaths: ["./"],
7
+ modulePaths: ['./'],
8
8
  };
@@ -4,4 +4,3 @@
4
4
  "ignore": ["src/**/*.test.ts"],
5
5
  "exec": "npm run build && npm run start"
6
6
  }
7
-
@@ -1,8 +1,8 @@
1
- import { DBOS } from "@dbos-inc/dbos-sdk";
2
- import { Hello } from "./operations";
3
- import request from "supertest";
1
+ import { DBOS } from '@dbos-inc/dbos-sdk';
2
+ import { Hello } from './operations';
3
+ import request from 'supertest';
4
4
 
5
- describe("operations-test", () => {
5
+ describe('operations-test', () => {
6
6
  beforeAll(async () => {
7
7
  await DBOS.launch();
8
8
  await DBOS.launchAppHTTPServer();
@@ -15,23 +15,21 @@ describe("operations-test", () => {
15
15
  /**
16
16
  * Test the transaction.
17
17
  */
18
- test("test-transaction", async () => {
19
- const res = await Hello.helloTransaction("dbos");
20
- expect(res).toMatch("Hello, dbos! We have made");
18
+ test('test-transaction', async () => {
19
+ const res = await Hello.helloTransaction('dbos');
20
+ expect(res).toMatch('Hello, dbos! We have made');
21
21
 
22
22
  // Check the greet count.
23
- const rows = await DBOS.executor.queryUserDB("SELECT * FROM dbos_hello WHERE greet_count=1");
23
+ const rows = await DBOS.executor.queryUserDB('SELECT * FROM dbos_hello WHERE greet_count=1');
24
24
  expect(rows.length).toEqual(1);
25
25
  });
26
26
 
27
27
  /**
28
28
  * Test the HTTP endpoint.
29
29
  */
30
- test("test-endpoint", async () => {
31
- const res = await request(DBOS.getHTTPHandlersCallback()).get(
32
- "/greeting/dbos"
33
- );
30
+ test('test-endpoint', async () => {
31
+ const res = await request(DBOS.getHTTPHandlersCallback()).get('/greeting/dbos');
34
32
  expect(res.statusCode).toBe(200);
35
- expect(res.text).toMatch("Hello, dbos! We have made");
33
+ expect(res.text).toMatch('Hello, dbos! We have made');
36
34
  });
37
35
  });
@@ -8,13 +8,15 @@ import { dbosHello } from './schema';
8
8
  import { NodePgDatabase } from 'drizzle-orm/node-postgres';
9
9
 
10
10
  export class Hello {
11
-
12
11
  // Serve this function from HTTP GET requests at the /greeting endpoint with 'user' as a path parameter
13
12
  @DBOS.getApi('/greeting/:user')
14
13
  @DBOS.transaction()
15
14
  static async helloTransaction(user: string) {
16
15
  const greeting = `Hello, ${user}!`;
17
- const greetings_output = await (DBOS.drizzleClient as NodePgDatabase).insert(dbosHello).values({greeting}).returning({greet_count: dbosHello.greet_count});
16
+ const greetings_output = await (DBOS.drizzleClient as NodePgDatabase)
17
+ .insert(dbosHello)
18
+ .values({ greeting })
19
+ .returning({ greet_count: dbosHello.greet_count });
18
20
  const greeting_message = `${greeting} We have made ${greetings_output[0].greet_count} greetings.`;
19
21
  return Hello.makeHTML(greeting_message);
20
22
  }
@@ -25,14 +27,15 @@ export class Hello {
25
27
  const message = Hello.makeHTML(
26
28
  `Visit the route <code class="bg-gray-100 px-1 rounded">/greeting/{name}</code> to be greeted!<br>
27
29
  For example, visit <code class="bg-gray-100 px-1 rounded"><a href="/greeting/Mike" class="text-blue-600 hover:underline">/greeting/Mike</a></code><br>
28
- The counter increments with each page visit.`
30
+ The counter increments with each page visit.`,
29
31
  );
30
32
  return Promise.resolve(message);
31
33
  }
32
34
 
33
35
  // A helper function to create HTML pages with some styling
34
36
  static makeHTML(message: string) {
35
- const page = `
37
+ const page =
38
+ `
36
39
  <!DOCTYPE html>
37
40
  <html lang="en">
38
41
  <head>
@@ -41,7 +44,9 @@ export class Hello {
41
44
  </head>
42
45
  <body class="font-sans text-gray-800 p-6 max-w-2xl mx-auto">
43
46
  <h1 class="text-3xl font-semibold mb-4">Welcome to DBOS!</h1>
44
- <p class="mt-8 mb-8">` + message + `</p>
47
+ <p class="mt-8 mb-8">` +
48
+ message +
49
+ `</p>
45
50
  <p class="mb-2">
46
51
  This is the Drizzle quickstart template app. Read the documentation for it <a href="https://docs.dbos.dev/typescript/tutorials/using-drizzle" class="text-blue-600 hover:underline">here</a>.
47
52
  </p>
@@ -1,5 +1,5 @@
1
- import { serial } from "drizzle-orm/pg-core";
2
- import { pgTable, text } from "drizzle-orm/pg-core";
1
+ import { serial } from 'drizzle-orm/pg-core';
2
+ import { pgTable, text } from 'drizzle-orm/pg-core';
3
3
 
4
4
  export const dbosHello = pgTable('dbos_hello', {
5
5
  greet_count: serial('greet_count').primaryKey(),
@@ -13,28 +13,30 @@ process.argv.forEach((val, index) => {
13
13
  });
14
14
 
15
15
  if (!process.env.PGPASSWORD) {
16
- console.error("Error: PGPASSWORD is not set.");
16
+ console.error('Error: PGPASSWORD is not set.');
17
17
  process.exit(1);
18
18
  }
19
19
 
20
20
  try {
21
- execSync(`docker run --rm --name=dbos-db --env=POSTGRES_PASSWORD="${process.env.PGPASSWORD}" --env=PGDATA=/var/lib/postgresql/data --volume=/var/lib/postgresql/data -p ${port}:5432 -d sibedge/postgres-plv8`);
22
- console.log("Waiting for PostgreSQL to start...");
21
+ execSync(
22
+ `docker run --rm --name=dbos-db --env=POSTGRES_PASSWORD="${process.env.PGPASSWORD}" --env=PGDATA=/var/lib/postgresql/data --volume=/var/lib/postgresql/data -p ${port}:5432 -d sibedge/postgres-plv8`,
23
+ );
24
+ console.log('Waiting for PostgreSQL to start...');
23
25
 
24
26
  let attempts = 30;
25
27
  const checkDatabase = setInterval(() => {
26
28
  try {
27
29
  execSync('docker exec dbos-db psql -U postgres -c "SELECT 1;"', { stdio: 'ignore' });
28
- console.log("PostgreSQL started!");
30
+ console.log('PostgreSQL started!');
29
31
  clearInterval(checkDatabase);
30
- console.log("Database started successfully!");
32
+ console.log('Database started successfully!');
31
33
  } catch (error) {
32
34
  if (--attempts === 0) {
33
35
  clearInterval(checkDatabase);
34
- console.error("Failed to start PostgreSQL.");
36
+ console.error('Failed to start PostgreSQL.');
35
37
  }
36
38
  }
37
39
  }, 1000);
38
40
  } catch (error) {
39
- console.error("Error starting PostgreSQL in Docker:", error.message);
41
+ console.error('Error starting PostgreSQL in Docker:', error.message);
40
42
  }
@@ -1,25 +1,20 @@
1
1
  /* Visit https://aka.ms/tsconfig to read more about this file */
2
2
  {
3
3
  "compilerOptions": {
4
- "target": "esnext", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
5
- "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */
6
- "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
7
- "module": "Node16", /* Specify what module code is generated. */
8
- "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
9
- "declarationMap": true, /* Create sourcemaps for d.ts files. */
10
- "sourceMap": true, /* Create source map files for emitted JavaScript files. */
11
- "outDir": "./dist", /* Specify an output folder for all emitted files. */
12
- "newLine": "lf", /* Set the newline character for emitting files. */
13
- "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */
14
- "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */
15
- "strict": true, /* Enable all strict type-checking options. */
16
- "skipLibCheck": true /* Skip type checking all .d.ts files. */
4
+ "target": "esnext" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
5
+ "experimentalDecorators": true /* Enable experimental support for legacy experimental decorators. */,
6
+ "emitDecoratorMetadata": true /* Emit design-type metadata for decorated declarations in source files. */,
7
+ "module": "Node16" /* Specify what module code is generated. */,
8
+ "declaration": true /* Generate .d.ts files from TypeScript and JavaScript files in your project. */,
9
+ "declarationMap": true /* Create sourcemaps for d.ts files. */,
10
+ "sourceMap": true /* Create source map files for emitted JavaScript files. */,
11
+ "outDir": "./dist" /* Specify an output folder for all emitted files. */,
12
+ "newLine": "lf" /* Set the newline character for emitting files. */,
13
+ "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */,
14
+ "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
15
+ "strict": true /* Enable all strict type-checking options. */,
16
+ "skipLibCheck": true /* Skip type checking all .d.ts files. */
17
17
  },
18
- "include": [ /* Specifies an array of filenames or patterns to include in the program. */
19
- "src"
20
- ],
21
- "exclude": [
22
- "**/*.test.ts",
23
- "dist"
24
- ]
18
+ "include": [/* Specifies an array of filenames or patterns to include in the program. */ "src"],
19
+ "exclude": ["**/*.test.ts", "dist"]
25
20
  }
@@ -18,6 +18,6 @@ Congratulations! You just launched a DBOS application.
18
18
 
19
19
  ## Next Steps
20
20
 
21
- - To add more functionality to this application, modify `src/main.ts`, then rebuild and restart it. Alternatively, `npm run dev` uses `nodemon` to automatically rebuild and restart the app when source files change, using instructions specified in `nodemon.json`.
21
+ - To add more functionality to this application, modify `src/main.ts`, then rebuild and restart it. Alternatively, `npm run dev` uses `nodemon` to automatically rebuild and restart the app when source files change, using instructions specified in `nodemon.json`.
22
22
  - For a detailed tutorial, check out the [programming guide](https://docs.dbos.dev/typescript/programming-guide).
23
23
  - To learn more about DBOS, take a look at [the documentation](https://docs.dbos.dev/) or [source code](https://github.com/dbos-inc/dbos-transact-ts).
@@ -12,4 +12,4 @@ database:
12
12
  - npx knex migrate:rollback
13
13
  runtimeConfig:
14
14
  start:
15
- - node dist/main.js
15
+ - node dist/main.js
@@ -1,28 +1,28 @@
1
- const { FlatCompat } = require("@eslint/eslintrc");
2
- const dbosIncEslintPlugin = require("@dbos-inc/eslint-plugin");
3
- const typescriptEslint = require("typescript-eslint");
4
- const typescriptEslintParser = require("@typescript-eslint/parser");
5
- const globals = require("globals");
6
- const js = require("@eslint/js");
1
+ const { FlatCompat } = require('@eslint/eslintrc');
2
+ const dbosIncEslintPlugin = require('@dbos-inc/eslint-plugin');
3
+ const typescriptEslint = require('typescript-eslint');
4
+ const typescriptEslintParser = require('@typescript-eslint/parser');
5
+ const globals = require('globals');
6
+ const js = require('@eslint/js');
7
7
 
8
8
  const compat = new FlatCompat({
9
9
  baseDirectory: __dirname,
10
- recommendedConfig: js.configs.recommended
10
+ recommendedConfig: js.configs.recommended,
11
11
  });
12
12
 
13
13
  module.exports = typescriptEslint.config({
14
- extends: compat.extends("plugin:@dbos-inc/dbosRecommendedConfig"),
15
- plugins: { "@dbos-inc": dbosIncEslintPlugin },
14
+ extends: compat.extends('plugin:@dbos-inc/dbosRecommendedConfig'),
15
+ plugins: { '@dbos-inc': dbosIncEslintPlugin },
16
16
 
17
17
  languageOptions: {
18
18
  parser: typescriptEslintParser,
19
- parserOptions: { project: "./tsconfig.json" },
20
- globals: { ...globals.node, ...globals.es6 }
19
+ parserOptions: { project: './tsconfig.json' },
20
+ globals: { ...globals.node, ...globals.es6 },
21
21
  },
22
22
 
23
23
  rules: {
24
- "no-secrets/no-secrets": ["error", { "tolerance": 5 }]
24
+ 'no-secrets/no-secrets': ['error', { tolerance: 5 }],
25
25
  },
26
26
 
27
- ignores: ["**/*.test.ts"]
27
+ ignores: ['**/*.test.ts'],
28
28
  });
@@ -4,5 +4,5 @@ module.exports = {
4
4
  testEnvironment: 'node',
5
5
  testRegex: '((\\.|/)(test|spec))\\.ts?$',
6
6
  moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
7
- modulePaths: ["./"],
7
+ modulePaths: ['./'],
8
8
  };
@@ -1,6 +1,6 @@
1
1
  const { parseConfigFile } = require('@dbos-inc/dbos-sdk');
2
2
 
3
- const [dbosConfig, ] = parseConfigFile();
3
+ const [dbosConfig] = parseConfigFile();
4
4
 
5
5
  const config = {
6
6
  client: 'pg',
@@ -13,8 +13,8 @@ const config = {
13
13
  ssl: dbosConfig.poolConfig.ssl,
14
14
  },
15
15
  migrations: {
16
- directory: './migrations'
17
- }
16
+ directory: './migrations',
17
+ },
18
18
  };
19
19
 
20
20
  module.exports = config;
@@ -1,18 +1,18 @@
1
- const { Knex } = require("knex");
1
+ const { Knex } = require('knex');
2
2
 
3
- exports.up = async function(knex) {
4
- await knex.schema.createTable('dbos_hello', table => {
3
+ exports.up = async function (knex) {
4
+ await knex.schema.createTable('dbos_hello', (table) => {
5
5
  table.text('name').primary();
6
6
  table.integer('greet_count').defaultTo(0);
7
7
  });
8
8
 
9
- return knex.schema.createTable('dbos_greetings', table => {
9
+ return knex.schema.createTable('dbos_greetings', (table) => {
10
10
  table.text('greeting_name');
11
11
  table.text('greeting_note_content');
12
12
  });
13
13
  };
14
14
 
15
- exports.down = async function(knex) {
15
+ exports.down = async function (knex) {
16
16
  await knex.schema.dropTable('dbos_greetings');
17
17
  return knex.schema.dropTable('dbos_hello');
18
18
  };
@@ -4,4 +4,3 @@
4
4
  "ignore": ["src/**/*.test.ts"],
5
5
  "exec": "npm run build && npm run start"
6
6
  }
7
-