angular-three 2.0.0-beta.29 → 2.0.0-beta.291

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 (146) hide show
  1. package/README.md +221 -4
  2. package/esm2022/index.mjs +13 -16
  3. package/esm2022/lib/canvas.mjs +131 -197
  4. package/esm2022/lib/directives/args.mjs +46 -20
  5. package/esm2022/lib/directives/selection.mjs +65 -0
  6. package/esm2022/lib/dom/events.mjs +2 -2
  7. package/esm2022/lib/events.mjs +33 -31
  8. package/esm2022/lib/html.mjs +40 -0
  9. package/esm2022/lib/instance.mjs +43 -36
  10. package/esm2022/lib/loader.mjs +60 -33
  11. package/esm2022/lib/loop.mjs +29 -26
  12. package/esm2022/lib/pipes/hexify.mjs +67 -0
  13. package/esm2022/lib/portal.mjs +173 -193
  14. package/esm2022/lib/renderer/catalogue.mjs +3 -3
  15. package/esm2022/lib/renderer/constants.mjs +5 -6
  16. package/esm2022/lib/renderer/index.mjs +362 -232
  17. package/esm2022/lib/renderer/state.mjs +49 -0
  18. package/esm2022/lib/renderer/utils.mjs +83 -87
  19. package/esm2022/lib/roots.mjs +86 -62
  20. package/esm2022/lib/routed-scene.mjs +6 -7
  21. package/esm2022/lib/store.mjs +170 -194
  22. package/esm2022/lib/three-types.mjs +2 -2
  23. package/esm2022/lib/types.mjs +1 -1
  24. package/esm2022/lib/utils/apply-props.mjs +24 -28
  25. package/esm2022/lib/utils/attach.mjs +12 -9
  26. package/esm2022/lib/utils/before-render.mjs +12 -0
  27. package/esm2022/lib/utils/is.mjs +6 -5
  28. package/esm2022/lib/utils/make.mjs +19 -17
  29. package/esm2022/lib/utils/non-nullish.mjs +7 -0
  30. package/esm2022/lib/utils/object-events.mjs +92 -0
  31. package/esm2022/lib/utils/parameters.mjs +70 -0
  32. package/esm2022/lib/utils/resolve-ref.mjs +8 -0
  33. package/esm2022/lib/utils/signal-store.mjs +59 -60
  34. package/esm2022/lib/utils/update.mjs +6 -2
  35. package/esm2022/testing/angular-three-testing.mjs +5 -0
  36. package/esm2022/testing/index.mjs +3 -0
  37. package/esm2022/testing/lib/test-bed.mjs +130 -0
  38. package/esm2022/testing/lib/test-canvas.mjs +45 -0
  39. package/esm2022/testing/lib/utils/mock-canvas.mjs +37 -0
  40. package/esm2022/testing/lib/utils/web-gl-rendering-context.mjs +752 -0
  41. package/fesm2022/angular-three-testing.mjs +966 -0
  42. package/fesm2022/angular-three-testing.mjs.map +1 -0
  43. package/fesm2022/angular-three.mjs +2470 -2598
  44. package/fesm2022/angular-three.mjs.map +1 -1
  45. package/index.d.ts +14 -15
  46. package/lib/canvas.d.ts +366 -96
  47. package/lib/directives/args.d.ts +14 -7
  48. package/lib/directives/selection.d.ts +17 -0
  49. package/lib/dom/events.d.ts +2 -3
  50. package/lib/events.d.ts +4 -80
  51. package/lib/html.d.ts +17 -0
  52. package/lib/instance.d.ts +3 -35
  53. package/lib/loader.d.ts +18 -6
  54. package/lib/loop.d.ts +11 -59
  55. package/lib/pipes/hexify.d.ts +20 -0
  56. package/lib/portal.d.ts +54 -48
  57. package/lib/renderer/catalogue.d.ts +7 -3
  58. package/lib/renderer/constants.d.ts +4 -5
  59. package/lib/renderer/index.d.ts +64 -4
  60. package/lib/renderer/state.d.ts +24 -0
  61. package/lib/renderer/utils.d.ts +8 -26
  62. package/lib/roots.d.ts +9 -7
  63. package/lib/store.d.ts +13 -141
  64. package/lib/three-types.d.ts +499 -147
  65. package/lib/types.d.ts +291 -0
  66. package/lib/utils/apply-props.d.ts +1 -3
  67. package/lib/utils/attach.d.ts +3 -5
  68. package/lib/{before-render.d.ts → utils/before-render.d.ts} +1 -1
  69. package/lib/utils/is.d.ts +13 -14
  70. package/lib/utils/make.d.ts +7 -13
  71. package/lib/utils/non-nullish.d.ts +4 -0
  72. package/lib/utils/object-events.d.ts +34 -0
  73. package/lib/utils/parameters.d.ts +20 -0
  74. package/lib/utils/resolve-ref.d.ts +2 -0
  75. package/lib/utils/signal-store.d.ts +13 -4
  76. package/lib/utils/update.d.ts +1 -1
  77. package/metadata.json +1 -1
  78. package/package.json +40 -14
  79. package/plugin/generators.json +0 -32
  80. package/plugin/package.json +3 -3
  81. package/plugin/src/generators/init/compat.d.ts +1 -3
  82. package/plugin/src/generators/init/files/experience/experience.component.ts__tmpl__ +18 -7
  83. package/plugin/src/generators/init/generator.d.ts +5 -5
  84. package/plugin/src/generators/init/generator.js +100 -106
  85. package/plugin/src/generators/init/generator.js.map +1 -1
  86. package/plugin/src/generators/init/schema.json +8 -11
  87. package/plugin/src/generators/utils.js +1 -2
  88. package/plugin/src/generators/utils.js.map +1 -1
  89. package/plugin/src/generators/version.d.ts +4 -0
  90. package/plugin/src/generators/version.js +8 -0
  91. package/plugin/src/generators/version.js.map +1 -0
  92. package/plugin/src/index.d.ts +0 -3
  93. package/plugin/src/index.js +0 -9
  94. package/plugin/src/index.js.map +1 -1
  95. package/testing/README.md +3 -0
  96. package/testing/index.d.ts +2 -0
  97. package/testing/lib/test-bed.d.ts +38 -0
  98. package/testing/lib/test-canvas.d.ts +11 -0
  99. package/testing/lib/utils/mock-canvas.d.ts +5 -0
  100. package/testing/lib/utils/web-gl-rendering-context.d.ts +16 -0
  101. package/testing/package.json +3 -0
  102. package/web-types.json +1 -1
  103. package/esm2022/lib/before-render.mjs +0 -13
  104. package/esm2022/lib/directives/common.mjs +0 -41
  105. package/esm2022/lib/directives/key.mjs +0 -29
  106. package/esm2022/lib/directives/parent.mjs +0 -35
  107. package/esm2022/lib/directives/repeat.mjs +0 -17
  108. package/esm2022/lib/ref.mjs +0 -48
  109. package/esm2022/lib/renderer/store.mjs +0 -408
  110. package/esm2022/lib/utils/assert-injector.mjs +0 -6
  111. package/esm2022/lib/utils/create-injection-token.mjs +0 -47
  112. package/esm2022/lib/utils/safe-detect-changes.mjs +0 -17
  113. package/lib/directives/common.d.ts +0 -15
  114. package/lib/directives/key.d.ts +0 -10
  115. package/lib/directives/parent.d.ts +0 -11
  116. package/lib/directives/repeat.d.ts +0 -7
  117. package/lib/ref.d.ts +0 -8
  118. package/lib/renderer/store.d.ts +0 -67
  119. package/lib/utils/assert-injector.d.ts +0 -2
  120. package/lib/utils/create-injection-token.d.ts +0 -27
  121. package/lib/utils/safe-detect-changes.d.ts +0 -2
  122. package/plugin/src/generators/init/files/experience/experience.component.html__tmpl__ +0 -4
  123. package/plugin/src/generators/init-cannon/compat.d.ts +0 -2
  124. package/plugin/src/generators/init-cannon/compat.js +0 -6
  125. package/plugin/src/generators/init-cannon/compat.js.map +0 -1
  126. package/plugin/src/generators/init-cannon/generator.d.ts +0 -2
  127. package/plugin/src/generators/init-cannon/generator.js +0 -22
  128. package/plugin/src/generators/init-cannon/generator.js.map +0 -1
  129. package/plugin/src/generators/init-cannon/schema.json +0 -6
  130. package/plugin/src/generators/init-postprocessing/compat.d.ts +0 -2
  131. package/plugin/src/generators/init-postprocessing/compat.js +0 -6
  132. package/plugin/src/generators/init-postprocessing/compat.js.map +0 -1
  133. package/plugin/src/generators/init-postprocessing/generator.d.ts +0 -2
  134. package/plugin/src/generators/init-postprocessing/generator.js +0 -20
  135. package/plugin/src/generators/init-postprocessing/generator.js.map +0 -1
  136. package/plugin/src/generators/init-postprocessing/schema.json +0 -6
  137. package/plugin/src/generators/init-soba/compat.d.ts +0 -2
  138. package/plugin/src/generators/init-soba/compat.js +0 -6
  139. package/plugin/src/generators/init-soba/compat.js.map +0 -1
  140. package/plugin/src/generators/init-soba/generator.d.ts +0 -2
  141. package/plugin/src/generators/init-soba/generator.js +0 -26
  142. package/plugin/src/generators/init-soba/generator.js.map +0 -1
  143. package/plugin/src/generators/init-soba/schema.json +0 -6
  144. package/plugin/src/generators/versions.d.ts +0 -12
  145. package/plugin/src/generators/versions.js +0 -16
  146. package/plugin/src/generators/versions.js.map +0 -1
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "angular-three",
3
- "version": "2.0.0-beta.29",
3
+ "version": "2.0.0-beta.291",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
+ "type": "module",
7
8
  "repository": {
8
9
  "type": "git",
9
- "url": "https://github.com/angular-threejs/angular-three/tree/main/libs/angular-three"
10
+ "url": "https://github.com/angular-threejs/angular-three/tree/main/libs/core"
10
11
  },
