@foal/cli 2.11.0 → 3.0.0-alpha.1

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 (49) hide show
  1. package/lib/create-secret/create-secret.js +1 -1
  2. package/lib/generate/file-system.js +47 -47
  3. package/lib/generate/generators/angular/connect-angular.js +11 -12
  4. package/lib/generate/generators/app/create-app.js +11 -12
  5. package/lib/generate/generators/controller/create-controller.js +4 -4
  6. package/lib/generate/generators/entity/create-entity.js +2 -2
  7. package/lib/generate/generators/hook/create-hook.js +2 -2
  8. package/lib/generate/generators/index.d.ts +0 -1
  9. package/lib/generate/generators/index.js +5 -2
  10. package/lib/generate/generators/react/connect-react.js +3 -3
  11. package/lib/generate/generators/rest-api/create-rest-api.js +9 -5
  12. package/lib/generate/generators/script/create-script.js +1 -1
  13. package/lib/generate/generators/service/create-service.js +2 -2
  14. package/lib/generate/generators/vue/connect-vue.js +4 -4
  15. package/lib/generate/index.js +5 -1
  16. package/lib/generate/templates/app/.eslintrc.js +13 -14
  17. package/lib/generate/templates/app/package.json +17 -17
  18. package/lib/generate/templates/app/package.mongodb.json +13 -13
  19. package/lib/generate/templates/app/package.mongodb.yaml.json +13 -13
  20. package/lib/generate/templates/app/package.yaml.json +17 -17
  21. package/lib/generate/templates/app/src/app/app.controller.ts +0 -5
  22. package/lib/generate/templates/app/src/app/entities/user.entity.mongodb.ts +3 -14
  23. package/lib/generate/templates/app/src/app/entities/user.entity.ts +1 -12
  24. package/lib/generate/templates/app/src/db.ts +24 -0
  25. package/lib/generate/templates/app/src/e2e/index.ts +10 -2
  26. package/lib/generate/templates/app/src/index.ts +3 -0
  27. package/lib/generate/templates/app/src/scripts/create-user.ts +9 -13
  28. package/lib/generate/templates/app/tsconfig.json +3 -3
  29. package/lib/generate/templates/entity/entity.mongodb.ts +3 -3
  30. package/lib/generate/templates/rest-api/controllers/controller.auth.ts +15 -16
  31. package/lib/generate/templates/rest-api/controllers/controller.spec.auth.ts +27 -21
  32. package/lib/generate/templates/rest-api/controllers/controller.spec.ts +24 -16
  33. package/lib/generate/templates/rest-api/controllers/controller.ts +9 -10
  34. package/lib/generate/templates/script/script.ts +4 -14
  35. package/lib/generate/utils/init-git-repo.js +2 -2
  36. package/lib/generate/utils/mkdir-if-does-not-exist.js +2 -2
  37. package/lib/generate/utils/rm-dir-and-files-if-exist.js +6 -6
  38. package/lib/index.js +41 -41
  39. package/lib/rmdir/rmdir.util.js +5 -5
  40. package/lib/run-script/run-script.js +7 -7
  41. package/package.json +12 -12
  42. package/lib/generate/generators/vscode-config/create-vscode-config.d.ts +0 -1
  43. package/lib/generate/generators/vscode-config/create-vscode-config.js +0 -15
  44. package/lib/generate/generators/vscode-config/index.d.ts +0 -1
  45. package/lib/generate/generators/vscode-config/index.js +0 -5
  46. package/lib/generate/templates/app/ormconfig.js +0 -21
  47. package/lib/generate/templates/app/src/scripts/create-user.mongodb.ts +0 -38
  48. package/lib/generate/templates/vscode-config/launch.json +0 -54
  49. package/lib/generate/templates/vscode-config/tasks.json +0 -25
@@ -5,28 +5,28 @@ exports.runScript = void 0;
5
5
  const fs_1 = require("fs");
6
6
  const path_1 = require("path");
7
7
  // 3p
8
- const Ajv = require("ajv");
8
+ const ajv_1 = require("ajv");
9
9
  // FoalTS
10
10
  const get_command_line_arguments_util_1 = require("./get-command-line-arguments.util");
