@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.
Files changed (109) hide show
  1. package/README.md +57 -0
  2. package/cli/commands/generate/app.d.ts +6 -0
  3. package/cli/commands/generate/app.js +80 -0
  4. package/cli/commands/generate/app.js.map +1 -0
  5. package/cli/commands/generate.d.ts +5 -0
  6. package/cli/commands/generate.js +13 -0
  7. package/cli/commands/generate.js.map +1 -0
  8. package/cli/commands/new.d.ts +5 -0
  9. package/cli/commands/new.js +38 -0
  10. package/cli/commands/new.js.map +1 -0
  11. package/cli/options/options-generate-app.json +18 -0
  12. package/cli/options/options-new.json +14 -0
  13. package/cli/utils.d.ts +7 -0
  14. package/cli/utils.js +25 -0
  15. package/cli/utils.js.map +1 -0
  16. package/cli/yuv.d.ts +2 -0
  17. package/cli/yuv.js +17 -0
  18. package/cli/yuv.js.map +1 -0
  19. package/package.json +23 -0
  20. package/schematics/app-manifest.d.ts +41 -0
  21. package/schematics/app-manifest.js +33 -0
  22. package/schematics/app-manifest.js.map +1 -0
  23. package/schematics/constants.d.ts +5 -0
  24. package/schematics/constants.js +9 -0
  25. package/schematics/constants.js.map +1 -0
  26. package/schematics/factories/collection.json +15 -0
  27. package/schematics/factories/generate-app/index.d.ts +8 -0
  28. package/schematics/factories/generate-app/index.js +117 -0
  29. package/schematics/factories/generate-app/index.js.map +1 -0
  30. package/schematics/factories/generate-app/schema.json +39 -0
  31. package/schematics/factories/new/index.d.ts +2 -0
  32. package/schematics/factories/new/index.js +26 -0
  33. package/schematics/factories/new/index.js.map +1 -0
  34. package/schematics/factories/new/schema.json +32 -0
  35. package/schematics/files/_lib_extensions/README.md +3 -0
  36. package/schematics/files/_lib_extensions/ng-package.json +5 -0
  37. package/schematics/files/_lib_extensions/src/index.ts.template +1 -0
  38. package/schematics/files/_lib_extensions/src/lib/extensions.module.ts.template +18 -0
  39. package/schematics/files/_lib_extensions/src/lib/services/extensions.service.ts.template +10 -0
  40. package/schematics/files/_lib_extensions/src/lib/services/index.ts.template +1 -0
  41. package/schematics/files/_lib_ui_src/assets/i18n/de.json +3 -0
  42. package/schematics/files/_lib_ui_src/assets/i18n/en.json +3 -0
  43. package/schematics/files/_lib_ui_src/lib/lib.routes.ts.template +9 -0
  44. package/schematics/files/_root/README.md +27 -0
  45. package/schematics/files/_root/proxy.config.js +28 -0
  46. package/schematics/files/_scripts/i18n-collect.js +59 -0
  47. package/schematics/files/_scripts/i18n-extract.js +31 -0
  48. package/schematics/files/_src/index.html +31 -0
  49. package/schematics/files/_src/styles.scss +8 -0
  50. package/schematics/files/_src_app/app.component.ts.template +17 -0
  51. package/schematics/files/_src_app/app.config.ts.template +29 -0
  52. package/schematics/files/_src_app/app.routes.ts.template +10 -0
  53. package/schematics/files/_src_assets__yuuvis_config/main.json +26 -0
  54. package/schematics/files/_src_assets__yuuvis_theme/app.icon.svg +3 -0
  55. package/schematics/files/_src_assets__yuuvis_theme/favicon.svg +13 -0
  56. package/schematics/files/_src_assets__yuuvis_theme/logo.svg +1 -0
  57. package/schematics/files/_src_assets__yuuvis_theme/splash.svg +3 -0
  58. package/schematics/files/_src_assets__yuuvis_theme/theme.css +13 -0
  59. package/schematics/schematics-util.d.ts +5 -0
  60. package/schematics/schematics-util.js +33 -0
  61. package/schematics/schematics-util.js.map +1 -0
  62. package/schematics/tasks/clean-up-ng-app.d.ts +2 -0
  63. package/schematics/tasks/clean-up-ng-app.js +11 -0
  64. package/schematics/tasks/clean-up-ng-app.js.map +1 -0
  65. package/schematics/tasks/copy-extensions-files.d.ts +1 -0
  66. package/schematics/tasks/copy-extensions-files.js +15 -0
  67. package/schematics/tasks/copy-extensions-files.js.map +1 -0
  68. package/schematics/tasks/copy-files.d.ts +1 -0
  69. package/schematics/tasks/copy-files.js +32 -0
  70. package/schematics/tasks/copy-files.js.map +1 -0
  71. package/schematics/tasks/copy-ui-files.d.ts +1 -0
  72. package/schematics/tasks/copy-ui-files.js +16 -0
  73. package/schematics/tasks/copy-ui-files.js.map +1 -0
  74. package/schematics/tasks/create-update-manifest.d.ts +4 -0
  75. package/schematics/tasks/create-update-manifest.js +34 -0
  76. package/schematics/tasks/create-update-manifest.js.map +1 -0
  77. package/schematics/tasks/generate-library.d.ts +2 -0
  78. package/schematics/tasks/generate-library.js +15 -0
  79. package/schematics/tasks/generate-library.js.map +1 -0
  80. package/schematics/tasks/ng-new.d.ts +2 -0
  81. package/schematics/tasks/ng-new.js +22 -0
  82. package/schematics/tasks/ng-new.js.map +1 -0
  83. package/schematics/tasks/npm-install.d.ts +2 -0
  84. package/schematics/tasks/npm-install.js +16 -0
  85. package/schematics/tasks/npm-install.js.map +1 -0
  86. package/schematics/tasks/update-angular-json.d.ts +2 -0
  87. package/schematics/tasks/update-angular-json.js +43 -0
  88. package/schematics/tasks/update-angular-json.js.map +1 -0
  89. package/schematics/tasks/update-app-config.d.ts +2 -0
  90. package/schematics/tasks/update-app-config.js +50 -0
  91. package/schematics/tasks/update-app-config.js.map +1 -0
  92. package/schematics/tasks/update-app-routes.d.ts +3 -0
  93. package/schematics/tasks/update-app-routes.js +54 -0
  94. package/schematics/tasks/update-app-routes.js.map +1 -0
  95. package/schematics/tasks/update-library-component.d.ts +2 -0
  96. package/schematics/tasks/update-library-component.js +85 -0
  97. package/schematics/tasks/update-library-component.js.map +1 -0
  98. package/schematics/tasks/update-library-public-api.d.ts +2 -0
  99. package/schematics/tasks/update-library-public-api.js +25 -0
  100. package/schematics/tasks/update-library-public-api.js.map +1 -0
  101. package/schematics/tasks/update-library-tsconfig.d.ts +2 -0
  102. package/schematics/tasks/update-library-tsconfig.js +31 -0
  103. package/schematics/tasks/update-library-tsconfig.js.map +1 -0
  104. package/schematics/tasks/update-package-json.d.ts +2 -0
  105. package/schematics/tasks/update-package-json.js +25 -0
  106. package/schematics/tasks/update-package-json.js.map +1 -0
  107. package/schematics/utils.d.ts +2 -0
  108. package/schematics/utils.js +18 -0
  109. package/schematics/utils.js.map +1 -0