11
12
  "author": {
12
13
  "name": "Chau Tran",
@@ -21,23 +22,41 @@
21
22
  ],
22
23
  "license": "MIT",
23
24
  "peerDependencies": {
24
- "@angular/common": "^16.0.0",
25
- "@angular/core": "^16.0.0",
26
- "three": ">=0.148.0",
27
- "@angular/router": "16.2.3",
28
- "rxjs": "7.8.1"
25
+ "@angular/common": ">=18.0.0 <19.0.0",
26
+ "@angular/core": ">=18.0.0 <19.0.0",
27
+ "ngxtension": ">=3.0.0",
28
+ "three": ">=0.148.0 <0.168.0"
29
29
  },
30
30
  "dependencies": {
31
- "ngx-resize": "^2.0.0",
32
31
  "tslib": "^2.3.0",
33
- "@nx/devkit": "^16.0.0",
32
+ "@nx/devkit": "^19.0.0",
34
33
  "@phenomnomnominal/tsquery": "^6.0.0",
35
- "nx": "^16.0.0"
34
+ "nx": "^19.0.0"
36
35
  },
37
- "sideEffects": false,
38
36
  "generators": "./plugin/generators.json",
39
37
  "schematics": "./plugin/generators.json",
40
- "web-types": "./web-types.json",
38
+ "nx-migrations": {
39
+ "migrations": "./plugin/migrations.json",
40
+ "packageGroup": [
41
+ "angular-three-soba",
42
+ "angular-three-postprocessing",
43
+ "angular-three-cannon",
44
+ "angular-three-rapier"
45
+ ]
46
+ },
47
+ "ng-update": {
48
+ "migrations": "./plugin/migrations.json",
49
+ "packageGroup": [
50
+ "angular-three-soba",
51
+ "angular-three-postprocessing",
52
+ "angular-three-cannon",
53
+ "angular-three-rapier"
54
+ ]
55
+ },
56
+ "web-types": [
57
+ "./web-types.json",
58
+ "../../node_modules/angular-three/web-types.json"
59
+ ],
41
60
  "module": "fesm2022/angular-three.mjs",
