@teleporthq/teleport-project-generator-angular 0.18.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 teleporthq
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,15 @@
1
+ # `teleport-project-generator-angular`
2
+
3
+ Project generator using Angular, on top of a boilerplate generated using angular-cli
4
+
5
+ > This package is part of the [teleport ecosystem](https://github.com/teleporthq/teleport-code-generators). For a complete guide, check out the [official documentation](https://docs.teleporthq.io/).
6
+
7
+ ## Install
8
+ ```bash
9
+ npm install @teleporthq/teleport-project-generator-angular
10
+ ```
11
+ or
12
+ ```bash
13
+ yarn add @teleporthq/teleport-project-generator-angular
14
+ ```
15
+
@@ -0,0 +1,84 @@
1
+ import { FileType } from '@teleporthq/teleport-types'
2
+ import uidlSample from '../../../../examples/test-samples/project-sample-with-dependency.json'
3
+ import invalidUidlSample from '../../../../examples/test-samples/project-invalid-sample.json'
4
+ import uidlSampleWithJustTokens from '../../../../examples/test-samples/project-with-only-tokens.json'
5
+ import { createAngularProjectGenerator } from '../../src'
6
+ import template from './template-definition.json'
7
+
8
+ describe('Angular Project Generator', () => {
9
+ const generator = createAngularProjectGenerator()
10
+
11
+ it('runs without crashing', async () => {
12
+ const outputFolder = await generator.generateProject(uidlSample, template)
13
+ const assetsPath = generator.getAssetsPath()
14
+
15
+ const packageJSON = outputFolder.files[0]
16
+ const srcFolder = outputFolder.subFolders[0]
17
+ const appFolder = srcFolder.subFolders[0]
18
+ const pagesFolder = appFolder.subFolders[0]
19
+ const componentsFolder = appFolder.subFolders[1]
20
+ const modalComponent = componentsFolder.subFolders[2]
21
+ const componentsModule = componentsFolder.files[0]
22
+
23
+ expect(assetsPath).toBeDefined()
24
+ expect(outputFolder.name).toBe(template.name)
25
+ expect(outputFolder.files[0].name).toBe('package')
26
+ expect(srcFolder.files[0].fileType).toBe(FileType.HTML)
27
+ expect(srcFolder.files[0].content).toBeDefined()
28
+ expect(appFolder.files[0].name).toBe('app.module')
29
+ expect(appFolder.files[0].fileType).toBe(FileType.TS)
30
+ expect(appFolder.files[0].content).toBeDefined()
31
+ expect(componentsFolder.name).toBe('components')
32
+ expect(componentsModule.name).toBe('components.module')
33
+ expect(componentsFolder.files[0].content).toBeDefined()
34
+ expect(componentsFolder.subFolders.length).toBeGreaterThan(0)
35
+ expect(pagesFolder.name).toBe('pages')
36
+ expect(pagesFolder.subFolders.length).toBeGreaterThan(0)
37
+
38
+ /*
39
+ * For angular by default we are adding all the external dependencies only in components module
40
+ * Since we can import once in module and use in all places for angular unlike
41
+ * other frameworks. External dependnecies don't have first class support in Angular yet in
42
+ * code-generators
43
+ *
44
+ * Any local dependency is also imported only once in the components module and direclty
45
+ * used in any other component
46
+ *
47
+ * Refer --> https://github.com/teleporthq/teleport-code-generators/pull/478
48
+ */
49
+
50
+ expect(componentsModule.content).toContain(`import { Button } from 'antd'`)
51
+ expect(componentsModule.content)
52
+ .toContain(`import { OneComponent } from './one-component/one-component.component'
53
+ import { ExpandableArea } from './expandable-area/expandable-area.component'
54
+ import { Modal } from './modal/modal.component'
55
+ import { ModalWindow } from './modal-window/modal-window.component'`)
56
+ expect(modalComponent.files[0].content).toContain(
57
+ `<modal-window (onClose)="isOpen = false" *ngIf="isOpen"></modal-window>`
58
+ )
59
+ expect(pagesFolder.subFolders[0].files[0].content).toContain(`<app-modal></app-modal>`)
60
+ /*
61
+ * Modal is used in home page but don't need to import since all components are packed
62
+ * together as components module and imported at once in root module
63
+ */
64
+ expect(pagesFolder.subFolders[0].files[1].content).not.toContain(`import Modal`)
65
+ expect(modalComponent.files[1].content).not.toContain(`import Modal`)
66
+ expect(packageJSON.content).toContain(`"antd": "4.5.4"`)
67
+ })
68
+
69
+ it('creates style sheet and adds to the webpack file', async () => {
70
+ const result = await generator.generateProject(uidlSampleWithJustTokens, template)
71
+ const styleSheet = result.subFolders[0].files.find(
72
+ (file) => file.name === 'styles' && file.fileType === FileType.CSS
73
+ )
74
+
75
+ expect(styleSheet).toBeDefined()
76
+ expect(styleSheet.content).toContain(`--greys-500: #595959`)
77
+ })
78
+
79
+ it('throws error when invalid UIDL sample is used', async () => {
80
+ const result = generator.generateProject(invalidUidlSample, template)
81
+
82
+ await expect(result).rejects.toThrow(Error)
83
+ })
84
+ })
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "angular",
3
+ "files": [],
4
+ "subFolders": [
5
+ {
6
+ "name": "src",
7
+ "files": [],
8
+ "subFolders": [
9
+ {
10
+ "name": "app",
11
+ "files": [],
12
+ "subFolders": []
13
+ },
14
+ {
15
+ "name": "assets",
16
+ "files": [],
17
+ "subFolders": []
18
+ },
19
+ {
20
+ "name": "environments",
21
+ "files": [],
22
+ "subFolders": []
23
+ }
24
+ ]
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,2 @@
1
+ import { Mapping } from '@teleporthq/teleport-types';
2
+ export declare const AngularProjectMapping: Mapping;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AngularProjectMapping = void 0;
4
+ exports.AngularProjectMapping = {
5
+ elements: {
6
+ navlink: {
7
+ elementType: 'a',
8
+ attrs: {
9
+ routerLink: { type: 'dynamic', content: { referenceType: 'attr', id: 'transitionTo' } },
10
+ },
11
+ },
12
+ },
13
+ };
14
+ //# sourceMappingURL=angular-project-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-project-mapping.js","sourceRoot":"","sources":["../../src/angular-project-mapping.ts"],"names":[],"mappings":";;;AAEa,QAAA,qBAAqB,GAAY;IAC5C,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE;gBACL,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE;aACxF;SACF;KACF;CACF,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const CUSTOM_BODY_CONTENT = "<app-root></app-root>";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CUSTOM_BODY_CONTENT = void 0;
4
+ exports.CUSTOM_BODY_CONTENT = '<app-root></app-root>';
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,uBAAuB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { AngularProjectMapping } from './angular-project-mapping';
2
+ import { template as AngularTemplate } from './project-template';
3
+ declare const createAngularProjectGenerator: () => import("@teleporthq/teleport-project-generator").ProjectGenerator;
4
+ export { createAngularProjectGenerator, AngularProjectMapping, AngularTemplate };
@@ -0,0 +1,99 @@
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.AngularTemplate = exports.AngularProjectMapping = exports.createAngularProjectGenerator = void 0;
7
+ var teleport_plugin_angular_module_1 = require("@teleporthq/teleport-plugin-angular-module");
8
+ var teleport_plugin_import_statements_1 = require("@teleporthq/teleport-plugin-import-statements");
9
+ var teleport_component_generator_angular_1 = require("@teleporthq/teleport-component-generator-angular");
10
+ var teleport_postprocessor_prettier_ts_1 = require("@teleporthq/teleport-postprocessor-prettier-ts");
11
+ var teleport_postprocessor_prettier_html_1 = __importDefault(require("@teleporthq/teleport-postprocessor-prettier-html"));
12
+ var teleport_component_generator_1 = require("@teleporthq/teleport-component-generator");
13
+ var teleport_project_generator_1 = require("@teleporthq/teleport-project-generator");
14
+ var teleport_types_1 = require("@teleporthq/teleport-types");
15
+ var teleport_plugin_css_1 = require("@teleporthq/teleport-plugin-css");
16
+ var constants_1 = require("./constants");
17
+ var angular_project_mapping_1 = require("./angular-project-mapping");
18
+ Object.defineProperty(exports, "AngularProjectMapping", { enumerable: true, get: function () { return angular_project_mapping_1.AngularProjectMapping; } });
19
+ var project_template_1 = require("./project-template");
20
+ Object.defineProperty(exports, "AngularTemplate", { enumerable: true, get: function () { return project_template_1.template; } });
21
+ var createAngularProjectGenerator = function () {
22
+ var prettierTS = teleport_postprocessor_prettier_ts_1.createPrettierTSPostProcessor({ fileType: teleport_types_1.FileType.TS });
23
+ var importStatementsPlugin = teleport_plugin_import_statements_1.createImportPlugin({ fileType: teleport_types_1.FileType.TS });
24
+ var rootModuleGeneratorAngularPlugin = teleport_plugin_angular_module_1.createAngularModulePlugin({ moduleType: 'root' });
25
+ var componentModuleGeneratorAngularPlugin = teleport_plugin_angular_module_1.createAngularModulePlugin({
26
+ moduleType: 'component',
27
+ });
28
+ var pagesModuleGeneratorAngularPlugin = teleport_plugin_angular_module_1.createAngularModulePlugin({ moduleType: 'page' });
29
+ var generator = teleport_project_generator_1.createProjectGenerator({
30
+ id: 'teleport-project-angular',
31
+ components: {
32
+ generator: teleport_component_generator_angular_1.createAngularComponentGenerator,
33
+ mappings: [angular_project_mapping_1.AngularProjectMapping],
34
+ path: ['src', 'app', 'components'],
35
+ module: {
36
+ generator: teleport_component_generator_1.createComponentGenerator,
37
+ plugins: [componentModuleGeneratorAngularPlugin, importStatementsPlugin],
38
+ postprocessors: [prettierTS],
39
+ },
40
+ options: {
41
+ createFolderForEachComponent: true,
42
+ customComponentFileName: function (name) { return name + ".component"; },
43
+ customStyleFileName: function (name) { return name + ".component"; },
44
+ customTemplateFileName: function (name) { return name + ".component"; },
45
+ },
46
+ },
47
+ pages: {
48
+ generator: teleport_component_generator_angular_1.createAngularComponentGenerator,
49
+ mappings: [teleport_component_generator_angular_1.AngularMapping],
50
+ path: ['src', 'app', 'pages'],
51
+ module: {
52
+ generator: teleport_component_generator_1.createComponentGenerator,
53
+ plugins: [pagesModuleGeneratorAngularPlugin, importStatementsPlugin],
54
+ postprocessors: [prettierTS],
55
+ },
56
+ options: {
57
+ createFolderForEachComponent: true,
58
+ customComponentFileName: function (name) { return name + ".component"; },
59
+ customStyleFileName: function (name) { return name + ".component"; },
60
+ customTemplateFileName: function (name) { return name + ".component"; },
61
+ },
62
+ },
63
+ projectStyleSheet: {
64
+ generator: teleport_component_generator_1.createComponentGenerator,
65
+ plugins: [teleport_plugin_css_1.createStyleSheetPlugin({ fileName: 'styles' })],
66
+ fileName: 'styles',
67
+ path: ['src'],
68
+ },
69
+ router: {
70
+ generator: teleport_component_generator_1.createComponentGenerator,
71
+ plugins: [rootModuleGeneratorAngularPlugin, importStatementsPlugin],
72
+ postprocessors: [prettierTS],
73
+ path: ['src', 'app'],
74
+ fileName: 'app.module',
75
+ },
76
+ entry: {
77
+ postprocessors: [teleport_postprocessor_prettier_html_1.default],
78
+ path: ['src'],
79
+ fileName: 'index',
80
+ options: {
81
+ appRootOverride: constants_1.CUSTOM_BODY_CONTENT,
82
+ customTags: [
83
+ {
84
+ tagName: 'base',
85
+ targetTag: 'head',
86
+ attributes: [{ attributeKey: 'href', attributeValue: '/' }],
87
+ },
88
+ ],
89
+ },
90
+ },
91
+ static: {
92
+ prefix: '/assets',
93
+ path: ['src', 'assets'],
94
+ },
95
+ });
96
+ return generator;
97
+ };
98
+ exports.createAngularProjectGenerator = createAngularProjectGenerator;
99
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { GeneratedFolder } from '@teleporthq/teleport-types';
2
+ export declare const template: GeneratedFolder;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.template = void 0;
4
+ exports.template = {
5
+ name: 'teleport-project-angular',
6
+ files: [
7
+ {
8
+ name: 'package',
9
+ content: "\n{\n \"name\": \"teleport-project-angular\",\n \"author\": \"teleportHQ\",\n \"version\": \"0.0.0\",\n \"scripts\": {\n \"ng\": \"ng\",\n \"start\": \"ng serve\",\n \"build\": \"ng build\",\n \"watch\": \"ng build --watch --configuration development\"\n },\n \"private\": true,\n \"dependencies\": {\n \"@angular/common\": \"~12.0.3\",\n \"@angular/compiler\": \"~12.0.3\",\n \"@angular/core\": \"~12.0.3\",\n \"@angular/forms\": \"~12.0.3\",\n \"@angular/platform-browser\": \"~12.0.3\",\n \"@angular/platform-browser-dynamic\": \"~12.0.3\",\n \"@angular/router\": \"~12.0.3\",\n \"rxjs\": \"~6.6.0\",\n \"tslib\": \"^2.1.0\",\n \"core-js\": \"~3.0.1\",\n \"zone.js\": \"~0.11.4\"\n },\n \"devDependencies\": {\n \"@angular-devkit/build-angular\": \"~0.900.7\",\n \"@angular/cli\": \"~12.0.3\",\n \"@angular/compiler-cli\": \"~12.0.3\",\n \"@types/node\": \"^12.11.1\",\n \"typescript\": \"~4.2.3\"\n }\n}",
10
+ fileType: 'json',
11
+ },
12
+ {
13
+ name: 'angular',
14
+ content: "\n{\n \"$schema\": \"./node_modules/@angular/cli/lib/config/schema.json\",\n \"version\": 1,\n \"newProjectRoot\": \"projects\",\n \"projects\": {\n \"teleport-project-template-angular\": {\n \"projectType\": \"application\",\n \"schematics\": {},\n \"root\": \"\",\n \"sourceRoot\": \"src\",\n \"prefix\": \"app\",\n \"architect\": {\n \"build\": {\n \"builder\": \"@angular-devkit/build-angular:browser\",\n \"options\": {\n \"outputPath\": \"dist/teleport-project-template-angular\",\n \"index\": \"src/index.html\",\n \"main\": \"src/main.ts\",\n \"polyfills\": \"src/polyfills.ts\",\n \"tsConfig\": \"tsconfig.app.json\",\n \"aot\": false,\n \"assets\": [\n \"src/favicon.ico\",\n \"src/assets\"\n ],\n \"styles\": [\n \"src/styles.css\"\n ],\n \"scripts\": []\n },\n \"configurations\": {\n \"production\": {\n \"fileReplacements\": [\n {\n \"replace\": \"src/environments/environment.ts\",\n \"with\": \"src/environments/environment.prod.ts\"\n }\n ],\n \"optimization\": true,\n \"outputHashing\": \"all\",\n \"sourceMap\": false,\n \"extractCss\": true,\n \"namedChunks\": false,\n \"aot\": true,\n \"extractLicenses\": true,\n \"vendorChunk\": false,\n \"buildOptimizer\": true,\n \"budgets\": [\n {\n \"type\": \"initial\",\n \"maximumWarning\": \"2mb\",\n \"maximumError\": \"5mb\"\n },\n {\n \"type\": \"anyComponentStyle\",\n \"maximumWarning\": \"6kb\",\n \"maximumError\": \"10kb\"\n }\n ]\n }\n }\n },\n \"serve\": {\n \"builder\": \"@angular-devkit/build-angular:dev-server\",\n \"options\": {\n \"browserTarget\": \"teleport-project-template-angular:build\"\n },\n \"configurations\": {\n \"production\": {\n \"browserTarget\": \"teleport-project-template-angular:build:production\"\n }\n }\n },\n \"extract-i18n\": {\n \"builder\": \"@angular-devkit/build-angular:extract-i18n\",\n \"options\": {\n \"browserTarget\": \"teleport-project-template-angular:build\"\n }\n },\n \"test\": {\n \"builder\": \"@angular-devkit/build-angular:karma\",\n \"options\": {\n \"main\": \"src/test.ts\",\n \"polyfills\": \"src/polyfills.ts\",\n \"tsConfig\": \"tsconfig.spec.json\",\n \"karmaConfig\": \"karma.conf.js\",\n \"assets\": [\n \"src/favicon.ico\",\n \"src/assets\"\n ],\n \"styles\": [\n \"src/styles.css\"\n ],\n \"scripts\": []\n }\n },\n \"lint\": {\n \"builder\": \"@angular-devkit/build-angular:tslint\",\n \"options\": {\n \"tsConfig\": [\n \"tsconfig.app.json\",\n \"tsconfig.spec.json\",\n \"e2e/tsconfig.json\"\n ],\n \"exclude\": [\n \"**/node_modules/**\"\n ]\n }\n },\n \"e2e\": {\n \"builder\": \"@angular-devkit/build-angular:protractor\",\n \"options\": {\n \"protractorConfig\": \"e2e/protractor.conf.js\",\n \"devServerTarget\": \"teleport-project-template-angular:serve\"\n },\n \"configurations\": {\n \"production\": {\n \"devServerTarget\": \"teleport-project-template-angular:serve:production\"\n }\n }\n }\n }\n }},\n \"defaultProject\": \"teleport-project-template-angular\"\n}",
15
+ fileType: 'json',
16
+ },
17
+ {
18
+ name: 'tsconfig',
19
+ content: "\n{\n \"compileOnSave\": false,\n \"compilerOptions\": {\n \"baseUrl\": \"./\",\n \"outDir\": \"./dist/out-tsc\",\n \"sourceMap\": true,\n \"declaration\": false,\n \"downlevelIteration\": true,\n \"experimentalDecorators\": true,\n \"module\": \"esnext\",\n \"moduleResolution\": \"node\",\n \"importHelpers\": true,\n \"target\": \"es2015\",\n \"typeRoots\": [\n \"node_modules/@types\"\n ],\n \"lib\": [\n \"es2018\",\n \"dom\"\n ]\n },\n \"angularCompilerOptions\": {\n \"fullTemplateTypeCheck\": true,\n \"strictInjectionParameters\": true\n }\n}",
20
+ fileType: 'json',
21
+ },
22
+ {
23
+ name: 'tslint',
24
+ content: "\n{\n \"extends\": \"tslint:recommended\",\n \"rules\": {\n \"array-type\": false,\n \"arrow-parens\": false,\n \"deprecation\": {\n \"severity\": \"warning\"\n },\n \"component-class-suffix\": true,\n \"contextual-lifecycle\": true,\n \"directive-class-suffix\": true,\n \"directive-selector\": [\n true,\n \"attribute\",\n \"app\",\n \"camelCase\"\n ],\n \"component-selector\": [\n true,\n \"element\",\n \"app\",\n \"kebab-case\"\n ],\n \"import-blacklist\": [\n true,\n \"rxjs/Rx\"\n ],\n \"interface-name\": false,\n \"max-classes-per-file\": false,\n \"max-line-length\": [\n true,\n 140\n ],\n \"member-access\": false,\n \"member-ordering\": [\n true,\n {\n \"order\": [\n \"static-field\",\n \"instance-field\",\n \"static-method\",\n \"instance-method\"\n ]\n }\n ],\n \"no-consecutive-blank-lines\": false,\n \"no-console\": [\n true,\n \"debug\",\n \"info\",\n \"time\",\n \"timeEnd\",\n \"trace\"\n ],\n \"no-empty\": false,\n \"no-inferrable-types\": [\n true,\n \"ignore-params\"\n ],\n \"no-non-null-assertion\": true,\n \"no-redundant-jsdoc\": true,\n \"no-switch-case-fall-through\": true,\n \"no-use-before-declare\": true,\n \"no-var-requires\": false,\n \"object-literal-key-quotes\": [\n true,\n \"as-needed\"\n ],\n \"object-literal-sort-keys\": false,\n \"ordered-imports\": false,\n \"quotemark\": [\n true,\n \"single\"\n ],\n \"trailing-comma\": false,\n \"no-conflicting-lifecycle\": true,\n \"no-host-metadata-property\": true,\n \"no-input-rename\": true,\n \"no-inputs-metadata-property\": true,\n \"no-output-native\": true,\n \"no-output-on-prefix\": true,\n \"no-output-rename\": true,\n \"no-outputs-metadata-property\": true,\n \"template-banana-in-box\": true,\n \"template-no-negated-async\": true,\n \"use-lifecycle-interface\": true,\n \"use-pipe-transform-interface\": true\n },\n \"rulesDirectory\": [\n \"codelyzer\"\n ]\n}",
25
+ fileType: 'json',
26
+ },
27
+ {
28
+ name: 'tsconfig.app',
29
+ content: "\n{\n \"extends\": \"./tsconfig.json\",\n \"compilerOptions\": {\n \"outDir\": \"./out-tsc/app\",\n \"types\": []\n },\n \"files\": [\n \"src/main.ts\",\n \"src/polyfills.ts\"\n ],\n \"include\": [\n \"src/**/*.ts\"\n ],\n \"exclude\": [\n \"src/test.ts\",\n \"src/**/*.spec.ts\"\n ]\n}",
30
+ fileType: 'json',
31
+ },
32
+ {
33
+ name: 'browserslist',
34
+ content: "\n# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.\n# For additional information regarding the format and rule options, please see:\n# https://github.com/browserslist/browserslist#queries\n\n# You can see what browsers were selected by your queries by running:\n# npx browserslist\n\n> 0.5%\nlast 2 versions\nFirefox ESR\nnot dead\nnot IE 9-11 # For IE 9-11 support, remove 'not'.\n",
35
+ fileType: '',
36
+ },
37
+ {
38
+ name: '.gitignore',
39
+ content: "\n# See http://help.github.com/ignore-files/ for more about ignoring files.\n\n# compiled output\n/dist\n/tmp\n/out-tsc\n# Only exists if Bazel was run\n/bazel-out\n\n# dependencies\n/node_modules\n\n# profiling files\nchrome-profiler-events*.json\nspeed-measure-plugin*.json\n\n# IDEs and editors\n/.idea\n.project\n.classpath\n.c9/\n*.launch\n.settings/\n*.sublime-workspace\n\n# IDE - VSCode\n.vscode/*\n!.vscode/settings.json\n!.vscode/tasks.json\n!.vscode/launch.json\n!.vscode/extensions.json\n.history/*\n\n# misc\n/.sass-cache\n/connect.lock\n/coverage\n/libpeerconnection.log\nnpm-debug.log\nyarn-error.log\ntestem.log\n/typings\n\n# System Files\n.DS_Store\nThumbs.db",
40
+ },
41
+ ],
42
+ subFolders: [
43
+ {
44
+ name: 'src',
45
+ files: [
46
+ {
47
+ name: 'main',
48
+ content: "\nimport './polyfills';\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n ",
49
+ fileType: 'ts',
50
+ },
51
+ {
52
+ name: 'polyfills',
53
+ fileType: 'ts',
54
+ content: "\n/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/guide/browser-support\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/** IE10 and IE11 requires the following for NgClass support on SVG elements */\n// import 'classlist.js'; // Run npm install --save classlist.js.\n\n/**\n * Web Animations @angular/platform-browser/animations\n * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.\n * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).\n */\n// import 'web-animations-js'; // Run npm install --save web-animations-js.\n\n/**\n * By default, zone.js will patch all possible macroTask and DomEvents\n * user can disable parts of macroTask/DomEvents patch by setting following flags\n * because those flags need to be set before zone.js being loaded, and webpack\n * will put import in the top of bundle, so user need to create a separate file\n * in this directory (for example: zone-flags.ts), and put the following flags\n * into that file, and then add the following code before importing zone.js.\n * import './zone-flags.ts';\n *\n * The flags allowed in zone-flags.ts are listed here.\n *\n * The following flags will work for all browsers.\n *\n * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\n * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\n * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\n *\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\n * with the following flag, it will bypass zone.js patch for IE/Edge\n *\n * (window as any).__Zone_enable_cross_context_check = true;\n *\n */\n\n/***************************************************************************************************\n * Zone JS is required by default for Angular itself.\n */\nimport 'core-js/features/reflect';\nimport 'zone.js/dist/zone'; // Included with Angular CLI.\n\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */",
55
+ },
56
+ {
57
+ name: 'styles',
58
+ content: "\n /* You can add global styles to this file, and also import other style files */",
59
+ fileType: 'css',
60
+ },
61
+ ],
62
+ subFolders: [
63
+ {
64
+ name: 'app',
65
+ files: [
66
+ {
67
+ name: 'app.component',
68
+ content: "\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n title = 'teleport-project-template-angular';\n}",
69
+ fileType: 'ts',
70
+ },
71
+ {
72
+ name: 'app.component',
73
+ content: "<router-outlet></router-outlet>",
74
+ fileType: 'html',
75
+ },
76
+ {
77
+ name: 'app.component',
78
+ content: "",
79
+ fileType: 'css',
80
+ },
81
+ ],
82
+ subFolders: [],
83
+ },
84
+ {
85
+ name: 'environments',
86
+ subFolders: [],
87
+ files: [
88
+ {
89
+ name: 'environment.prod',
90
+ fileType: 'ts',
91
+ content: "\n export const environment = {\n production: true\n };",
92
+ },
93
+ {
94
+ name: 'environment',
95
+ fileType: 'ts',
96
+ content: "\n // This file can be replaced during build by using the fileReplacements array.\n // ng build --prod replaces environment.ts with environment.prod.ts.\n // The list of file replacements can be found in angular.json.\n\n export const environment = {\n production: false\n };\n\n /*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as zone.run, zoneDelegate.invokeTask.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n // import 'zone.js/dist/zone-error'; // Included with Angular CLI.",
97
+ },
98
+ ],
99
+ },
100
+ ],
101
+ },
102
+ ],
103
+ };
104
+ //# sourceMappingURL=project-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-template.js","sourceRoot":"","sources":["../../src/project-template.ts"],"names":[],"mappings":";;;AAEa,QAAA,QAAQ,GAAoB;IACvC,IAAI,EAAE,0BAA0B;IAChC,KAAK,EAAE;QACL;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,m9BAgCb;YACI,QAAQ,EAAE,MAAM;SACjB;QACD;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,6lIA6Hb;YACI,QAAQ,EAAE,MAAM;SACjB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,6mBA0Bb;YACI,QAAQ,EAAE,MAAM;SACjB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,yqEA4Fb;YACI,QAAQ,EAAE,MAAM;SACjB;QACD;YACE,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,8TAkBb;YACI,QAAQ,EAAE,MAAM;SACjB;QACD;YACE,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,8bAad;YACK,QAAQ,EAAE,EAAE;SACb;QACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,uqBA8CL;SACL;KACF;IACD,UAAU,EAAE;QACV;YACE,IAAI,EAAE,KAAK;YACX,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,qaAcR;oBACD,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,m3FAgEf;iBACK;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,qFAC+D;oBACxE,QAAQ,EAAE,KAAK;iBAChB;aACF;YACD,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,eAAe;4BACrB,OAAO,EAAE,yPAUrB;4BACY,QAAQ,EAAE,IAAI;yBACf;wBACD;4BACE,IAAI,EAAE,eAAe;4BACrB,OAAO,EAAE,iCAAiC;4BAC1C,QAAQ,EAAE,MAAM;yBACjB;wBACD;4BACE,IAAI,EAAE,eAAe;4BACrB,OAAO,EAAE,EAAE;4BACX,QAAQ,EAAE,KAAK;yBAChB;qBACF;oBACD,UAAU,EAAE,EAAE;iBACf;gBACD;oBACE,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE,EAAE;oBACd,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,kBAAkB;4BACxB,QAAQ,EAAE,IAAI;4BACd,OAAO,EAAE,0EAGd;yBACI;wBACD;4BACE,IAAI,EAAE,aAAa;4BACnB,QAAQ,EAAE,IAAI;4BACd,OAAO,EAAE,8uBAgBmD;yBAC7D;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAA"}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../teleport-types/dist/cjs/uidl.d.ts","../../../teleport-types/dist/cjs/generators.d.ts","../../../teleport-types/dist/cjs/errors.d.ts","../../../teleport-types/dist/cjs/vuidl.d.ts","../../../teleport-types/dist/cjs/index.d.ts","../../src/angular-project-mapping.ts","../../src/constants.ts","../../../teleport-plugin-angular-module/dist/cjs/index.d.ts","../../../teleport-plugin-import-statements/dist/cjs/index.d.ts","../../../teleport-component-generator-angular/dist/cjs/angular-mapping.d.ts","../../../teleport-component-generator-angular/dist/cjs/index.d.ts","../../../teleport-postprocessor-prettier-ts/dist/cjs/index.d.ts","../../../teleport-postprocessor-prettier-html/dist/cjs/index.d.ts","../../../teleport-component-generator/dist/cjs/index.d.ts","../../../teleport-project-generator/dist/cjs/index.d.ts","../../../teleport-plugin-css/dist/cjs/style-sheet.d.ts","../../../teleport-plugin-css/dist/cjs/index.d.ts","../../src/project-template.ts","../../src/index.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostic_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/util/types.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/ts3.6/base.d.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/base.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/types.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/diffLines.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/printDiffs.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../../node_modules/@types/jest/index.d.ts","../../../../node_modules/@types/jest/ts3.2/index.d.ts"],"fileInfos":[{"version":"ac3a8c4040e183ce38da69d23b96939112457d1936198e6542672b7963cf0fce","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"1dad4fe1561d99dfd6709127608b99a76e5c2643626c800434f99c48038567ee","affectsGlobalScope":true},{"version":"cce43d02223f8049864f8568bed322c39424013275cd3bcc3f51492d8b546cb3","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"8dff1b4c2df638fcd976cbb0e636f23ab5968e836cd45084cc31d47d1ab19c49","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"8f4c9f651c8294a2eb1cbd12581fe25bfb901ab1d474bb93cd38c7e2f4be7a30","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"60761e6ea886034af0f294f025a7199360ce4e2c8ba4ec6408bc049cf9b89799","affectsGlobalScope":true},{"version":"506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e","affectsGlobalScope":true},"d1e076bd03d792a96993f458172927e0c5ac3cb8e1b566f54f925e6ef19bbebb","6a55786dc1b8e3c25bc00e1700a7eb297e20bccae7d4bb5e4a020b97daa2052f","eccf9c0b6e420c47b3e3eb87e8f0dc9df312a9583a6cce96756b18ebff176b70","75ecadee387dde7be130c85ed277fdfcee3923e452260ffaf217ebaefe7bd305","cd619820771edb23926bb084906215ab9c491255fa707488d15748b38909b747","7e5d221c4e67c1c20771348647301b48f1b18e58b0b3407a1f7ce9533cf19f19","c5aded6a9d5f4c85d2431b8d9d768883a282157896877f93143b13d82e8b675f","80c7a269af36a170760cf5f3843022291c798e5117a3752dca55f98f1298caef","e2b7ea200b9d72f09d664fdae9763c5384df4e8569c0c2c9fab72402486b8399","a6e43e8ed2781fe68913c1bd00a2f2a8e2b822b8888c2db5d256befff8a31fe7","73af5147b325fb73932e9349671f21b5d66a65e563f8859d6a2f577684bf039b","6fada81ece798d662057775c16e97fb070d01dfb0cff627ae93b2586f829dbe6","4baa255974c1ce42bb55535d493cf2d80e9e2c41773a4391466340e8f9944bb6","df523941bde95bfd71391d3ed998c090242390d0e3e84de5d9a4cc0621b0bef0","26de024c2ce80ff168f7194c32f845cadd9f7aced3949360d6084e6e342c343c","e9de97322c064a7a0eddec5e49417049ff39f4097bdb9970d60469a88dc73c44","3271bc1d67f50e530f1c0bb3c3d745448536087a33d225dd8ff863668ee86954","45c3b43967619a364cc9aeb87407764c0d6b336fb42b054d2cedcb34b1991ced","6306607ceaf2aa80ec372bbd5be9dcce103fa3d396557ae0cbe015cec9a2e9b6","c7bdc99177a2a94d25fb13722adaaf5b3291bf70b4d1b27584ba189dd3889ba3",{"version":"d1c92b66c4105659fcad4eb76a1481f7311033e117d0678a1ec545e8ddb8d4c6","affectsGlobalScope":true},"e23424b97418eca3226fd24de079f1203eb70360622e4e093af2aff14d4be6ec","dee93c07b4df5e26010dc9ec4cdf4d6e4076bb4474d2a8371529217c8b2740a4","d55bc773f71c50f55decb39b64a5d8b9889a7c9e94305b36656ebf30e4f47469","04eaa93bd75f937f9184dcb95a7983800c5770cf8ddd8ac0f3734dc02f5b20ef",{"version":"c8155caf28fc7b0a564156a5df28ad8a844a3bd32d331d148d8f3ce88025c870","affectsGlobalScope":true},"45ac321f2e15d268fd74a90ddaa6467dcaaff2c5b13f95b4b85831520fb7a491","dfc747ab8dd5f623055a4c26fd35e8cceca869fd3f1cf09701c941ca3679665a","c9f5f2920ff61d7158417b8440d5181ddc34a3dfef811a5677dd8a9fb91471e9","5cc0a492da3602510b8f5ed1852b1e0390002780d8758fbc8c0cd023ca7085f8","ec7dafafe751a5121f8f1c80201ebe7e7238c47e6329280a73c4d1ca4bb7fa28","64debeb10e4b7ae4ec9e89bfb4e04c6101ab98c3cc806d14e5488607cfec2753",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"a5782d6cea81fe43d2db7ed41e789458c933ab3ab60602f7b5b14c4da3370496","affectsGlobalScope":true},"b86b7ff709a82ef3cba2184136c025989958bad483ffb13e4ca35d720245adf4","6194335ee3353f7226ba31f31d6301d0c6be87228419c0a08976ccd9d4f1213e","5a173b7da4e6d073f9c18a02f387816a934614e7af306193995935fbb95f10b8","b447e123210c68f205f67b20c996c04a1eb64b0e591c5e06e164cd3d3a869b28","13257840c0850d4ebd7c2b17604a9e006f752de76c2400ebc752bc465c330452","42176966283d3835c34278b9b5c0f470d484c0c0c6a55c20a2c916a1ce69b6e8","0cff7901aedfe78e314f7d44088f07e2afa1b6e4f0473a4169b8456ca2fb245d","c55776aa1db2b963a5fb820c0650362e721cba51ebf83b069696f2501378c0f3","e2236264a811ed1d09a2487a433e8f5216ae62378cf233954ae220cf886f6717","3ec1e108d587a5661ec790db607f482605ba9f3830e118ce578e3ffa3c42e22b","100b3bb9d39d2b1b5340f1bf45a52e94ef1692b45232b4ba00fac5c3cc56d331",{"version":"ec1a29ddaecb683aa360df0bd98ab5d4171d2d549554f7c5ab2a5c183a3dcb67","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","992c6f6be16c0a1d2eec13ece33adeea2c747ba27fcd078353a8f4bb5b4fea58","2597718d91e306949d89e285bf34c44192014ef541c3bd7cbb825c022749e974","a6b0abdb67d63ebe964ba5fee31bc3daf10c12eecd46b24d778426010c04c67e","ac4801ebc2355ba32329070123b1cd15891bf71b41dcaf9e75b4744832126a59","fd2298fba0640e7295e7bd545e2dfbfcccbb00c27019e501c87965a02bbdebf6","4fd3c4debadce3e9ab9dec3eb45f7f5e2e3d4ad65cf975a6d938d883cfb25a50","71ddd49185b68f27bfac127ef5d22cb2672c278e53e5370d9020ef50ca9c377d","b1ea7a6eaa7608e0e0529aebd323b526a79c6c05a4e519ae5c779675004dcdf1","9fcb033a6208485d8f3fadde31eb5cbcaf99149cff3e40c0dc53ebc6d0dff4e9","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5","dcc6910d95a3625fd2b0487fda055988e46ab46c357a1b3618c27b4a8dd739c9","f4149f1aa299474c7040a35fe8f8ac2ad078cc1b190415adc1fff3ed52d490ea","3730099ed008776216268a97771de31753ef71e0a7d0ec650f588cba2a06ce44","8d649dbc429d7139a1d9a14ea2bf8af1dc089e0a879447539587463d4b6c248c","60c9e27816ec8ac8df7240598bb086e95b47edfb454c5cbf4003c812e0ed6e39","e361aecf17fc4034b4c122a1564471cdcd22ef3a51407803cb5a5fc020c04d02","4926467de88a92a4fc9971d8c6f21b91eca1c0e7fc2a46cc4638ab9440c73875",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"fc0ae4a8ad3c762b96f9d2c3700cb879a373458cb0bf3175478e3b4f85f7ef2f","fabbec378e1ddd86fcf2662e716c2b8318acedb664ee3a4cba6f9e8ee8269cf1","b3593bd345ebea5e4d0a894c03251a3774b34df3d6db57075c18e089a599ba76","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","efd55e8ca79171bf26c0d0e30221cb8ee1f5a31dd0c791ec4b2e886f42bab124","e222104af6cb9415238ad358488b74d76eceeff238c1268ec6e85655b05341da","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","eba230221317c985ab1953ccc3edc517f248b37db4fef7875cb2c8d08aff7be7","b83e796810e475da3564c6515bc0ae9577070596a33d89299b7d99f94ecfd921","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"f624e578325b8c58e55b30c998b1f4c3ec1b61a9fa66373da4250c89b7880d44","affectsGlobalScope":true},{"version":"d3002f620eab4bf6476c9da5c0efb2041d46f7df8b3032a5631bd206abef2c75","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noImplicitAny":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"target":1},"fileIdsList":[[104,106],[100,101],[100,101,102,103],[105],[107],[97],[96,97],[51,56],[62,63,70,79],[52,62,70],[88],[56,63,71],[79,84],[59,62,70],[60],[59],[62],[62,64,79,87],[62,63,79],[70,79,87],[62,63,65,70,79,84,87],[65,84,87],[98],[87],[59,62,79],[72],[50],[86],[77,88,91],[62,80],[79],[82],[56,70],[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],[70],[76],[89],[51,56,62,64,73,79,87,91],[33,38],[33],[33,44],[33,34,35,36,37,39,40,41,42,43,45,46],[29],[29,30,31,32]],"referencedMap":[[107,1],[102,2],[104,3],[103,2],[106,4],[108,5],[48,6],[98,7],[51,8],[52,9],[53,10],[54,11],[55,12],[56,13],[57,14],[59,15],[60,16],[61,17],[62,17],[63,18],[64,19],[65,20],[66,21],[67,22],[99,23],[68,17],[69,24],[70,25],[72,26],[73,27],[74,28],[77,17],[78,29],[79,30],[80,31],[82,17],[83,32],[84,33],[96,34],[86,35],[87,36],[88,37],[90,31],[92,38],[93,31],[39,39],[42,40],[36,40],[45,41],[44,40],[37,40],[41,40],[40,40],[34,40],[47,42],[46,40],[43,40],[30,43],[33,44],[32,43]],"exportedModulesMap":[[107,1],[102,2],[104,3],[103,2],[106,4],[108,5],[48,6],[98,7],[51,8],[52,9],[53,10],[54,11],[55,12],[56,13],[57,14],[59,15],[60,16],[61,17],[62,17],[63,18],[64,19],[65,20],[66,21],[67,22],[99,23],[68,17],[69,24],[70,25],[72,26],[73,27],[74,28],[77,17],[78,29],[79,30],[80,31],[82,17],[83,32],[84,33],[96,34],[86,35],[87,36],[88,37],[90,31],[92,38],[93,31],[39,39],[42,40],[36,40],[45,41],[44,40],[37,40],[41,40],[40,40],[34,40],[47,42],[46,40],[43,40],[30,43],[33,44],[32,43]],"semanticDiagnosticsPerFile":[107,100,102,104,103,101,106,105,108,97,48,50,98,51,52,53,54,55,56,57,58,59,60,61,62,63,64,49,94,65,66,67,99,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,96,86,87,88,89,90,91,95,92,93,6,8,7,2,9,10,11,12,13,14,15,16,3,4,20,17,18,19,21,22,23,5,24,25,26,27,1,28,38,39,42,36,45,44,37,41,40,34,35,47,46,43,31,30,33,29,32]},"version":"4.3.5"}
@@ -0,0 +1,2 @@
1
+ import { Mapping } from '@teleporthq/teleport-types';
2
+ export declare const AngularProjectMapping: Mapping;
@@ -0,0 +1,11 @@
1
+ export var AngularProjectMapping = {
2
+ elements: {
3
+ navlink: {
4
+ elementType: 'a',
5
+ attrs: {
6
+ routerLink: { type: 'dynamic', content: { referenceType: 'attr', id: 'transitionTo' } },
7
+ },
8
+ },
9
+ },
10
+ };
11
+ //# sourceMappingURL=angular-project-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-project-mapping.js","sourceRoot":"","sources":["../../src/angular-project-mapping.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,qBAAqB,GAAY;IAC5C,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE;gBACL,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE;aACxF;SACF;KACF;CACF,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const CUSTOM_BODY_CONTENT = "<app-root></app-root>";
@@ -0,0 +1,2 @@
1
+ export var CUSTOM_BODY_CONTENT = '<app-root></app-root>';
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,mBAAmB,GAAG,uBAAuB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { AngularProjectMapping } from './angular-project-mapping';
2
+ import { template as AngularTemplate } from './project-template';
3
+ declare const createAngularProjectGenerator: () => import("@teleporthq/teleport-project-generator").ProjectGenerator;
4
+ export { createAngularProjectGenerator, AngularProjectMapping, AngularTemplate };
@@ -0,0 +1,91 @@
1
+ import { createAngularModulePlugin } from '@teleporthq/teleport-plugin-angular-module';
2
+ import { createImportPlugin } from '@teleporthq/teleport-plugin-import-statements';
3
+ import { createAngularComponentGenerator, AngularMapping, } from '@teleporthq/teleport-component-generator-angular';
4
+ import { createPrettierTSPostProcessor } from '@teleporthq/teleport-postprocessor-prettier-ts';
5
+ import prettierHTML from '@teleporthq/teleport-postprocessor-prettier-html';
6
+ import { createComponentGenerator } from '@teleporthq/teleport-component-generator';
7
+ import { createProjectGenerator } from '@teleporthq/teleport-project-generator';
8
+ import { FileType } from '@teleporthq/teleport-types';
9
+ import { createStyleSheetPlugin } from '@teleporthq/teleport-plugin-css';
10
+ import { CUSTOM_BODY_CONTENT } from './constants';
11
+ import { AngularProjectMapping } from './angular-project-mapping';
12
+ import { template as AngularTemplate } from './project-template';
13
+ var createAngularProjectGenerator = function () {
14
+ var prettierTS = createPrettierTSPostProcessor({ fileType: FileType.TS });
15
+ var importStatementsPlugin = createImportPlugin({ fileType: FileType.TS });
16
+ var rootModuleGeneratorAngularPlugin = createAngularModulePlugin({ moduleType: 'root' });
17
+ var componentModuleGeneratorAngularPlugin = createAngularModulePlugin({
18
+ moduleType: 'component',
19
+ });
20
+ var pagesModuleGeneratorAngularPlugin = createAngularModulePlugin({ moduleType: 'page' });
21
+ var generator = createProjectGenerator({
22
+ id: 'teleport-project-angular',
23
+ components: {
24
+ generator: createAngularComponentGenerator,
25
+ mappings: [AngularProjectMapping],
26
+ path: ['src', 'app', 'components'],
27
+ module: {
28
+ generator: createComponentGenerator,
29
+ plugins: [componentModuleGeneratorAngularPlugin, importStatementsPlugin],
30
+ postprocessors: [prettierTS],
31
+ },
32
+ options: {
33
+ createFolderForEachComponent: true,
34
+ customComponentFileName: function (name) { return name + ".component"; },
35
+ customStyleFileName: function (name) { return name + ".component"; },
36
+ customTemplateFileName: function (name) { return name + ".component"; },
37
+ },
38
+ },
39
+ pages: {
40
+ generator: createAngularComponentGenerator,
41
+ mappings: [AngularMapping],
42
+ path: ['src', 'app', 'pages'],
43
+ module: {
44
+ generator: createComponentGenerator,
45
+ plugins: [pagesModuleGeneratorAngularPlugin, importStatementsPlugin],
46
+ postprocessors: [prettierTS],
47
+ },
48
+ options: {
49
+ createFolderForEachComponent: true,
50
+ customComponentFileName: function (name) { return name + ".component"; },
51
+ customStyleFileName: function (name) { return name + ".component"; },
52
+ customTemplateFileName: function (name) { return name + ".component"; },
53
+ },
54
+ },
55
+ projectStyleSheet: {
56
+ generator: createComponentGenerator,
57
+ plugins: [createStyleSheetPlugin({ fileName: 'styles' })],
58
+ fileName: 'styles',
59
+ path: ['src'],
60
+ },
61
+ router: {
62
+ generator: createComponentGenerator,
63
+ plugins: [rootModuleGeneratorAngularPlugin, importStatementsPlugin],
64
+ postprocessors: [prettierTS],
65
+ path: ['src', 'app'],
66
+ fileName: 'app.module',
67
+ },
68
+ entry: {
69
+ postprocessors: [prettierHTML],
70
+ path: ['src'],
71
+ fileName: 'index',
72
+ options: {
73
+ appRootOverride: CUSTOM_BODY_CONTENT,
74
+ customTags: [
75
+ {
76
+ tagName: 'base',
77
+ targetTag: 'head',
78
+ attributes: [{ attributeKey: 'href', attributeValue: '/' }],
79
+ },
80
+ ],
81
+ },
82
+ },
83
+ static: {
84
+ prefix: '/assets',
85
+ path: ['src', 'assets'],
86
+ },
87
+ });
88
+ return generator;
89
+ };
90
+ export { createAngularProjectGenerator, AngularProjectMapping, AngularTemplate };
91
+ //# sourceMappingURL=index.js.map