@@ -0,0 +1,26 @@
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.newProject = newProject;
7
+ const schematics_1 = require("@angular-devkit/schematics");
8
+ const ng_new_1 = __importDefault(require("../../tasks/ng-new"));
9
+ const npm_install_1 = __importDefault(require("../../tasks/npm-install"));
10
+ const update_package_json_1 = __importDefault(require("../../tasks/update-package-json"));
11
+ const update_angular_json_1 = __importDefault(require("../../tasks/update-angular-json"));
12
+ const clean_up_ng_app_1 = __importDefault(require("../../tasks/clean-up-ng-app"));
13
+ const copy_files_1 = require("../../tasks/copy-files");
14
+ const constants_1 = require("../../constants");
15
+ function newProject(options) {
16
+ options.schematicsVersion = constants_1.NG_SCHEMATICS_VERSION;
17
+ return (0, schematics_1.chain)([
18
+ (0, ng_new_1.default)(options),
19
+ (0, update_package_json_1.default)(options),
20
+ (0, update_angular_json_1.default)(options),
21
+ ...(0, copy_files_1.copyFiles)(options),
22
+ (0, clean_up_ng_app_1.default)(options),
23
+ (0, npm_install_1.default)(options)
24
+ ]);
25
+ }
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/new/index.ts"],"names":[],"mappings":";;;;;AASA,gCAUC;AAnBD,2DAAwD;AACxD,gEAAuC;AACvC,0EAAiD;AACjD,0FAAgE;AAChE,0FAAgE;AAChE,kFAAuD;AACvD,uDAAmD;AACnD,+CAAwD;AAExD,SAAgB,UAAU,CAAC,OAAY;IACrC,OAAO,CAAC,iBAAiB,GAAG,iCAAqB,CAAC;IAClD,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,gBAAK,EAAC,OAAO,CAAC;QACd,IAAA,6BAAiB,EAAC,OAAO,CAAC;QAC1B,IAAA,6BAAiB,EAAC,OAAO,CAAC;QAC1B,GAAG,IAAA,sBAAS,EAAC,OAAO,CAAC;QACrB,IAAA,yBAAY,EAAC,OAAO,CAAC;QACrB,IAAA,qBAAU,EAAC,OAAO,CAAC;KACpB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "new",
4
+ "title": "New Schematic",
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "description": "The name of the new project",
10
+ "$default": {
11
+ "$source": "argv",
12
+ "index": 0
13
+ }
14
+ },
15
+ "skipTests": {
16
+ "type": "boolean",
17
+ "description": "Skip generating test files",
18
+ "default": false
19
+ },
20
+ "skipGit": {
21
+ "type": "boolean",
22
+ "description": "Skip initializing Git repository",
23
+ "default": false
24
+ },
25
+ "skipInstall": {
26
+ "type": "boolean",
27
+ "description": "Skip running package manager install",
28
+ "default": false
29
+ }
30
+ },
31
+ "required": ["name"]
32
+ }
@@ -0,0 +1,3 @@
1
+ # <%= name %>/extensions
2
+
3
+ Secondary entry point of `<%= name %>`. It can be used by importing from `<%= name %>/extensions`.
@@ -0,0 +1,5 @@
1
+ {
2
+ "lib": {
3
+ "entryFile": "src/index.ts"
4
+ }
5
+ }
@@ -0,0 +1 @@
1
+ export * from './lib/extensions.module';
@@ -0,0 +1,18 @@
1
+ import { APP_INITIALIZER, NgModule } from '@angular/core';
2
+ import { ExtensionsService } from './services';
3
+
4
+ @NgModule({
5
+ providers: [
6
+ ExtensionsService,
7
+ {
8
+ provide: APP_INITIALIZER,
9
+ useFactory: (ext: ExtensionsService) =>
10
+ function () {
11
+ return ext.init();
12
+ },
13
+ deps: [ExtensionsService],
14
+ multi: true
15
+ }
16
+ ]
17
+ })
18
+ export class <%= classify(componentName) %>ExtensionsModule {}
@@ -0,0 +1,10 @@
1
+ import { Injectable } from '@angular/core';
2
+
3
+
4
+ @Injectable()
5
+ export class ExtensionsService {
6
+
7
+ init(): Promise<any> {
8
+ return Promise.resolve();
9
+ }
10
+ }
@@ -0,0 +1 @@
1
+ export * from './extensions.service';
@@ -0,0 +1,3 @@
1
+ {
2
+ "<%= dasherize(componentName) %>.works": "<%= classify(componentName) %> funktioniert!"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "<%= dasherize(componentName) %>.works": "<%= classify(componentName) %> works!"
3
+ }
@@ -0,0 +1,9 @@
1
+ import { Route } from '@angular/router';
2
+ import { <%= classify(componentName) %>Component } from './<%= dasherize(componentName) %>.component';
3
+
4
+ export const <%= classify(componentName) %>Routes: Route[] = [
5
+ {
6
+ path: '',
7
+ component: <%= classify(componentName) %>Component,
8
+ },
9
+ ];
@@ -0,0 +1,27 @@
1
+ # Hehe
2
+
3
+ This project was generated with yuuvis client CLI using Angular schematics version <%= schematicsVersion %>.
4
+
5
+ ## Working with i18n files
6
+
7
+ Run `npm run i18n:extract` to extract i18n sources, followed by `npm run i18n:collect` to generate the i18n files in the `assets` folder.
8
+
9
+ ## Development server
10
+
11
+ Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
12
+
13
+ ## Build
14
+
15
+ Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
16
+
17
+ ## Running unit tests
18
+
19
+ Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
20
+
21
+ ## Running end-to-end tests
22
+
23
+ Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
24
+
25
+ ## Further help
26
+
27
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -0,0 +1,28 @@
1
+ const PROXY_CONFIG = [
2
+ {
3
+ context: ['/api/**', '/api-web/**', '/predict-api/**',
4
+ '/tenant/**', '/tenant**', '/login**', '/oauth/**',
5
+ '/auth/**', '/logout**'
6
+ ],
7
+ target: 'http://127.0.0.1:4300/',
8
+ changeOrigin: true,
9
+ secure: false,
10
+ logLevel: 'debug'
11
+ },
12
+ {
13
+ context: ['/dashlet365/**', '/office365/**'],
14
+ target: 'http://127.0.0.1:4300/',
15
+ changeOrigin: true,
16
+ secure: false,
17
+ logLevel: 'debug'
18
+ },
19
+ {
20
+ context: ['/viewer/**'],
21
+ target: 'http://127.0.0.1:4300/',
22
+ changeOrigin: true,
23
+ secure: false,
24
+ logLevel: 'debug'
25
+ }
26
+ ];
27
+
28
+ module.exports = PROXY_CONFIG;
@@ -0,0 +1,59 @@
1
+ const fs = require('fs');
2
+ const path = require('path');
3
+ function traverseDirectory(currentPath, i18nFolders, excludeList) {
4
+ const entries = fs.readdirSync(currentPath);
5
+ entries.forEach((entry) => {
6
+ const entryPath = path.join(currentPath, entry);
7
+ const isDirectory = fs.statSync(entryPath).isDirectory();
8
+ if (isDirectory) {
9
+ if (entry === 'i18n' && !excludeList.some((exclude) => entryPath.includes(exclude))) {
10
+ i18nFolders.push(entryPath);
11
+ }
12
+ else {
13
+ traverseDirectory(entryPath, i18nFolders, excludeList);
14
+ }
15
+ }
16
+ });
17
+ return i18nFolders;
18
+ }
19
+ function findI18nFolders(base, excludeList) {
20
+ let i18nFolders = [];
21
+ if (fs.existsSync(base)) {
22
+ i18nFolders = traverseDirectory(base, i18nFolders, excludeList);
23
+ }
24
+ return i18nFolders;
25
+ }
26
+ function groupFilesByLanguageCode(files) {
27
+ return files.reduce((acc, { dir, file }) => {
28
+ const match = file.match(/^([a-z]{2})\.json$/);
29
+ if (match) {
30
+ const lang = match[1];
31
+ if (!acc[lang])
32
+ acc[lang] = [];
33
+ acc[lang].push(path.join(dir, file));
34
+ }
35
+ return acc;
36
+ }, {});
37
+ }
38
+ async function copyToAssets(directories) {
39
+ const files = directories.flatMap((dir) => fs.readdirSync(dir).map((file) => ({ dir, file })));
40
+ // Group files by language code
41
+ const languageFiles = groupFilesByLanguageCode(files);
42
+ // Merge files for each language
43
+ for (const lang in languageFiles) {
44
+ const mergedData = languageFiles[lang].reduce((acc, filePath) => {
45
+ const data = fs.existsSync(filePath) ? JSON.parse(fs.readFileSync(filePath, 'utf-8')) : {};
46
+ return { ...acc, ...data };
47
+ }, {});
48
+ const outputDir = path.join('.', 'src', 'assets', '_yuuvis', 'i18n');
49
+ if (!fs.existsSync(outputDir)) {
50
+ fs.mkdirSync(outputDir, { recursive: true });
51
+ }
52
+ const outputFilePath = path.join(outputDir, `${lang}.json`);
53
+ fs.writeFileSync(outputFilePath, JSON.stringify(mergedData, null, 2), 'utf-8');
54
+ console.log(`Merged ${lang} files into ${outputFilePath}`);
55
+ }
56
+ }
57
+ (() => {
58
+ copyToAssets([...findI18nFolders('./node_modules/@yuuvis', ['schematics']), ...findI18nFolders('./projects', [])]).catch(console.error);
59
+ })();
@@ -0,0 +1,31 @@
1
+ const { execSync } = require('child_process');
2
+ const { readFileSync } = require('fs');
3
+ const { join } = require('path');
4
+ function extractTranslations(suportedLangs) {
5
+ // read tsconfig to get the paths for all the libs/apps
6
+ const angualrJSON = JSON.parse(readFileSync(join('angular.json'), 'utf-8'));
7
+ const filteredPaths = Object.entries(angualrJSON.projects)
8
+ .filter(([, project]) => project.projectType === 'library')
9
+ .map((lib) => {
10
+ return lib[1].root;
11
+ });
12
+ console.log('extracting translations ...');
13
+ filteredPaths.forEach((p) => {
14
+ console.log('processing: ' + p);
15
+ const translationsPath = process.platform === 'win32'
16
+ ? `./${p}/src/assets/i18n{${suportedLangs.map((lang) => `/${lang}`).join(',')}}.json`
17
+ : `./${p}/src/assets/i18n/{${suportedLangs.map((lang) => `${lang}`).join(',')}}.json`;
18
+ execSync(`ngx-translate-extract --input ./${p}/src --output ${translationsPath} --sort --clean --format json`);
19
+ });
20
+ }
21
+ (() => {
22
+ const args = process.argv.slice(2);
23
+ const langArgIndex = args.findIndex((arg) => arg.startsWith('--lang=') || arg.startsWith('--lang '));
24
+ if (langArgIndex !== -1) {
25
+ const lang = args[langArgIndex].replace('--lang=', '').replace('--lang ', '');
26
+ lang.length > 0 ? extractTranslations(lang.split(',')) : extractTranslations(['en', 'de']);
27
+ }
28
+ else {
29
+ extractTranslations(['en', 'de']);
30
+ }
31
+ })();
@@ -0,0 +1,31 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title><%= name %></title>
6
+ <base href="/" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
8
+ <link rel="icon" href="assets/_yuuvis/theme/favicon.svg" />
9
+ <style>
10
+ body {
11
+ height: 100vh;
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ flex-flow: column;
16
+ }
17
+ .splash {
18
+ height: 33vh;
19
+ aspect-ratio: 1 / 1;
20
+ background-color: #f4f4f4;
21
+ max-height: 150px;
22
+ border-radius: 4px;
23
+ }
24
+ </style>
25
+ </head>
26
+ <body>
27
+ <app-root>
28
+ <div class="splash"><img src="assets/_yuuvis/theme/splash.svg" /></div>
29
+ </app-root>
30
+ </body>
31
+ </html>
@@ -0,0 +1,8 @@
1
+ @import "@yuuvis/client-framework/styles/client-framework.scss";
2
+
3
+ :host {
4
+ height: 100%;
5
+ display: grid;
6
+ align-items: center;
7
+ justify-content: center;
8
+ }
@@ -0,0 +1,17 @@
1
+ import { Component } from "@angular/core";
2
+ import { ClientShellComponent } from "@yuuvis/client-shell";
3
+ import { App, ClientShellConfig } from "@yuuvis/client-shell-core";
4
+ import { apps } from "./app.routes";
5
+
6
+ @Component({
7
+ selector: "app-root",
8
+ standalone: true,
9
+ imports: [ClientShellComponent],
10
+ template: `<yuv-client-shell [apps]="apps" [config]="shellConfig"></yuv-client-shell>`,
11
+ styles: [],
12
+ })
13
+ export class AppComponent {
14
+ apps: App[] = apps;
15
+ shellConfig: ClientShellConfig = {};
16
+ title = "<%= name %>";
17
+ }
@@ -0,0 +1,29 @@
1
+ import { provideHttpClient } from '@angular/common/http';
2
+ import {
3
+ ApplicationConfig,
4
+ importProvidersFrom,
5
+ isDevMode,
6
+ provideZoneChangeDetection,
7
+ } from '@angular/core';
8
+ import { provideRouter, withComponentInputBinding } from '@angular/router';
9
+ import { provideServiceWorker } from '@angular/service-worker';
10
+ import { YuvClientCoreModule } from '@yuuvis/client-core';
11
+ import { importShellExtensions } from '@yuuvis/client-shell-core';
12
+ import { routes } from './app.routes';
13
+
14
+ export const appConfig: ApplicationConfig = {
15
+ providers: [
16
+ provideZoneChangeDetection({ eventCoalescing: true }),
17
+ provideRouter(routes, withComponentInputBinding()),
18
+ provideHttpClient(),
19
+ // init core module
20
+ importProvidersFrom(YuvClientCoreModule),
21
+ importShellExtensions([
22
+ // add your shell extensions here
23
+ ]),
24
+ provideServiceWorker('ngsw-worker.js', {
25
+ enabled: !isDevMode(),
26
+ registrationStrategy: 'registerWhenStable:30000',
27
+ }),
28
+ ],
29
+ };
@@ -0,0 +1,10 @@
1
+ import { Route, Routes } from '@angular/router';
2
+ import { App } from '@yuuvis/client-shell-core';
3
+
4
+ // apps used in the client shell
5
+ export const apps: App[] = [];
6
+
7
+ // additional routes (e.g. for overwriting existing routes)
8
+ export const additionalRoutes: Route[] = [];
9
+
10
+ export const routes: Routes = [...apps, ...additionalRoutes];
@@ -0,0 +1,26 @@
1
+ {
2
+ "core": {
3
+ "apiBase": {
4
+ "core": "/api",
5
+ "api-web": "/api-web/api",
6
+ "predict": "/predict-api",
7
+ "viewer": "/viewer",
8
+ "logout": "/logout",
9
+ "oauth": "/oauth"
10
+ },
11
+ "languages": [
12
+ {
13
+ "iso": "de",
14
+ "label": "Deutsch"
15
+ },
16
+ {
17
+ "iso": "en",
18
+ "label": "English",
19
+ "fallback": true
20
+ }
21
+ ],
22
+ "logging": {
23
+ "level": "debug"
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 283.5 283.5">
2
+ <path d="M219.9 63.6h-.2l-44.2 67.7c-8.5 12.9-14.6 24-14.6 24s-5.8-10.5-13.9-22.8l-46.3-68.9H63.6l81.1 122.6v33.6h35.9v-36.6l39.2-63.8.1-55.8z" fill="#fff" />
3
+ </svg>
@@ -0,0 +1,13 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve"
2
+ style="enable-background:new 0 0 283.5 283.5" viewBox="0 0 283.5 283.5">
3
+ <style>
4
+ path {
5
+ fill: #000;
6
+ }
7
+ @media (prefers-color-scheme: dark) {
8
+ path {
9
+ fill: #fff;
10
+ }
11
+ }
12
+ </style>
13
+ <path d="M0 0v283.5h283.5V0H0zm219.8 119.4-39.2 63.8v36.6h-35.9v-33.6L63.6 63.6h37.1l46.3 68.9c8.1 12.3 13.9 22.8 13.9 22.8s6.1-11.1 14.6-24l44.2-67.7h.2l-.1 55.8z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 708.7 176.4"><path d="M708.7 20.6c0-11.3-9.2-20.6-20.6-20.6s-20.6 9.2-20.6 20.6c0 11.3 9.2 20.6 20.6 20.6s20.6-9.3 20.6-20.6zm-2.7 0c0 9.9-8 17.9-17.9 17.9-9.9 0-17.9-8-17.9-17.9 0-9.9 8-17.9 17.9-17.9 9.9 0 17.9 8 17.9 17.9zm-9.9-5.4c0-2.7 0-6.7-7-6.7h-7.7c-.7 0-1.3.6-1.3 1.3v21.4c0 .7.6 1.3 1.3 1.3.7 0 1.3-.6 1.3-1.3v-9.4h5.9l5 10c.2.5.7.7 1.2.7.2 0 .4 0 .6-.1.7-.3.9-1.1.6-1.8l-4.5-9c4.6-.8 4.6-4.6 4.6-6.4zm-2.6 0c0 2.5-.3 4-4 4h-6.7v-8h6.4c2.1 0 3.4.4 3.9 1.1.4.6.4 1.7.4 2.9zM589.4 73.7c0-4.8 10.4-7.7 27.8-7.7 12.5 0 28.4 3.3 41.6 8.6l4.2 1.7V52.2l-2-.7c-12.6-4.4-29-6.9-44.9-6.9-33.3 0-56.6 12.9-56.6 31.3 0 13.2 14.6 24.1 37.1 27.9l21.4 3.7c23.1 3.9 25.6 8.6 25.6 10.5 0 4.6-5.2 7.7-9.7 9.5-5.3 2.4-11.7 3.4-22 3.4-16.7 0-33.7-2.8-47.8-8l-4.1-1.5V144l2.1.6c15.2 4.7 31.9 7.2 48.4 7.2 14.9 0 27.7-1.9 38-5.8 15.7-5.8 25.5-16.4 25.5-27.7 0-7.5-4.4-15-11.6-19.8-7.3-4.7-19.2-8.9-30.3-10.8l-19.8-3.5c-6.3-1-8-1.5-10.8-2.4l-1.1-.3c-7.2-2.1-11-4.7-11-7.8zm-73.2 76.1h26.4V46h-26.4v103.8zm0-120.7h26.4V5.7h-26.4v23.4zm-52.6 120.6l35.6-57.3V46l-38.5 59.1c-6.7 10.5-11.5 19.6-11.5 19.6s-5.1-9.5-12.2-20.6L400.2 46h-30.7l63.8 103.7h30.3zm-94.2-49.1c0 11.3-1 15.3-4.9 20.5-3.6 4.7-13.4 7.6-25.6 7.6-14.5 0-26.5-5.4-29.3-13.1-1-3.3-1.7-11.2-1.7-20V46h-27.4v54.1c0 15.2 1.1 19.9 4.8 26.9 10 19.1 37.2 26.1 53.1 26.1 18.9 0 36.6-7.9 45.8-15.8 6-5.1 9.3-9.8 11-17.1l-25.8-41.8v22.2zm-105.8-.5V46h-27.4v54.6c0 11.3-1 15.3-4.9 20.5-3.6 4.7-13.4 7.6-25.6 7.6-14.5 0-26.5-5.4-29.3-13.1-1-3.3-1.7-11.2-1.7-20V46h-27.4v54.1c0 15.2 1.1 19.9 4.8 26.9 10 19.1 37.2 26.1 53.1 26.1 18.9 0 36.6-7.9 45.8-15.8 10.2-8.7 12.6-16 12.6-37.2zM97.7 148.9L130.4 94V46h-.1l-36.9 58.2c-7.1 11.1-12.2 20.6-12.2 20.6s-4.8-9.1-11.6-19.6L31 46H0l67.7 105.5v24.9h30v-27.5z"/></svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 283.5 283.5">
2
+ <path d="M219.9 63.6h-.2l-44.2 67.7c-8.5 12.9-14.6 24-14.6 24s-5.8-10.5-13.9-22.8l-46.3-68.9H63.6l81.1 122.6v33.6h35.9v-36.6l39.2-63.8.1-55.8z" fill="#fff" />
3
+ </svg>
@@ -0,0 +1,13 @@
1
+ :root {
2
+ /* --color-accent-rgb: 131, 108, 172;
3
+ --color-accent: rgb(var(--color-accent-rgb));
4
+ --theme-logo-width: 50px;
5
+ --theme-background: url(https://images.unsplash.com/photo-1460411794035-42aac080490a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1950&q=80);
6
+ --theme-logo: url(https://images.unsplash.com/photo-1460411794035-42aac080490a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=50&q=80);
7
+ --theme-logo-big: url(https://images.unsplash.com/photo-1460411794035-42aac080490a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=250&q=80); */
8
+ }
9
+
10
+ /* tmp */
11
+ yvc-overlay {
12
+ width: 100%;
13
+ }
@@ -0,0 +1,5 @@
1
+ import { UpdateRecorder } from "@angular-devkit/schematics";
2
+ import ts from "typescript";
3
+ export declare function findComponentClassDecorator(source: ts.SourceFile): ts.CallExpression | null;
4
+ export declare function findDecoratorProperty(decorator: ts.CallExpression, propertyName: string): ts.PropertyAssignment | null;
5
+ export declare function addInlineTemplate(recorder: UpdateRecorder, componentDecorator: ts.CallExpression, newTemplate: string): void;
@@ -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.findComponentClassDecorator = findComponentClassDecorator;
7
+ exports.findDecoratorProperty = findDecoratorProperty;
8
+ exports.addInlineTemplate = addInlineTemplate;
9
+ const typescript_1 = __importDefault(require("typescript"));
10
+ function findComponentClassDecorator(source) {
11
+ const decorators = source.statements
12
+ .filter(typescript_1.default.isClassDeclaration)
13
+ .flatMap((cls) => (typescript_1.default.canHaveDecorators(cls) ? typescript_1.default.getDecorators(cls) || [] : []))
14
+ .filter((dec) => typescript_1.default.isCallExpression(dec.expression) && dec.expression.expression.getText() === "Component");
15
+ return decorators.length > 0 ? decorators[0].expression : null;
16
+ }
17
+ function findDecoratorProperty(decorator, propertyName) {
18
+ const objLiteral = decorator.arguments[0];
19
+ return objLiteral.properties.filter(typescript_1.default.isPropertyAssignment).find((prop) => prop.name.getText() === propertyName);
20
+ }
21
+ function addInlineTemplate(recorder, componentDecorator, newTemplate) {
22
+ const templateProperty = findDecoratorProperty(componentDecorator, "template");
23
+ if (templateProperty) {
24
+ recorder.remove(templateProperty.initializer.pos, templateProperty.initializer.end - templateProperty.initializer.pos);
25
+ recorder.insertRight(templateProperty.initializer.pos, newTemplate);
26
+ }
27
+ else {
28
+ const decoratorArgs = componentDecorator.expression.arguments[0];
29
+ const pos = decoratorArgs.properties.end;
30
+ recorder.insertRight(pos, decoratorArgs.properties.length ? `, template: ${newTemplate}` : `template: ${newTemplate}`);
31
+ }
32
+ }
33
+ //# sourceMappingURL=schematics-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schematics-util.js","sourceRoot":"","sources":["../../src/schematics/schematics-util.ts"],"names":[],"mappings":";;;;;AAGA,kEAOC;AAED,sDAGC;AAED,8CAUC;AA1BD,4DAA4B;AAE5B,SAAgB,2BAA2B,CAAC,MAAqB;IAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;SACjC,MAAM,CAAC,oBAAE,CAAC,kBAAkB,CAAC;SAC7B,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,oBAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAChF,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC,CAAC;IAE/G,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAgC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxF,CAAC;AAED,SAAgB,qBAAqB,CAAC,SAA4B,EAAE,YAAoB;IACtF,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAA+B,CAAC;IACxE,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAE,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,YAAY,CAAiC,CAAC;AACpJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAwB,EAAE,kBAAqC,EAAE,WAAmB;IACpH,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAC/E,IAAI,gBAAgB,EAAE,CAAC;QACrB,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvH,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAI,kBAAkB,CAAC,UAAgC,CAAC,SAAS,CAAC,CAAC,CAA+B,CAAC;QACtH,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC;QACzC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC;IACzH,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Rule } from "@angular-devkit/schematics";
2
+ export default function cleanUpNgApp(options: any): Rule;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = cleanUpNgApp;
4
+ function cleanUpNgApp(options) {
5
+ return (tree, context) => {
6
+ tree.delete('/' + options.name + '/src/app/app.component.html');
7
+ tree.delete('/' + options.name + '/src/app/app.component.scss');
8
+ return tree;
9
+ };
10
+ }
11
+ //# sourceMappingURL=clean-up-ng-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean-up-ng-app.js","sourceRoot":"","sources":["../../../src/schematics/tasks/clean-up-ng-app.ts"],"names":[],"mappings":";;AAEA,+BAOC;AAPD,SAAwB,YAAY,CAAC,OAAY;IAE/C,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,6BAA6B,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,6BAA6B,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function copyExtensionsFiles(options: any): import("@angular-devkit/schematics").Rule[];
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.copyExtensionsFiles = copyExtensionsFiles;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const core_1 = require("@angular-devkit/core");
6
+ function copyExtensionsFiles(options) {
7
+ return [
8
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_lib_extensions'), [
9
+ (0, schematics_1.renameTemplateFiles)(),
10
+ (0, schematics_1.template)(Object.assign(Object.assign({}, options), core_1.strings)),
11
+ (0, schematics_1.move)(`${options.libraryRoot}/extensions`)
12
+ ]))
13
+ ];
14
+ }
15
+ //# sourceMappingURL=copy-extensions-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-extensions-files.js","sourceRoot":"","sources":["../../../src/schematics/tasks/copy-extensions-files.ts"],"names":[],"mappings":";;AAGA,kDAUC;AAbD,2DAAwG;AACxG,+CAA+C;AAE/C,SAAgB,mBAAmB,CAAC,OAAY;IAC9C,OAAO;QACL,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,6BAA6B,CAAC,EAAE;YACxC,IAAA,gCAAmB,GAAE;YACrB,IAAA,qBAAQ,kCAAM,OAAO,GAAK,cAAO,EAAG;YACpC,IAAA,iBAAI,EAAC,GAAG,OAAO,CAAC,WAAW,aAAa,CAAC;SAC1C,CAAC,CACH;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function copyFiles(options: any): import("@angular-devkit/schematics").Rule[];
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.copyFiles = copyFiles;
4
+ // src/schematics/new/merge-steps.ts
5
+ const schematics_1 = require("@angular-devkit/schematics");
6
+ function copyFiles(options) {
7
+ return [
8
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_root'), [
9
+ (0, schematics_1.template)(Object.assign({}, options)),
10
+ (0, schematics_1.move)(`${options.name}`)
11
+ ]), schematics_1.MergeStrategy.Overwrite),
12
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_src'), [
13
+ (0, schematics_1.template)(Object.assign({}, options)),
14
+ (0, schematics_1.move)(`${options.name}/src`)
15
+ ]), schematics_1.MergeStrategy.Overwrite),
16
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_src_app'), [
17
+ (0, schematics_1.renameTemplateFiles)(),
18
+ (0, schematics_1.template)(Object.assign({}, options)),
19
+ (0, schematics_1.move)(`${options.name}/src/app`)
20
+ ]), schematics_1.MergeStrategy.Overwrite),
21
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_src_assets__yuuvis_config'), [
22
+ (0, schematics_1.move)(`${options.name}/src/assets/_yuuvis/config`)
23
+ ])),
24
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_src_assets__yuuvis_theme'), [
25
+ (0, schematics_1.move)(`${options.name}/src/assets/_yuuvis/theme`)
26
+ ])),
27
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_scripts'), [
28
+ (0, schematics_1.move)(`${options.name}/scripts`)
29
+ ]))
30
+ ];
31
+ }
32
+ //# sourceMappingURL=copy-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-files.js","sourceRoot":"","sources":["../../../src/schematics/tasks/copy-files.ts"],"names":[],"mappings":";;AAGA,8BAwCC;AA3CD,oCAAoC;AACpC,2DAAuH;AAEvH,SAAgB,SAAS,CAAC,OAAY;IACpC,OAAO;QACL,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,mBAAmB,CAAC,EAAE;YAC9B,IAAA,qBAAQ,oBAAM,OAAO,EAAG;YACxB,IAAA,iBAAI,EAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;SACxB,CAAC,EACF,0BAAa,CAAC,SAAS,CACxB;QACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,kBAAkB,CAAC,EAAE;YAC7B,IAAA,qBAAQ,oBAAM,OAAO,EAAG;YACxB,IAAA,iBAAI,EAAC,GAAG,OAAO,CAAC,IAAI,MAAM,CAAC;SAC5B,CAAC,EACF,0BAAa,CAAC,SAAS,CACxB;QACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,sBAAsB,CAAC,EAAE;YACjC,IAAA,gCAAmB,GAAE;YACrB,IAAA,qBAAQ,oBAAM,OAAO,EAAG;YACxB,IAAA,iBAAI,EAAC,GAAG,OAAO,CAAC,IAAI,UAAU,CAAC;SAChC,CAAC,EACF,0BAAa,CAAC,SAAS,CACxB;QACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,wCAAwC,CAAC,EAAE;YACnD,IAAA,iBAAI,EAAC,GAAG,OAAO,CAAC,IAAI,4BAA4B,CAAC;SAClD,CAAC,CACH;QACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,uCAAuC,CAAC,EAAE;YAClD,IAAA,iBAAI,EAAC,GAAG,OAAO,CAAC,IAAI,2BAA2B,CAAC;SACjD,CAAC,CACH;QACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,sBAAsB,CAAC,EAAE;YACjC,IAAA,iBAAI,EAAC,GAAG,OAAO,CAAC,IAAI,UAAU,CAAC;SAChC,CAAC,CACH;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function copyUiFiles(options: any): import("@angular-devkit/schematics").Rule[];
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.copyUiFiles = copyUiFiles;
4
+ // src/schematics/new/merge-steps.ts
5
+ const schematics_1 = require("@angular-devkit/schematics");
6
+ const core_1 = require("@angular-devkit/core");
7
+ function copyUiFiles(options) {
8
+ return [
9
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_lib_ui_src'), [
10
+ (0, schematics_1.renameTemplateFiles)(),
11
+ (0, schematics_1.template)(Object.assign(Object.assign({}, options), core_1.strings)),
12
+ (0, schematics_1.move)(`${options.libraryRoot}/src`)
13
+ ]))
14
+ ];
15
+ }
16
+ //# sourceMappingURL=copy-ui-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-ui-files.js","sourceRoot":"","sources":["../../../src/schematics/tasks/copy-ui-files.ts"],"names":[],"mappings":";;AAIA,kCAUC;AAdD,oCAAoC;AACpC,2DAAuH;AACvH,+CAA+C;AAE/C,SAAgB,WAAW,CAAC,OAAY;IACtC,OAAO;QACL,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,yBAAyB,CAAC,EAAE;YACpC,IAAA,gCAAmB,GAAE;YACrB,IAAA,qBAAQ,kCAAM,OAAO,GAAK,cAAO,EAAG;YACpC,IAAA,iBAAI,EAAC,GAAG,OAAO,CAAC,WAAW,MAAM,CAAC;SACnC,CAAC,CACH;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Rule } from "@angular-devkit/schematics";
2
+ import { AppManifest } from "../app-manifest";
3
+ import { LibraryMetadata } from "../factories/generate-app";
4
+ export declare function createOrUpdateManifest(options: any, targetManifest: AppManifest, libMetadata: LibraryMetadata): Rule;