42
61
  "typings": "index.d.ts",
43
62
  "exports": {
@@ -49,6 +68,13 @@
49
68
  "esm2022": "./esm2022/angular-three.mjs",
50
69
  "esm": "./esm2022/angular-three.mjs",
51
70
  "default": "./fesm2022/angular-three.mjs"
71
+ },
72
+ "./testing": {
73
+ "types": "./testing/index.d.ts",
74
+ "esm2022": "./esm2022/testing/angular-three-testing.mjs",
75
+ "esm": "./esm2022/testing/angular-three-testing.mjs",
76
+ "default": "./fesm2022/angular-three-testing.mjs"
52
77
  }
53
- }
54
- }
78
+ },
79
+ "sideEffects": false
80
+ }
@@ -1,27 +1,10 @@
1
1
  {
2
- "$schema": "http://json-schema.org/schema",
3
2
  "name": "angular-three-plugin",
4
- "version": "0.0.1",
5
3
  "generators": {
6
4
  "init": {
7
5
  "factory": "./src/generators/init/generator",
8
6
  "schema": "./src/generators/init/schema.json",
9
7
  "description": "Init Angular Three with proper packages and config"
10
- },
11
- "soba": {
12
- "factory": "./src/generators/init-soba/generator",
13
- "schema": "./src/generators/init-soba/schema.json",
14
- "description": "Init Angular Three Soba with proper packages "
15
- },
16
- "postprocessing": {
17
- "factory": "./src/generators/init-postprocessing/generator",
18
- "schema": "./src/generators/init-postprocessing/schema.json",
19
- "description": "Init Angular Three Postprocessing with proper packages "
20
- },
21
- "cannon": {
22
- "factory": "./src/generators/init-cannon/generator",
23
- "schema": "./src/generators/init-cannon/schema.json",
24
- "description": "Init Angular Three cannon with proper packages "
25
8
  }
26
9
  },
27
10
  "schematics": {
@@ -29,21 +12,6 @@
29
12
  "factory": "./src/generators/init/compat",
30
13
  "schema": "./src/generators/init/schema.json",
31
14
  "description": "Add Angular Three with proper packages and config"
32
- },
33
- "soba": {
34
- "factory": "./src/generators/init-soba/compat",
35
- "schema": "./src/generators/init-soba/schema.json",
36
- "description": "Init Angular Three Soba with proper packages "
37
- },
38
- "postprocessing": {
39
- "factory": "./src/generators/init-postprocessing/compat",
40
- "schema": "./src/generators/init-postprocessing/schema.json",
41
- "description": "Init Angular Three Postprocessing with proper packages "
42
- },
43
- "cannon": {
44
- "factory": "./src/generators/init-cannon/compat",
45
- "schema": "./src/generators/init-cannon/schema.json",
46
- "description": "Init Angular Three cannon with proper packages "
47
15
  }
48
16
  }
