@yuuvis/client-cli 18.0.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/README.md +57 -0
- package/cli/commands/generate/app.d.ts +6 -0
- package/cli/commands/generate/app.js +80 -0
- package/cli/commands/generate/app.js.map +1 -0
- package/cli/commands/generate.d.ts +5 -0
- package/cli/commands/generate.js +13 -0
- package/cli/commands/generate.js.map +1 -0
- package/cli/commands/new.d.ts +5 -0
- package/cli/commands/new.js +38 -0
- package/cli/commands/new.js.map +1 -0
- package/cli/options/options-generate-app.json +18 -0
- package/cli/options/options-new.json +14 -0
- package/cli/utils.d.ts +7 -0
- package/cli/utils.js +25 -0
- package/cli/utils.js.map +1 -0
- package/cli/yuv.d.ts +2 -0
- package/cli/yuv.js +17 -0
- package/cli/yuv.js.map +1 -0
- package/package.json +23 -0
- package/schematics/app-manifest.d.ts +41 -0
- package/schematics/app-manifest.js +33 -0
- package/schematics/app-manifest.js.map +1 -0
- package/schematics/constants.d.ts +5 -0
- package/schematics/constants.js +9 -0
- package/schematics/constants.js.map +1 -0
- package/schematics/factories/collection.json +15 -0
- package/schematics/factories/generate-app/index.d.ts +8 -0
- package/schematics/factories/generate-app/index.js +117 -0
- package/schematics/factories/generate-app/index.js.map +1 -0
- package/schematics/factories/generate-app/schema.json +39 -0
- package/schematics/factories/new/index.d.ts +2 -0
- package/schematics/factories/new/index.js +26 -0
- package/schematics/factories/new/index.js.map +1 -0
- package/schematics/factories/new/schema.json +32 -0
- package/schematics/files/_lib_extensions/README.md +3 -0
- package/schematics/files/_lib_extensions/ng-package.json +5 -0
- package/schematics/files/_lib_extensions/src/index.ts.template +1 -0
- package/schematics/files/_lib_extensions/src/lib/extensions.module.ts.template +18 -0
- package/schematics/files/_lib_extensions/src/lib/services/extensions.service.ts.template +10 -0
- package/schematics/files/_lib_extensions/src/lib/services/index.ts.template +1 -0
- package/schematics/files/_lib_ui_src/assets/i18n/de.json +3 -0
- package/schematics/files/_lib_ui_src/assets/i18n/en.json +3 -0
- package/schematics/files/_lib_ui_src/lib/lib.routes.ts.template +9 -0
- package/schematics/files/_root/README.md +27 -0
- package/schematics/files/_root/proxy.config.js +28 -0
- package/schematics/files/_scripts/i18n-collect.js +59 -0
- package/schematics/files/_scripts/i18n-extract.js +31 -0
- package/schematics/files/_src/index.html +31 -0
- package/schematics/files/_src/styles.scss +8 -0
- package/schematics/files/_src_app/app.component.ts.template +17 -0
- package/schematics/files/_src_app/app.config.ts.template +29 -0
- package/schematics/files/_src_app/app.routes.ts.template +10 -0
- package/schematics/files/_src_assets__yuuvis_config/main.json +26 -0
- package/schematics/files/_src_assets__yuuvis_theme/app.icon.svg +3 -0
- package/schematics/files/_src_assets__yuuvis_theme/favicon.svg +13 -0
- package/schematics/files/_src_assets__yuuvis_theme/logo.svg +1 -0
- package/schematics/files/_src_assets__yuuvis_theme/splash.svg +3 -0
- package/schematics/files/_src_assets__yuuvis_theme/theme.css +13 -0
- package/schematics/schematics-util.d.ts +5 -0
- package/schematics/schematics-util.js +33 -0
- package/schematics/schematics-util.js.map +1 -0
- package/schematics/tasks/clean-up-ng-app.d.ts +2 -0
- package/schematics/tasks/clean-up-ng-app.js +11 -0
- package/schematics/tasks/clean-up-ng-app.js.map +1 -0
- package/schematics/tasks/copy-extensions-files.d.ts +1 -0
- package/schematics/tasks/copy-extensions-files.js +15 -0
- package/schematics/tasks/copy-extensions-files.js.map +1 -0
- package/schematics/tasks/copy-files.d.ts +1 -0
- package/schematics/tasks/copy-files.js +32 -0
- package/schematics/tasks/copy-files.js.map +1 -0
- package/schematics/tasks/copy-ui-files.d.ts +1 -0
- package/schematics/tasks/copy-ui-files.js +16 -0
- package/schematics/tasks/copy-ui-files.js.map +1 -0
- package/schematics/tasks/create-update-manifest.d.ts +4 -0
- package/schematics/tasks/create-update-manifest.js +34 -0
- package/schematics/tasks/create-update-manifest.js.map +1 -0
- package/schematics/tasks/generate-library.d.ts +2 -0
- package/schematics/tasks/generate-library.js +15 -0
- package/schematics/tasks/generate-library.js.map +1 -0
- package/schematics/tasks/ng-new.d.ts +2 -0
- package/schematics/tasks/ng-new.js +22 -0
- package/schematics/tasks/ng-new.js.map +1 -0
- package/schematics/tasks/npm-install.d.ts +2 -0
- package/schematics/tasks/npm-install.js +16 -0
- package/schematics/tasks/npm-install.js.map +1 -0
- package/schematics/tasks/update-angular-json.d.ts +2 -0
- package/schematics/tasks/update-angular-json.js +43 -0
- package/schematics/tasks/update-angular-json.js.map +1 -0
- package/schematics/tasks/update-app-config.d.ts +2 -0
- package/schematics/tasks/update-app-config.js +50 -0
- package/schematics/tasks/update-app-config.js.map +1 -0
- package/schematics/tasks/update-app-routes.d.ts +3 -0
- package/schematics/tasks/update-app-routes.js +54 -0
- package/schematics/tasks/update-app-routes.js.map +1 -0
- package/schematics/tasks/update-library-component.d.ts +2 -0
- package/schematics/tasks/update-library-component.js +85 -0
- package/schematics/tasks/update-library-component.js.map +1 -0
- package/schematics/tasks/update-library-public-api.d.ts +2 -0
- package/schematics/tasks/update-library-public-api.js +25 -0
- package/schematics/tasks/update-library-public-api.js.map +1 -0
- package/schematics/tasks/update-library-tsconfig.d.ts +2 -0
- package/schematics/tasks/update-library-tsconfig.js +31 -0
- package/schematics/tasks/update-library-tsconfig.js.map +1 -0
- package/schematics/tasks/update-package-json.d.ts +2 -0
- package/schematics/tasks/update-package-json.js +25 -0
- package/schematics/tasks/update-package-json.js.map +1 -0
- package/schematics/utils.d.ts +2 -0
- package/schematics/utils.js +18 -0
- package/schematics/utils.js.map +1 -0
package/README.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# yuuvis client CLI
|
|
2
|
+
|
|
3
|
+
The yuuvis client CLI is a command-line interface tool that you can use to initialize and scaffold yuuvis MOMENTUM client applications directly from a command shell.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
Required are:
|
|
7
|
+
- Node.js 18 or later
|
|
8
|
+
- git
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
Install the yuuvis client CLI globally:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install -g @yuuvis/client-cli
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Usage
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
yuv <command> <value> [options]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Supported Commands
|
|
26
|
+
|
|
27
|
+
### new
|
|
28
|
+
|
|
29
|
+
Creates a new yuuvis client project based on Angular Schematics. The created application is based upon the standalone API and uses `scss` for style files.
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
yuv new <name> [options]
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
`<name>`: The name of the project.
|
|
36
|
+
|
|
37
|
+
#### Options
|
|
38
|
+
- `--skip-git`: Do not initialize a git repository.
|
|
39
|
+
- `--skip-install`: Do not install dependency packages.
|
|
40
|
+
- `--skip-tests`: Do not generate `spec.ts` test files for the new project.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### generate app
|
|
44
|
+
|
|
45
|
+
Creates an app in the current workspace. By default, the generated app contains both the UI and extension parts.
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
yuv generate app <name> [options]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
`<name>`: The name of the app.
|
|
52
|
+
|
|
53
|
+
#### Options
|
|
54
|
+
- `--app-id`: The ID of the app.
|
|
55
|
+
- `--prefix`: A prefix to apply to generated selectors.
|
|
56
|
+
- `--route`: The route under which the app is registered in the client.
|
|
57
|
+
- `--skip-extension`: Do not create extension for the app.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CommandBuilder, Options } from "yargs";
|
|
2
|
+
export declare const command: string;
|
|
3
|
+
export declare const aliases: string[];
|
|
4
|
+
export declare const desc: string;
|
|
5
|
+
export declare const builder: CommandBuilder<Options>;
|
|
6
|
+
export declare const handler: (argv: any) => Promise<void>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.handler = exports.builder = exports.desc = exports.aliases = exports.command = void 0;
|
|
16
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
17
|
+
const child_process_1 = require("child_process");
|
|
18
|
+
const utils_1 = require("../../utils");
|
|
19
|
+
const options_generate_app_json_1 = __importDefault(require("../../options/options-generate-app.json"));
|
|
20
|
+
const utils_2 = require("../../../schematics/utils");
|
|
21
|
+
exports.command = "app <name>";
|
|
22
|
+
exports.aliases = ["a"];
|
|
23
|
+
exports.desc = "Generate a new yuuvis client app.";
|
|
24
|
+
const builder = (yargs) => {
|
|
25
|
+
return yargs.string("app").version(false).options(options_generate_app_json_1.default);
|
|
26
|
+
};
|
|
27
|
+
exports.builder = builder;
|
|
28
|
+
const handler = (argv) => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
const [_namespace, _componentName, _shortName] = (0, utils_2.extractNamesFromPackageName)(argv.name);
|
|
30
|
+
/*
|
|
31
|
+
if (!argv.type) {
|
|
32
|
+
const response = await inquirer.prompt([{
|
|
33
|
+
type: 'list',
|
|
34
|
+
name: 'type',
|
|
35
|
+
message: 'What type should the app be?',
|
|
36
|
+
choices: ['ui', 'extension', 'both'],
|
|
37
|
+
default: 'both'
|
|
38
|
+
}]);
|
|
39
|
+
argv.type = response.type;
|
|
40
|
+
}
|
|
41
|
+
*/
|
|
42
|
+
if (!argv.appId) {
|
|
43
|
+
const response = yield inquirer_1.default.prompt([
|
|
44
|
+
{
|
|
45
|
+
type: "input",
|
|
46
|
+
name: "appId",
|
|
47
|
+
default: `com.example.${_shortName}`,
|
|
48
|
+
message: "Specify the app ID:",
|
|
49
|
+
},
|
|
50
|
+
]);
|
|
51
|
+
argv.appId = argv['app-id'] = response.appId;
|
|
52
|
+
}
|
|
53
|
+
const routeResponse = yield inquirer_1.default.prompt([
|
|
54
|
+
{
|
|
55
|
+
type: "input",
|
|
56
|
+
name: "route",
|
|
57
|
+
default: _shortName,
|
|
58
|
+
message: "Specify the route under which the app is registered in the client:",
|
|
59
|
+
},
|
|
60
|
+
]);
|
|
61
|
+
argv.route = routeResponse.route;
|
|
62
|
+
if (!argv.prefix) {
|
|
63
|
+
const response = yield inquirer_1.default.prompt([
|
|
64
|
+
{
|
|
65
|
+
type: "input",
|
|
66
|
+
name: "prefix",
|
|
67
|
+
default: "lib",
|
|
68
|
+
message: "Specify the prefix to apply to generated selectors.:",
|
|
69
|
+
},
|
|
70
|
+
]);
|
|
71
|
+
argv.prefix = response.prefix;
|
|
72
|
+
}
|
|
73
|
+
(0, child_process_1.execSync)(`${(0, utils_1.getSchematicsBin)()} @yuuvis/client-cli:generate-app ${(0, utils_1.serializeOptions)(argv)}`, {
|
|
74
|
+
cwd: process.cwd(),
|
|
75
|
+
stdio: "inherit",
|
|
76
|
+
});
|
|
77
|
+
console.log(`App '${argv.name}' created successfully!`);
|
|
78
|
+
});
|
|
79
|
+
exports.handler = handler;
|
|
80
|
+
//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/cli/commands/generate/app.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wDAAgC;AAChC,iDAAyC;AACzC,uCAAiE;AACjE,wGAA8D;AAC9D,qDAAwE;AAE3D,QAAA,OAAO,GAAW,YAAY,CAAC;AAC/B,QAAA,OAAO,GAAa,CAAC,GAAG,CAAC,CAAC;AAC1B,QAAA,IAAI,GAAW,mCAAmC,CAAC;AAEzD,MAAM,OAAO,GAA4B,CAAC,KAAU,EAAE,EAAE;IAC7D,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,mCAAO,CAAC,CAAC;AAC7D,CAAC,CAAC;AAFW,QAAA,OAAO,WAElB;AAEK,MAAM,OAAO,GAAG,CAAO,IAAS,EAAE,EAAE;IACzC,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,GAAG,IAAA,mCAA2B,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExF;;;;;;;;;;;QAWI;IAEJ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACrC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,eAAe,UAAU,EAAE;gBACpC,OAAO,EAAE,qBAAqB;aAC/B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QAC1C;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,oEAAoE;SAC9E;KACF,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IAEjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACrC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,sDAAsD;aAChE;SACF,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,IAAA,wBAAQ,EAAC,GAAG,IAAA,wBAAgB,GAAE,oCAAoC,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,EAAE;QAC1F,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;AAC1D,CAAC,CAAA,CAAC;AAxDW,QAAA,OAAO,WAwDlB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handler = exports.builder = exports.desc = exports.aliases = exports.command = void 0;
|
|
4
|
+
exports.command = 'generate';
|
|
5
|
+
exports.aliases = ['g'];
|
|
6
|
+
exports.desc = 'Generates and/or modifies files based on a schematic.';
|
|
7
|
+
const builder = (yargs) => {
|
|
8
|
+
return yargs.commandDir('generate');
|
|
9
|
+
};
|
|
10
|
+
exports.builder = builder;
|
|
11
|
+
const handler = (argv) => { };
|
|
12
|
+
exports.handler = handler;
|
|
13
|
+
//# sourceMappingURL=generate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAW,UAAU,CAAC;AAC7B,QAAA,OAAO,GAAa,CAAC,GAAG,CAAC,CAAC;AAC1B,QAAA,IAAI,GAAW,uDAAuD,CAAC;AAE7E,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE;IAClC,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC,CAAA;AAFY,QAAA,OAAO,WAEnB;AAEM,MAAM,OAAO,GAAG,CAAC,IAAS,EAAE,EAAE,GAAE,CAAC,CAAA;AAA3B,QAAA,OAAO,WAAoB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.handler = exports.builder = exports.desc = exports.command = void 0;
|
|
16
|
+
const child_process_1 = require("child_process");
|
|
17
|
+
const utils_1 = require("../utils");
|
|
18
|
+
const options_new_json_1 = __importDefault(require("../options/options-new.json"));
|
|
19
|
+
//import { join } from 'path';
|
|
20
|
+
exports.command = "new <name>";
|
|
21
|
+
exports.desc = "Create new yuuvis client project";
|
|
22
|
+
const builder = (yargs) => {
|
|
23
|
+
return yargs
|
|
24
|
+
.string("new")
|
|
25
|
+
.version(false)
|
|
26
|
+
.options(options_new_json_1.default);
|
|
27
|
+
};
|
|
28
|
+
exports.builder = builder;
|
|
29
|
+
const handler = (argv) => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
+
//const projectPath = join(process.cwd(), argv.name);
|
|
31
|
+
(0, child_process_1.execSync)(`${(0, utils_1.getSchematicsBin)()} @yuuvis/client-cli:new ${(0, utils_1.serializeOptions)(argv)}`, {
|
|
32
|
+
cwd: process.cwd(),
|
|
33
|
+
stdio: 'inherit'
|
|
34
|
+
});
|
|
35
|
+
console.log(`Project '${argv.name}' created successfully!`);
|
|
36
|
+
});
|
|
37
|
+
exports.handler = handler;
|
|
38
|
+
//# sourceMappingURL=new.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,iDAAyC;AACzC,oCAA8D;AAC9D,mFAAiD;AACjD,8BAA8B;AAEjB,QAAA,OAAO,GAAW,YAAY,CAAC;AAC/B,QAAA,IAAI,GAAW,kCAAkC,CAAC;AAExD,MAAM,OAAO,GAA4B,CAAC,KAAU,EAAE,EAAE;IAC7D,OAAO,KAAK;SACT,MAAM,CAAC,KAAK,CAAC;SACb,OAAO,CAAC,KAAK,CAAC;SACd,OAAO,CAAC,0BAAO,CAAC,CAAC;AACtB,CAAC,CAAC;AALW,QAAA,OAAO,WAKlB;AAEK,MAAM,OAAO,GAAG,CAAO,IAAS,EAAE,EAAE;IACzC,qDAAqD;IACrD,IAAA,wBAAQ,EAAC,GAAG,IAAA,wBAAgB,GAAE,2BAA2B,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,EAAE;QACjF,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;AAC9D,CAAC,CAAA,CAAC;AARW,QAAA,OAAO,WAQlB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skip-extension": {
|
|
3
|
+
"describe": "Do not generate extension code.",
|
|
4
|
+
"type": "boolean"
|
|
5
|
+
},
|
|
6
|
+
"app-id": {
|
|
7
|
+
"describe": "The ID of the app.",
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"route": {
|
|
11
|
+
"describe": "The route under which the app is registered in the client.",
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"prefix": {
|
|
15
|
+
"describe": "A prefix to apply to generated selectors.",
|
|
16
|
+
"type": "string"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skip-git": {
|
|
3
|
+
"type": "boolean",
|
|
4
|
+
"describe": "Do not initialize a Git repository in the new workspace. By default, a Git repository is initialized to help you track changes to your project."
|
|
5
|
+
},
|
|
6
|
+
"skip-install": {
|
|
7
|
+
"type": "boolean",
|
|
8
|
+
"describe": "Skip the automatic installation of packages. You will need to manually install the dependencies later."
|
|
9
|
+
},
|
|
10
|
+
"skip-tests": {
|
|
11
|
+
"type": "boolean",
|
|
12
|
+
"describe": "Skip the generation of unit test files `spec.ts`."
|
|
13
|
+
}
|
|
14
|
+
}
|
package/cli/utils.d.ts
ADDED
package/cli/utils.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSchematicsBin = getSchematicsBin;
|
|
4
|
+
exports.serializeOptions = serializeOptions;
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
function getSchematicsBin() {
|
|
7
|
+
return (0, path_1.join)(__dirname, '../node_modules/.bin/schematics');
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Serialize options array to a string
|
|
11
|
+
* @param options
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
function serializeOptions(options) {
|
|
15
|
+
return Object.entries(options)
|
|
16
|
+
.filter(([key]) => key !== '_' && key !== '$0') // delete yargs internal keys
|
|
17
|
+
.filter(([key]) => key === key.toLowerCase()) // keep only lowercase keys
|
|
18
|
+
.map(([key, value]) => {
|
|
19
|
+
if (typeof value === 'boolean')
|
|
20
|
+
return `--${key}`; // keep boolean properties only if true
|
|
21
|
+
return `--${key}="${value}"`; // string properties strait forward
|
|
22
|
+
})
|
|
23
|
+
.join(' ');
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=utils.js.map
|
package/cli/utils.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":";;AAEA,4CAEC;AAOD,4CASC;AApBD,+BAA4B;AAE5B,SAAgB,gBAAgB;IAC9B,OAAO,IAAA,WAAI,EAAC,SAAS,EAAE,iCAAiC,CAAC,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,OAAY;IAC3C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SAC7B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,6BAA6B;SAC1E,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAE,2BAA2B;SACzE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClB,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,wCAAwC;QAC3F,OAAO,KAAK,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC,mCAAmC;IACrE,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
|
package/cli/yuv.d.ts
ADDED
package/cli/yuv.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
8
|
+
const helpers_1 = require("yargs/helpers");
|
|
9
|
+
(0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
10
|
+
// Use the commands directory to scaffold.
|
|
11
|
+
.commandDir('commands')
|
|
12
|
+
// Enable strict mode.
|
|
13
|
+
.strict()
|
|
14
|
+
// Useful aliases.
|
|
15
|
+
.alias({ h: 'help' })
|
|
16
|
+
.argv;
|
|
17
|
+
//# sourceMappingURL=yuv.js.map
|
package/cli/yuv.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yuv.js","sourceRoot":"","sources":["../../src/cli/yuv.ts"],"names":[],"mappings":";;;;;;AAEA,kDAA0B;AAC1B,2CAAwC;AAExC,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,0CAA0C;KACzC,UAAU,CAAC,UAAU,CAAC;IACvB,sBAAsB;KACrB,MAAM,EAAE;IACT,kBAAkB;KACjB,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,IAAI,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@yuuvis/client-cli",
|
|
3
|
+
"version": "18.0.0",
|
|
4
|
+
"main": "index.js",
|
|
5
|
+
"schematics": "./schematics/factories/collection.json",
|
|
6
|
+
"bin": {
|
|
7
|
+
"yuv": "./cli/yuv.js"
|
|
8
|
+
},
|
|
9
|
+
"keywords": [],
|
|
10
|
+
"author": "",
|
|
11
|
+
"license": "ISC",
|
|
12
|
+
"description": "",
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@angular-devkit/core": "^19.2.0",
|
|
15
|
+
"@angular-devkit/schematics": "^19.2.0",
|
|
16
|
+
"@angular-devkit/schematics-cli": "^19.2.0",
|
|
17
|
+
"@schematics/angular": "^18.2.14",
|
|
18
|
+
"inquirer": "^12.4.3",
|
|
19
|
+
"typescript": "^5.5.4",
|
|
20
|
+
"yargs": "^17.7.2",
|
|
21
|
+
"zod": "^3.24.2"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
declare const ManifestSchema: z.ZodObject<{
|
|
3
|
+
id: z.ZodString;
|
|
4
|
+
title: z.ZodString;
|
|
5
|
+
ui: z.ZodOptional<z.ZodObject<{
|
|
6
|
+
path: z.ZodString;
|
|
7
|
+
icon: z.ZodString;
|
|
8
|
+
routes: z.ZodString;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
icon: string;
|
|
11
|
+
path: string;
|
|
12
|
+
routes: string;
|
|
13
|
+
}, {
|
|
14
|
+
icon: string;
|
|
15
|
+
path: string;
|
|
16
|
+
routes: string;
|
|
17
|
+
}>>;
|
|
18
|
+
extension: z.ZodOptional<z.ZodString>;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
id: string;
|
|
21
|
+
title: string;
|
|
22
|
+
ui?: {
|
|
23
|
+
icon: string;
|
|
24
|
+
path: string;
|
|
25
|
+
routes: string;
|
|
26
|
+
} | undefined;
|
|
27
|
+
extension?: string | undefined;
|
|
28
|
+
}, {
|
|
29
|
+
id: string;
|
|
30
|
+
title: string;
|
|
31
|
+
ui?: {
|
|
32
|
+
icon: string;
|
|
33
|
+
path: string;
|
|
34
|
+
routes: string;
|
|
35
|
+
} | undefined;
|
|
36
|
+
extension?: string | undefined;
|
|
37
|
+
}>;
|
|
38
|
+
export type AppManifest = z.infer<typeof ManifestSchema>;
|
|
39
|
+
export declare function parseManifest(content: string): AppManifest;
|
|
40
|
+
export declare function writeManifest(filePath: string, manifest: AppManifest): void;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.parseManifest = parseManifest;
|
|
7
|
+
exports.writeManifest = writeManifest;
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
|
+
const UiData = zod_1.z.object({
|
|
11
|
+
path: zod_1.z.string(),
|
|
12
|
+
icon: zod_1.z.string(),
|
|
13
|
+
routes: zod_1.z.string(),
|
|
14
|
+
});
|
|
15
|
+
const ManifestSchema = zod_1.z.object({
|
|
16
|
+
id: zod_1.z.string(),
|
|
17
|
+
title: zod_1.z.string(),
|
|
18
|
+
ui: UiData.optional(),
|
|
19
|
+
extension: zod_1.z.string().optional(),
|
|
20
|
+
});
|
|
21
|
+
function parseManifest(content) {
|
|
22
|
+
const jsonData = JSON.parse(content);
|
|
23
|
+
return ManifestSchema.parse(jsonData);
|
|
24
|
+
}
|
|
25
|
+
function writeManifest(filePath, manifest) {
|
|
26
|
+
try {
|
|
27
|
+
fs_1.default.writeFileSync(filePath, JSON.stringify(manifest, null, 2), "utf-8");
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
throw new Error(`Error writing manifest file $: ${error}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=app-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-manifest.js","sourceRoot":"","sources":["../../src/schematics/app-manifest.ts"],"names":[],"mappings":";;;;;AAkBA,sCAGC;AAED,sCAMC;AA7BD,4CAAoB;AACpB,6BAAwB;AAExB,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE;IACrB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAIH,SAAgB,aAAa,CAAC,OAAe;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,aAAa,CAAC,QAAgB,EAAE,QAAqB;IACnE,IAAI,CAAC;QACH,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.APP_MANIFEST_FILE_NAME = exports.APP_BASE_PATH = exports.NG_STANDALONE = exports.NG_STYLE = exports.NG_SCHEMATICS_VERSION = void 0;
|
|
4
|
+
exports.NG_SCHEMATICS_VERSION = '18';
|
|
5
|
+
exports.NG_STYLE = 'scss';
|
|
6
|
+
exports.NG_STANDALONE = true;
|
|
7
|
+
exports.APP_BASE_PATH = 'projects';
|
|
8
|
+
exports.APP_MANIFEST_FILE_NAME = "yuv-manifest.json";
|
|
9
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/schematics/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,IAAI,CAAC;AAC7B,QAAA,QAAQ,GAAG,MAAM,CAAC;AAClB,QAAA,aAAa,GAAG,IAAI,CAAC;AACrB,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,sBAAsB,GAAG,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schematics": {
|
|
3
|
+
"new": {
|
|
4
|
+
"description": "Creates a new yuuvis client project",
|
|
5
|
+
"factory": "./new/index#newProject",
|
|
6
|
+
"schema": "./new/schema.json"
|
|
7
|
+
},
|
|
8
|
+
"generate-app": {
|
|
9
|
+
"description": "Generates a new yuuvis client app",
|
|
10
|
+
"factory": "./generate-app/index#generateApp",
|
|
11
|
+
"schema": "./generate-app/schema.json"
|
|
12
|
+
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.generateApp = generateApp;
|
|
13
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
14
|
+
const utils_1 = require("../../utils");
|
|
15
|
+
const utility_1 = require("@schematics/angular/utility");
|
|
16
|
+
const generate_library_1 = require("../../tasks/generate-library");
|
|
17
|
+
const copy_ui_files_1 = require("../../tasks/copy-ui-files");
|
|
18
|
+
const update_library_component_1 = require("../../tasks/update-library-component");
|
|
19
|
+
const update_library_public_api_1 = require("../../tasks/update-library-public-api");
|
|
20
|
+
const create_update_manifest_1 = require("../../tasks/create-update-manifest");
|
|
21
|
+
const update_library_tsconfig_1 = require("../../tasks/update-library-tsconfig");
|
|
22
|
+
const update_app_routes_1 = require("../../tasks/update-app-routes");
|
|
23
|
+
const copy_extensions_files_1 = require("../../tasks/copy-extensions-files");
|
|
24
|
+
const update_app_config_1 = require("../../tasks/update-app-config");
|
|
25
|
+
function generateApp(options) {
|
|
26
|
+
return (tree, context) => __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
validateOptions(options);
|
|
28
|
+
const [_namespace, _componentName, _shortName] = (0, utils_1.extractNamesFromPackageName)(options.name);
|
|
29
|
+
options.namespace = _namespace;
|
|
30
|
+
options.componentName = _componentName;
|
|
31
|
+
options.shortName = _shortName;
|
|
32
|
+
const appManifest = createAppManifest(options.componentName, options.skipExtension, options.route, options.appId);
|
|
33
|
+
const libraryMetadata = yield inspectLibrary(tree, options.name);
|
|
34
|
+
options.libraryRoot = !!libraryMetadata.libraryRoot ? libraryMetadata.libraryRoot : (0, utils_1.getLibraryPathFromName)(options.name);
|
|
35
|
+
const rules = [
|
|
36
|
+
(0, generate_library_1.generateLibrary)(options),
|
|
37
|
+
(0, create_update_manifest_1.createOrUpdateManifest)(options, appManifest, libraryMetadata),
|
|
38
|
+
...(0, copy_ui_files_1.copyUiFiles)(options),
|
|
39
|
+
(0, update_library_public_api_1.updateLibraryPublicApi)(options),
|
|
40
|
+
(0, update_library_tsconfig_1.updateLibraryTsConfig)(options),
|
|
41
|
+
(0, update_library_component_1.updateLibraryComponent)(options),
|
|
42
|
+
(0, update_app_routes_1.updateAppRoutes)(options, appManifest),
|
|
43
|
+
];
|
|
44
|
+
if (!options.skipExtension) {
|
|
45
|
+
const importPath = `../../${options.libraryRoot}/extensions/src/lib/extensions.module`;
|
|
46
|
+
rules.push(...(0, copy_extensions_files_1.copyExtensionsFiles)(options));
|
|
47
|
+
rules.push((0, update_app_config_1.updateAppConfig)(options, appManifest.extension, importPath));
|
|
48
|
+
}
|
|
49
|
+
return (0, schematics_1.chain)(rules);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function inspectLibrary(tree, libraryName) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
let errorMessage = null;
|
|
55
|
+
const libMetadata = {
|
|
56
|
+
libraryExists: false,
|
|
57
|
+
isUiAvailable: false,
|
|
58
|
+
isExtensionAvailable: false,
|
|
59
|
+
libraryRoot: null
|
|
60
|
+
};
|
|
61
|
+
const workspace = yield (0, utility_1.readWorkspace)(tree);
|
|
62
|
+
libMetadata.libraryExists = workspace.projects.has(libraryName);
|
|
63
|
+
if (libMetadata.libraryExists) {
|
|
64
|
+
const project = workspace.projects.get(libraryName);
|
|
65
|
+
const libraryRoot = project.root;
|
|
66
|
+
if (!!libraryRoot) {
|
|
67
|
+
libMetadata.libraryRoot = libraryRoot;
|
|
68
|
+
const manifestPath = `${libraryRoot}/yuv-manifest.json`;
|
|
69
|
+
if (tree.exists(manifestPath)) {
|
|
70
|
+
const manifest = tree.readJson(manifestPath);
|
|
71
|
+
libMetadata.isUiAvailable = manifest.ui !== undefined;
|
|
72
|
+
libMetadata.isExtensionAvailable = manifest.extension !== undefined;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// TODO: generate manifest file for legacy libs?
|
|
76
|
+
// errorMessage = `Manifest file not found for: ${libraryName}`;
|
|
77
|
+
console.log(`Manifest file not found for: ${libraryName}`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
errorMessage = `Library root not found for: ${libraryName}`;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (!!errorMessage) {
|
|
85
|
+
throw new Error(errorMessage);
|
|
86
|
+
}
|
|
87
|
+
return libMetadata;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function createAppManifest(componentName, skipExtension, route, appId) {
|
|
91
|
+
const manifest = {
|
|
92
|
+
id: `${appId}`,
|
|
93
|
+
title: `${schematics_1.strings.capitalize(componentName)} Title`,
|
|
94
|
+
};
|
|
95
|
+
manifest.ui = {
|
|
96
|
+
path: `${route}`,
|
|
97
|
+
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3,3H21V21H3V3M5,5V19H19V5H5Z" /></svg>`,
|
|
98
|
+
routes: `${schematics_1.strings.classify(componentName)}Routes`,
|
|
99
|
+
};
|
|
100
|
+
if (!skipExtension) {
|
|
101
|
+
manifest.extension = `${schematics_1.strings.classify(componentName)}ExtensionsModule`;
|
|
102
|
+
}
|
|
103
|
+
return manifest;
|
|
104
|
+
}
|
|
105
|
+
function validateOptions(options) {
|
|
106
|
+
let errorMessage = null;
|
|
107
|
+
if (!options.name) {
|
|
108
|
+
errorMessage = `Option 'name' is required.`;
|
|
109
|
+
}
|
|
110
|
+
if (!options.appId) {
|
|
111
|
+
errorMessage = `Option 'appId' is required.`;
|
|
112
|
+
}
|
|
113
|
+
if (!!errorMessage) {
|
|
114
|
+
throw new Error(errorMessage);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/generate-app/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "new",
|
|
4
|
+
"title": "Generate App Schematic",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"name": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "The name of the app",
|
|
10
|
+
"pattern": "^(@[a-z0-9-]+/[a-z][a-z0-9-]*|[a-z][a-z0-9-]*)$",
|
|
11
|
+
"$default": {
|
|
12
|
+
"$source": "argv",
|
|
13
|
+
"index": 0
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"skipExtension": {
|
|
17
|
+
"type": "boolean",
|
|
18
|
+
"description": "Do not generate extension code.",
|
|
19
|
+
"default": false
|
|
20
|
+
},
|
|
21
|
+
"appId": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"description": "The ID of the app. Only letters, numbers, hyphens, dots, and underscores are allowed.",
|
|
24
|
+
"pattern": "^[a-zA-Z0-9_](?:[a-zA-Z0-9._-]*[a-zA-Z0-9_])?$"
|
|
25
|
+
},
|
|
26
|
+
"route": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"description": "The URL path where the app will be available to the client. Only letters, numbers, hyphens, underscores, and dots are allowed.",
|
|
29
|
+
"pattern": "^[a-zA-Z0-9\\-_\\.]+$"
|
|
30
|
+
},
|
|
31
|
+
"prefix": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"description": "A prefix to apply to generated selectors.",
|
|
34
|
+
"pattern": "^[a-z0-9]+$"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"required": ["name"]
|
|
38
|
+
}
|
|
39
|
+
|