11
11
  async function runScript({ name }, argv, log = console.log) {
12
- if (!fs_1.existsSync(`build/scripts/${name}.js`)) {
13
- if (fs_1.existsSync(`src/scripts/${name}.ts`)) {
12
+ if (!(0, fs_1.existsSync)(`build/scripts/${name}.js`)) {
13
+ if ((0, fs_1.existsSync)(`src/scripts/${name}.ts`)) {
14
14
  log(`The script "${name}" does not exist in build/scripts/. But it exists in src/scripts/.`
15
- + ' Please build your script by running the command "npm run build" or using "npm run develop".');
15
+ + ' Please build your script by running the command "npm run build" or using "npm run dev".');
16
16
  }
17
17
  else {
18
18
  log(`The script "${name}" does not exist. You can create it by running the command "foal g script ${name}".`);
19
19
  }
20
20
  return;
21
21
  }
22
- const { main, schema } = require(path_1.join(process.cwd(), `./build/scripts/${name}`));
22
+ const { main, schema } = require((0, path_1.join)(process.cwd(), `./build/scripts/${name}`));
23
23
  if (!main) {
24
24
  log(`Error: No "main" function was found in build/scripts/${name}.js.`);
25
25
  return;
26
26
  }
27
- const args = get_command_line_arguments_util_1.getCommandLineArguments(argv);
27
+ const args = (0, get_command_line_arguments_util_1.getCommandLineArguments)(argv);
28
28
  if (schema) {
29
- const ajv = new Ajv({ useDefaults: true });
29
+ const ajv = new ajv_1.default({ useDefaults: true });
30
30
  if (!ajv.validate(schema, args)) {
31
31
  ajv.errors.forEach(err => {
32
32
  log(`Error: The command line arguments ${err.message}.`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foal/cli",
3
- "version": "2.11.0",
3
+ "version": "3.0.0-alpha.1",
4
4
  "description": "CLI tool for FoalTS",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  "url": "https://github.com/sponsors/LoicPoullain"
24
24
  },
25
25
  "engines": {
26
- "node": ">=10"
26
+ "node": ">=16.0.0"
27
27
  },
28
28
  "bin": {
29
29
  "foal": "./lib/index.js"
@@ -57,19 +57,19 @@
57
57
  "bin/"
58
58
  ],
59
59
  "dependencies": {
60
- "ajv": "~6.12.0",
60
+ "ajv": "~8.11.0",
61
61
  "cli-spinner": "~0.2.10",
62
62
  "colors": "1.4.0",
63
- "commander": "~7.2.0"
63
+ "commander": "~9.3.0"
64
64
  },
65
65
  "devDependencies": {
66
- "@types/mocha": "7.0.2",
67
- "@types/node": "10.17.24",
68
- "copyfiles": "~2.4.0",
69
- "mocha": "~8.3.0",
70
- "rimraf": "~2.6.2",
71
- "ts-node": "~9.0.0",
72
- "typescript": "~4.0.2"
66
+ "@types/mocha": "9.1.1",
67
+ "@types/node": "16.11.7",
68
+ "copyfiles": "~2.4.1",
69
+ "mocha": "~10.0.0",
70
+ "rimraf": "~3.0.2",
71
+ "ts-node": "~10.8.1",
72
+ "typescript": "~4.7.4"
73
73
  },
74
- "gitHead": "9d6734838ad699267f774bf84139b7a5cfc2dcfa"
74
+ "gitHead": "09c5f8f7d2dd52f2427a94d8e9d5fde748cc220c"
75
75
  }
@@ -1 +0,0 @@
1
- export declare function createVSCodeConfig(): void;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createVSCodeConfig = void 0;
4
- // FoalTS
5
- const file_system_1 = require("../../file-system");
6
- function createVSCodeConfig() {
7
- new file_system_1.FileSystem()
8
- // TODO: test this line
9
- .cdProjectRootDir()
10
- .ensureDir('.vscode')
11
- .cd('.vscode')
12
- .copy('vscode-config/launch.json', 'launch.json')
13
- .copy('vscode-config/tasks.json', 'tasks.json');
14
- }
15
- exports.createVSCodeConfig = createVSCodeConfig;
@@ -1 +0,0 @@
1
- export { createVSCodeConfig } from './create-vscode-config';
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createVSCodeConfig = void 0;
4
- var create_vscode_config_1 = require("./create-vscode-config");
5
- Object.defineProperty(exports, "createVSCodeConfig", { enumerable: true, get: function () { return create_vscode_config_1.createVSCodeConfig; } });
@@ -1,21 +0,0 @@
1
- const { Config } = require('@foal/core');
2
-
3
- module.exports = {
4
- type: Config.getOrThrow('database.type', 'string'),
5
-
6
- url: Config.get('database.url', 'string'),
7
- host: Config.get('database.host', 'string'),
8
- port: Config.get('database.port', 'number'),
9
- username: Config.get('database.username', 'string'),
10
- password: Config.get('database.password', 'string'),
11
- database: Config.get('database.database', 'string'),
12
-
13
- dropSchema: Config.get('database.dropSchema', 'boolean', false),
14
- synchronize: Config.get('database.synchronize', 'boolean', false),
15
-
16
- entities: ["build/app/**/*.entity.js"],
17
- migrations: ["build/migrations/*.js"],
18
- cli: {
19
- migrationsDir: "src/migrations"
20
- },
21
- }
@@ -1,38 +0,0 @@
1
- // 3p
2
- // import { isCommon } from '@foal/password';
3
- import { createConnection, getConnection, getMongoManager } from 'typeorm';
4
-
5
- // App
6
- import { User } from '../app/entities';
7
-
8
- export const schema = {
9
- additionalProperties: false,
10
- properties: {
11
- // email: { type: 'string', format: 'email' },
12
- // password: { type: 'string' },
13
- },
14
- required: [ /* 'email', 'password' */ ],
15
- type: 'object',
16
- };
17
-
18
- export async function main(/*args*/) {
19
- const user = new User();
20
- // user.email = args.email;
21
- // if (await isCommon(args.password)) {
22
- // console.log('This password is too common. Please choose another one.');
23
- // return;
24
- // }
25
- // await user.setPassword(args.password);
26
-
27
- await createConnection();
28
-
29
- try {
30
- console.log(
31
- await getMongoManager().save(user)
32
- );
33
- } catch (error: any) {
34
- console.log(error.message);
35
- } finally {
36
- await getConnection().close();
37
- }
38
- }
@@ -1,54 +0,0 @@
1
- {
2
- "version": "0.2.0",
3
- "configurations": [
4
- {
5
- "type": "node",
6
- "request": "launch",
7
- "name": "Start the server",
8
- "program": "${workspaceFolder}/build/index.js",
9
- "preLaunchTask": "build",
10
- "outFiles": [
11
- "${workspaceFolder}/build/**/*.js"
12
- ],
13
- "internalConsoleOptions": "openOnSessionStart"
14
- },
15
- {
16
- "type": "node",
17
- "request": "launch",
18
- "name": "Run unit tests",
19
- "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
20
- "args": [
21
- "--timeout",
22
- "999999",
23
- "--colors",
24
- "--file",
25
- "./build/test.js",
26
- "${workspaceFolder}/build/**/*.spec.js"
27
- ],
28
- "preLaunchTask": "build:test",
29
- "outFiles": [
30
- "${workspaceFolder}/build/**/*.js"
31
- ],
32
- "internalConsoleOptions": "openOnSessionStart"
33
- },
34
- {
35
- "type": "node",
36
- "request": "launch",
37
- "name": "Run e2e tests",
38
- "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
39
- "args": [
40
- "--timeout",
41
- "999999",
42
- "--colors",
43
- "--file",
44
- "./build/e2e.js",
45
- "${workspaceFolder}/build/e2e/**/*.js"
46
- ],
47
- "preLaunchTask": "build:e2e",
48
- "outFiles": [
49
- "${workspaceFolder}/build/**/*.js"
50
- ],
51
- "internalConsoleOptions": "openOnSessionStart"
52
- }
53
- ]
54
- }
@@ -1,25 +0,0 @@
1
- {
2
- // See https://go.microsoft.com/fwlink/?LinkId=733558
3
- // for the documentation about the tasks.json format
4
- "version": "2.0.0",
5
- "tasks": [
6
- {
7
- "type": "npm",
8
- "script": "build",
9
- "label": "build",
10
- "problemMatcher": []
11
- },
12
- {
13
- "type": "npm",
14
- "script": "build:test",
15
- "label": "build:test",
16
- "problemMatcher": []
17
- },
18
- {
19
- "type": "npm",
20
- "script": "build:e2e",
21
- "label": "build:e2e",
22
- "problemMatcher": []
23
- }
24
- ]
25
- }