49
17
  }
@@ -1,6 +1,6 @@
1
1
  {
2
+ "name": "plugin",
2
3
  "type": "commonjs",
3
- "generators": "./generators.json",
4
4
  "main": "./src/index.js",
5
- "version": "2.0.0-beta.29"
6
- }
5
+ "types": "./src/index.d.ts"
6
+ }
@@ -1,4 +1,2 @@
1
- declare const _default: (generatorOptions: {
2
- project?: string;
3
- }) => (tree: any, context: any) => Promise<any>;
1
+ declare const _default: (generatorOptions: Partial<import("./generator").InitGeneratorOptions>) => (tree: any, context: any) => Promise<any>;
4
2
  export default _default;
@@ -1,18 +1,29 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
2
- import { extend, type NgtBeforeRenderEvent } from 'angular-three';
1
+ import { CUSTOM_ELEMENTS_SCHEMA, Component, viewChild, ElementRef, ChangeDetectionStrategy } from '@angular/core';
2
+ import { extend, injectBeforeRender } from 'angular-three';
3
3
  import { Mesh, BoxGeometry, MeshBasicMaterial } from 'three';
4
4
 
5
5
  extend({ Mesh, BoxGeometry, MeshBasicMaterial });
6
6
 
7
7
  @Component({
8
8
  standalone: true,
9
- templateUrl: './experience.component.html',
10
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
9
+ template: `
10
+ <ngt-mesh #mesh>
11
+ <ngt-box-geometry />
12
+ <ngt-mesh-basic-material color="hotpink" />
13
+ </ngt-mesh>
14
+ `,
15
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
16
+ changeDetection: ChangeDetectionStrategy.OnPush,
11
17
  })
12
18
  export class Experience {
13
- onBeforeRender({ object, state: { delta }}: NgtBeforeRenderEvent<Mesh>) {
14
- object.rotation.x += delta;
15
- object.rotation.y += delta;
19
+ meshRef = viewChild.required<ElementRef<Mesh>>('mesh');
20
+
21
+ constructor() {
22
+ injectBeforeRender(({ delta }) => {
23
+ const mesh = this.meshRef().nativeElement;
24
+ mesh.rotation.x += delta;
25
+ mesh.rotation.y += delta;
26
+ })
16
27
  }
17
28
  }
18
29
 
@@ -1,6 +1,6 @@
1
1
  import { type Tree } from '@nx/devkit';
2
- type Schema = {
3
- project?: string;
4
- };
5
- export default function (tree: Tree, { project }: Schema): Promise<() => void>;
6
- export {};
2
+ export interface InitGeneratorOptions {
3
+ skipGenerateExperience: boolean;
4
+ }
5
+ export declare function initGenerator(tree: Tree, { skipGenerateExperience }?: Partial<InitGeneratorOptions>): Promise<() => void>;
6
+ export default initGenerator;
@@ -1,18 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initGenerator = initGenerator;
3
4
  const devkit_1 = require("@nx/devkit");
4
5
  const tsquery_1 = require("@phenomnomnominal/tsquery");
5
6
  const enquirer_1 = require("enquirer");
6
7
  const node_path_1 = require("node:path");
7
8
  const utils_1 = require("../utils");
8
- const versions_1 = require("../versions");
9
- async function default_1(tree, { project }) {
9
+ const version_1 = require("../version");
10
+ async function initGenerator(tree, { skipGenerateExperience = false } = {}) {
10
11
  devkit_1.logger.log('Initializing Angular Three...');
11
12
  const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
12
13
  const version = packageJson['dependencies']?.['angular-three'] ||
13
14
  packageJson['devDependencies']?.['angular-three'] ||
14
- versions_1.ANGULAR_THREE_VERSION;
15
- (0, devkit_1.addDependenciesToPackageJson)(tree, { 'angular-three': version, three: versions_1.THREE_VERSION }, { '@types/three': versions_1.THREE_TYPE_VERSION });
15
+ version_1.ANGULAR_THREE_VERSION;
16
+ (0, devkit_1.addDependenciesToPackageJson)(tree, { 'angular-three': version, three: version_1.THREE_VERSION, ngxtension: version_1.NGXTENSION_VERSION }, { '@types/three': version_1.THREE_TYPE_VERSION });
16
17
  devkit_1.logger.info('Turning on skipLibCheck...');
17
18
  const tsConfigPath = tree.exists('tsconfig.base.json') ? 'tsconfig.base.json' : 'tsconfig.json';
18
19
  (0, devkit_1.updateJson)(tree, tsConfigPath, (json) => {
@@ -22,6 +23,12 @@ async function default_1(tree, { project }) {
22
23
  return json;
23
24
  });
24
25
  (0, utils_1.addMetadataJson)(tree, 'angular-three/metadata.json');
26
+ if (skipGenerateExperience) {
27
+ await (0, devkit_1.formatFiles)(tree);
28
+ return () => {
29
+ (0, devkit_1.installPackagesTask)(tree);
30
+ };
31
+ }
25
32
  const { generateExperience } = await (0, enquirer_1.prompt)({
26
33
  type: 'select',
27
34
  name: 'generateExperience',
@@ -34,127 +41,114 @@ async function default_1(tree, { project }) {
34
41
  initial: 2,
35
42
  });
36
43
  if (generateExperience !== 'none') {
37
- const isNx = tree.exists('nx.json');
38
- if (!project) {
39
- if (isNx) {
40
- const rootProjectJson = (0, devkit_1.readJson)(tree, 'project.json');
41
- if (!rootProjectJson) {
42
- throw new Error(`
43
- It seems like your workspace is an Integrated workspace but you did not provide a "project" name.
44
- Please retry the generator with a "--project" specified.`);
45
- }
46
- const rootName = rootProjectJson['name'];
47
- if (rootName === packageJson['name']) {
48
- project = rootName;
49
- }
50
- }
51
- else {
52
- const angularJson = (0, devkit_1.readJson)(tree, 'angular.json');
53
- if (!angularJson) {
54
- throw new Error(`
55
- Cannot find "angular.json" file.
56
- Please retry the generator with a "--project" specified in an Angular workspace.`);
57
- }
58
- project = packageJson['name'];
44
+ const projects = (0, devkit_1.getProjects)(tree);
45
+ const applicationProjects = Array.from(projects.entries()).reduce((acc, [projectName, project]) => {
46
+ if (project.projectType === 'application') {
47
+ acc.push({ name: projectName, ...project });
59
48
  }
49
+ return acc;
50
+ }, []);
51
+ let selectedProject;
52
+ if (applicationProjects.length === 1) {
53
+ selectedProject = applicationProjects[0].name;
60
54
  }
61
- if (!project) {
62
- throw new Error(`
63
- Angular Three generator could not find a default "project".
64
- Please retry the generator with a "--project" specified.`);
55
+ else {
56
+ // prompt
57
+ const { projectName } = await (0, enquirer_1.prompt)({
58
+ type: 'select',
59
+ name: 'projectName',
60
+ message: 'Add Experience to which project?',
61
+ choices: applicationProjects.map((appProject) => ({ value: appProject.name, name: appProject.name })),
62
+ });
63
+ selectedProject = projectName;
65
64
  }
66
- const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, project);
67
- let sourceRoot = projectConfig.sourceRoot;
68
- if (projectConfig['prefix']) {
69
- sourceRoot += '/' + projectConfig['prefix'];
65
+ if (!selectedProject) {
66
+ return warnExperienceWasNotGenerated(tree, 'Unable to locate a project');
70
67
  }
71
- if (sourceRoot) {
72
- // generate Experience component
73
- (0, devkit_1.generateFiles)(tree, (0, node_path_1.join)(__dirname, 'files'), sourceRoot, { tmpl: '' });
74
- let isStandalone = false;
75
- while (!isStandalone) {
76
- const answer = await (0, enquirer_1.prompt)({
77
- type: 'confirm',
78
- initial: true,
79
- name: 'isStandalone',
80
- message: 'Is your project standalone?',
81
- });
82
- isStandalone = answer.isStandalone;
83
- if (!isStandalone) {
84
- devkit_1.logger.info(`Wrong answer. You should be using Standalone.`);
85
- }
86
- }
87
- const appComponentPath = `${sourceRoot}/app.component.ts`;
88
- const exist = tree.exists(appComponentPath);
89
- const appComponentTemplatePath = `${sourceRoot}/app.component.html`;
90
- const templateExist = tree.exists(appComponentTemplatePath);
91
- const appComponentContent = exist ? tree.read(appComponentPath, 'utf8') : null;
92
- const appComponentTemplateContent = templateExist ? tree.read(appComponentTemplatePath, 'utf8') : null;
93
- if (isStandalone) {
94
- if (!appComponentContent) {
95
- devkit_1.logger.warn(`
96
- AppComponent not found at ${appComponentPath}. Angular Three was initialized successfully but an Experience component was not generated.`);
97
- }
98
- else {
99
- let updatedContent = tsquery_1.tsquery.replace(appComponentContent, 'Identifier[name="imports"] ~ ArrayLiteralExpression', (node) => {
100
- return `[${node.elements.map((element) => element['escapedText']).join(', ')}, NgtCanvas]`;
101
- });
102
- updatedContent = tsquery_1.tsquery.replace(updatedContent, 'SourceFile', (node) => {
103
- return `
68
+ const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, selectedProject);
69
+ let sourceRoot = projectConfiguration.sourceRoot;
70
+ if (projectConfiguration['prefix']) {
71
+ sourceRoot += '/' + projectConfiguration['prefix'];
72
+ }
73
+ if (!sourceRoot) {
74
+ return warnExperienceWasNotGenerated(tree, `sourceRoot for ${selectedProject} was not found`);
75
+ }
76
+ // generate Experience component
77
+ (0, devkit_1.generateFiles)(tree, (0, node_path_1.join)(__dirname, 'files'), sourceRoot, { tmpl: '' });
78
+ const appComponentPath = `${sourceRoot}/app.component.ts`;
79
+ const exist = tree.exists(appComponentPath);
80
+ const appComponentTemplatePath = `${sourceRoot}/app.component.html`;
81
+ const templateExist = tree.exists(appComponentTemplatePath);
82
+ const appComponentContent = exist ? tree.read(appComponentPath, 'utf8') : null;
83
+ const appComponentTemplateContent = templateExist ? tree.read(appComponentTemplatePath, 'utf8') : null;
84
+ if (!appComponentContent) {
85
+ return warnExperienceWasNotGenerated(tree, `AppComponent was not found`);
86
+ }
87
+ // TODO (chau): revisit if standalone:true becomes the default
88
+ const isStandalone = appComponentContent.includes(`standalone: true`);
89
+ if (!isStandalone) {
90
+ return warnExperienceWasNotGenerated(tree, `AppComponent is not a Standalone Component`);
91
+ }
92
+ let updatedContent = tsquery_1.tsquery.replace(appComponentContent, 'PropertyAssignment:has(Identifier[name="imports"]) ArrayLiteralExpression', (node) => {
93
+ return `[${node.elements.map((element) => element['escapedText']).join(', ')}, NgtCanvas]`;
94
+ });
95
+ updatedContent = tsquery_1.tsquery.replace(updatedContent, 'SourceFile', (node) => {
96
+ return `
104
97
  import { NgtCanvas } from 'angular-three';
105
98
  import { Experience } from './experience/experience.component';
106
99
 
107
100
  ${node.getFullText()}
108
101
  `;
109
- });
110
- const contentNode = tsquery_1.tsquery.ast(appComponentContent);
111
- const classMembersQuery = 'ClassDeclaration > :matches(PropertyDeclaration,MethodDeclaration)';
112
- const members = tsquery_1.tsquery.match(contentNode, classMembersQuery);
113
- if (members.length === 0) {
114
- updatedContent = tsquery_1.tsquery.replace(updatedContent, 'ClassDeclaration', (node) => {
115
- const withoutBraces = node.getFullText().slice(0, -1);
116
- return `
102
+ });
103
+ const appComponentContentAst = tsquery_1.tsquery.ast(appComponentContent);
104
+ const classMembersQuery = 'ClassDeclaration > :matches(PropertyDeclaration,MethodDeclaration)';
105
+ const members = tsquery_1.tsquery.match(appComponentContentAst, classMembersQuery);
106
+ if (members.length === 0 || generateExperience === 'replace') {
107
+ updatedContent = tsquery_1.tsquery.replace(updatedContent, 'ClassDeclaration', (node) => {
108
+ const withoutBraces = node.getFullText().slice(0, -1);
109
+ return `
117
110
  ${withoutBraces}
118
- scene = Experience;
111
+ sceneGraph = Experience;
119
112
  }`;
120
- });
121
- }
122
- else {
123
- updatedContent = tsquery_1.tsquery.replace(updatedContent, classMembersQuery, (node) => {
124
- return `
125
- scene = Experience;
113
+ });
114
+ }
115
+ else {
116
+ updatedContent = tsquery_1.tsquery.replace(updatedContent, classMembersQuery, (node) => {
117
+ return `
118
+ sceneGraph = Experience;
126
119
  ${node.getFullText()}`;
127
- });
128
- }
129
- if (appComponentTemplateContent) {
130
- const updatedTemplateContent = generateExperience === 'append'
131
- ? `
120
+ });
121
+ }
122
+ if (appComponentTemplateContent) {
123
+ const updatedTemplateContent = generateExperience === 'append'
124
+ ? `
132
125
  ${appComponentTemplateContent}
133
- <ngt-canvas [sceneGraph]="scene" />`
134
- : `<ngt-canvas [sceneGraph]="scene" />`;
135
- tree.write(appComponentTemplatePath, updatedTemplateContent);
136
- }
137
- else {
138
- updatedContent = tsquery_1.tsquery.replace(updatedContent, 'Identifier[name="template"] ~ NoSubstitutionTemplateLiteral', (node) => {
139
- return generateExperience === 'append'
140
- ? `\`
141
- ${node.getFullText()}
142
- <ngt-canvas [sceneGraph]="scene" />\``
143
- : `\`<ngt-canvas [sceneGraph]="scene" />\``;
144
- });
145
- }
146
- tree.write(appComponentPath, updatedContent);
147
- }
148
- }
126
+ <ngt-canvas [sceneGraph]="sceneGraph" />`
127
+ : `<ngt-canvas [sceneGraph]="sceneGraph" />`;
128
+ tree.write(appComponentTemplatePath, updatedTemplateContent);
149
129
  }
150
130
  else {
151
- devkit_1.logger.warn(`
152
- "sourceRoot" not found. Angular Three was initialized successfully but an Experience component was not generated.`);
131
+ updatedContent = tsquery_1.tsquery.replace(updatedContent, 'PropertyAssignment:has(Identifier[name="template"]) NoSubstitutionTemplateLiteral', (node) => {
132
+ const fullText = node.getFullText().trim().slice(1, -1);
133
+ return generateExperience === 'append'
134
+ ? `\`
135
+ ${fullText}
136
+ <ngt-canvas [sceneGraph]="sceneGraph" />\``
137
+ : `\`<ngt-canvas [sceneGraph]="sceneGraph" />\``;
138
+ });
153
139
  }
140
+ tree.write(appComponentPath, updatedContent);
154
141
  }
142
+ await (0, devkit_1.formatFiles)(tree);
143
+ return () => {
144
+ (0, devkit_1.installPackagesTask)(tree);
145
+ };
146
+ }
147
+ function warnExperienceWasNotGenerated(tree, message) {
148
+ devkit_1.logger.warn(`[NGT] ${message}. Angular Three was initialized successfully, but an Experience component was not generated.`);
155
149
  return () => {
156
150
  (0, devkit_1.installPackagesTask)(tree);
157
151
  };
158
152
  }
159
- exports.default = default_1;
153
+ exports.default = initGenerator;
160
154
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../libs/plugin/src/generators/init/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../libs/plugin/src/generators/init/generator.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,12 @@
3
3
  "cli": "nx",
4
4
  "$id": "Init",
5
5
  "title": "Init Angular Three",
6
- "properties": {
7
- "project": {
8
- "type": "string",
9
- "description": "The name of the project to add the Tailwind CSS setup for.",
10
- "$default": {
11
- "$source": "argv",
12
- "index": 0
13
- },
14
- "x-prompt": "What project would you like to add the Angular Three setup?"
15
- }
16
- }
6
+ "type": "object",
7
+ "properties": {
8
+ "skipGenerateExperience": {
9
+ "type": "boolean",
10
+ "description": "Skip generating Experience component",
11
+ "default": false
12
+ }
13
+ }
17
14
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addMetadataJson = void 0;
3
+ exports.addMetadataJson = addMetadataJson;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  function addMetadataJson(tree, metadataJsonPath) {
6
6
  if (!metadataJsonPath.includes('node_modules')) {
@@ -30,5 +30,4 @@ to enable TypeScript type definitions for Angular Three elements.
30
30
  `);
31
31
  }
32
32
  }
33
- exports.addMetadataJson = addMetadataJson;
34
33
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/utils.ts"],"names":[],"mappings":";;;AAAA,uCAAsE;AAEtE,SAAgB,eAAe,CAAC,IAAU,EAAE,gBAAwB;IACnE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;QAC/C,gBAAgB,GAAG,kBAAkB,gBAAgB,EAAE,CAAC;KACxD;IAED,iDAAiD;IACjD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;IACnD,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC3B,eAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;YACrC,IAAA,kBAAS,EAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;SACxC;QACD,IAAA,mBAAU,EAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE;gBACtE,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAC/C;iBAAM;gBACN,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aAC7C;YAED,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;KACH;SAAM;QACN,eAAM,CAAC,IAAI,CACV;gCAC6B,gBAAgB;;CAE/C,CACE,CAAC;KACF;AACF,CAAC;AA7BD,0CA6BC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/utils.ts"],"names":[],"mappings":";;AAEA,0CA6BC;AA/BD,uCAAsE;AAEtE,SAAgB,eAAe,CAAC,IAAU,EAAE,gBAAwB;IACnE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAChD,gBAAgB,GAAG,kBAAkB,gBAAgB,EAAE,CAAC;IACzD,CAAC;IAED,iDAAiD;IACjD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;IACnD,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,eAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACtC,IAAA,kBAAS,EAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,IAAA,mBAAU,EAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;gBACvE,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9C,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;SAAM,CAAC;QACP,eAAM,CAAC,IAAI,CACV;gCAC6B,gBAAgB;;CAE/C,CACE,CAAC;IACH,CAAC;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const ANGULAR_THREE_VERSION = "^2.0.0";
2
+ export declare const THREE_VERSION = "^0.166.0";
3
+ export declare const THREE_TYPE_VERSION = "^0.166.0";
4
+ export declare const NGXTENSION_VERSION = "^4.0.0";
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NGXTENSION_VERSION = exports.THREE_TYPE_VERSION = exports.THREE_VERSION = exports.ANGULAR_THREE_VERSION = void 0;
4
+ exports.ANGULAR_THREE_VERSION = '^2.0.0';
5
+ exports.THREE_VERSION = '^0.166.0';
6
+ exports.THREE_TYPE_VERSION = '^0.166.0';
7
+ exports.NGXTENSION_VERSION = '^4.0.0';
8
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AACjC,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,kBAAkB,GAAG,UAAU,CAAC;AAChC,QAAA,kBAAkB,GAAG,QAAQ,CAAC"}
@@ -1,3 +0,0 @@
1
- export { default as initPostprocessingGenerator } from './generators/init-postprocessing/generator';
2
- export { default as initSobaGenerator } from './generators/init-soba/generator';
3
- export { default as initGenerator } from './generators/init/generator';
@@ -1,10 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initGenerator = exports.initSobaGenerator = exports.initPostprocessingGenerator = void 0;
4
- var generator_1 = require("./generators/init-postprocessing/generator");
5
- Object.defineProperty(exports, "initPostprocessingGenerator", { enumerable: true, get: function () { return generator_1.default; } });
6
- var generator_2 = require("./generators/init-soba/generator");
7
- Object.defineProperty(exports, "initSobaGenerator", { enumerable: true, get: function () { return generator_2.default; } });
8
- var generator_3 = require("./generators/init/generator");
9
- Object.defineProperty(exports, "initGenerator", { enumerable: true, get: function () { return generator_3.default; } });
10
1
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/plugin/src/index.ts"],"names":[],"mappings":";;;AAAA,wEAAoG;AAA3F,wHAAA,OAAO,OAA+B;AAC/C,8DAAgF;AAAvE,8GAAA,OAAO,OAAqB;AACrC,yDAAuE;AAA9D,0GAAA,OAAO,OAAiB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/plugin/src/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ # angular-three/testing
2
+
3
+ Secondary entry point of `angular-three`. It can be used by importing from `angular-three/testing`.
@@ -0,0 +1,2 @@
1
+ export * from './lib/test-bed';
2
+ export * from './lib/test-canvas';