Skip to content

Commit c5bebf4

Browse files
authored
Merge pull request #52 from retejs/support-angular-18
Support angular 18
2 parents 8740134 + 4dcf3f5 commit c5bebf4

File tree

10 files changed

+18
-12
lines changed

10 files changed

+18
-12
lines changed

assets/app/stack/angular/modules/app/app.module.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { CustomConnectionComponent } from "./customization/custom-connection/cus
1111
/* [angular15] import { ReteModule } from 'rete-angular-plugin/15'; [/angular15] */
1212
/* [angular16] import { ReteModule } from 'rete-angular-plugin/16'; [/angular16] */
1313
/* [angular17] import { ReteModule } from 'rete-angular-plugin/17'; [/angular17] */
14+
/* [angular18] import { ReteModule } from 'rete-angular-plugin/18'; [/angular18] */
1415

1516
@NgModule({
1617
declarations: [

assets/app/templates/3d

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { ConnectionPlugin, Presets as ConnectionPresets } from 'rete-connection-
66
/* [react-render] import { ReactPlugin, ReactArea2D, Presets as ReactPresets } from 'rete-react-plugin' [/react-render] */
77
/* [react18] import { createRoot } from 'react-dom/client' [/react18] */
88
/* [vue-render] import { VuePlugin, VueArea2D, Presets as VuePresets } from 'rete-vue-plugin/* [vue2] /vue2 [/vue2] */' [/vue-render] */
9-
/* [angular-render] import { AngularPlugin, AngularArea2D, Presets as AngularPresets } from 'rete-angular-plugin/* [angular12] /12 [/angular12] *//* [angular13] /13 [/angular13] *//* [angular14] /14 [/angular14] *//* [angular15] /15 [/angular15] *//* [angular16] /16 [/angular16] *//* [angular17] /17 [/angular17] */' [/angular-render] */
9+
/* [angular-render] import { AngularPlugin, AngularArea2D, Presets as AngularPresets } from 'rete-angular-plugin/* [angular12] /12 [/angular12] *//* [angular13] /13 [/angular13] *//* [angular14] /14 [/angular14] *//* [angular15] /15 [/angular15] *//* [angular16] /16 [/angular16] *//* [angular17] /17 [/angular17] *//* [angular18] /18 [/angular18] */' [/angular-render] */
1010
/* [svelte-render] import { SveltePlugin, SvelteArea2D, Presets as SveltePresets } from 'rete-svelte-plugin' [/svelte-render] */
1111
/* [lit-render] import { LitPlugin, LitArea2D, Presets as LitPresets } from '@retejs/lit-plugin' [/lit-render] */
1212
/* [dataflow] import { DataflowEngine, DataflowNode } from 'rete-engine' [/dataflow] */
@@ -206,7 +206,7 @@ export async function createEditor(container: HTMLElement/* [stack-angular] , in
206206
} [/selectable] */
207207
}));[/reroute] */
208208
[/lit-render] */
209-
209+
210210
/* [react-render] Area3DExtensions.forms.connection(reactRender) [/react-render] */
211211
/* [angular-render] Area3DExtensions.forms.connection(angularRender) [/angular-render] */
212212
/* [vue-render] Area3DExtensions.forms.connection(vueRender) [/vue-render] */

assets/app/templates/customization

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
/* [stack-react] import { ReactPlugin, ReactArea2D, Presets as ReactPresets } from 'rete-react-plugin' [/stack-react] */
99
/* [react18] import { createRoot } from 'react-dom/client' [/react18] */
1010
/* [stack-vue] import { VuePlugin, VueArea2D, Presets as VuePresets } from 'rete-vue-plugin/* [vue2] /vue2 [/vue2] */' [/stack-vue] */
11-
/* [stack-angular] import { AngularPlugin, AngularArea2D, Presets as AngularPresets } from 'rete-angular-plugin/* [angular12] /12 [/angular12] *//* [angular13] /13 [/angular13] *//* [angular14] /14 [/angular14] *//* [angular15] /15 [/angular15] *//* [angular16] /16 [/angular16] *//* [angular17] /17 [/angular17] */' [/stack-angular] */
11+
/* [stack-angular] import { AngularPlugin, AngularArea2D, Presets as AngularPresets } from 'rete-angular-plugin/* [angular12] /12 [/angular12] *//* [angular13] /13 [/angular13] *//* [angular14] /14 [/angular14] *//* [angular15] /15 [/angular15] *//* [angular16] /16 [/angular16] *//* [angular17] /17 [/angular17] *//* [angular18] /18 [/angular18] */' [/stack-angular] */
1212
/* [stack-svelte] import { SveltePlugin, SvelteArea2D, Presets as SveltePresets } from 'rete-svelte-plugin' [/stack-svelte] */
1313
/* [stack-lit] import { LitPlugin, LitArea2D, Presets as LitPresets } from '@retejs/lit-plugin' [/stack-lit] */
1414
/* [stack-react] import { CustomNode } from "../customization/CustomNode";

assets/app/templates/default

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { Area2D, /* [import-area-extensions] AreaExtensions, [/import-area-exten
55
/* [react-render] import { ReactPlugin, ReactArea2D, Presets as ReactPresets } from 'rete-react-plugin' [/react-render] */
66
/* [react18] import { createRoot } from 'react-dom/client' [/react18] */
77
/* [vue-render] import { VuePlugin, VueArea2D, Presets as VuePresets } from 'rete-vue-plugin/* [vue2] /vue2 [/vue2] */' [/vue-render] */
8-
/* [angular-render] import { AngularPlugin, AngularArea2D, Presets as AngularPresets } from 'rete-angular-plugin/* [angular12] /12 [/angular12] *//* [angular13] /13 [/angular13] *//* [angular14] /14 [/angular14] *//* [angular15] /15 [/angular15] *//* [angular16] /16 [/angular16] *//* [angular17] /17 [/angular17] */' [/angular-render] */
8+
/* [angular-render] import { AngularPlugin, AngularArea2D, Presets as AngularPresets } from 'rete-angular-plugin/* [angular12] /12 [/angular12] *//* [angular13] /13 [/angular13] *//* [angular14] /14 [/angular14] *//* [angular15] /15 [/angular15] *//* [angular16] /16 [/angular16] *//* [angular17] /17 [/angular17] *//* [angular18] /18 [/angular18] */' [/angular-render] */
99
/* [svelte-render] import { SveltePlugin, SvelteArea2D, Presets as SveltePresets } from 'rete-svelte-plugin' [/svelte-render] */
1010
/* [lit-render] import { LitPlugin, LitArea2D, Presets as LitPresets } from '@retejs/lit-plugin' [/lit-render] */
1111
/* [dataflow] import { DataflowEngine, DataflowNode } from 'rete-engine' [/dataflow] */

assets/app/templates/perf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { /* [import-area-extensions] AreaExtensions, [/import-area-extensions] *
44
/* [react-render] import { ReactPlugin, ReactArea2D, Presets as ReactPresets } from 'rete-react-plugin' [/react-render] */
55
/* [react18] import { createRoot } from 'react-dom/client' [/react18] */
66
/* [vue-render] import { VuePlugin, VueArea2D, Presets as VuePresets } from 'rete-vue-plugin/* [vue2] /vue2 [/vue2] */' [/vue-render] */
7-
/* [angular-render] import { AngularPlugin, AngularArea2D, Presets as AngularPresets } from 'rete-angular-plugin/* [angular12] /12 [/angular12] *//* [angular13] /13 [/angular13] *//* [angular14] /14 [/angular14] *//* [angular15] /15 [/angular15] *//* [angular16] /16 [/angular16] *//* [angular17] /17 [/angular17] */' [/angular-render] */
7+
/* [angular-render] import { AngularPlugin, AngularArea2D, Presets as AngularPresets } from 'rete-angular-plugin/* [angular12] /12 [/angular12] *//* [angular13] /13 [/angular13] *//* [angular14] /14 [/angular14] *//* [angular15] /15 [/angular15] *//* [angular16] /16 [/angular16] *//* [angular17] /17 [/angular17] *//* [angular18] /18 [/angular18] */' [/angular-render] */
88
/* [svelte-render] import { SveltePlugin, SvelteArea2D, Presets as SveltePresets } from 'rete-svelte-plugin' [/svelte-render] */
99
/* [lit-render] import { LitPlugin, LitArea2D, Presets as LitPresets } from '@retejs/lit-plugin' [/lit-render] */
1010

assets/app/templates/scopes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { Area2D, /* [import-area-extensions] AreaExtensions, [/import-area-exten
55
/* [react-render] import { ReactPlugin, ReactArea2D, Presets as ReactPresets } from 'rete-react-plugin' [/react-render] */
66
/* [react18] import { createRoot } from 'react-dom/client' [/react18] */
77
/* [vue-render] import { VuePlugin, VueArea2D, Presets as VuePresets } from 'rete-vue-plugin/* [vue2] /vue2 [/vue2] */' [/vue-render] */
8-
/* [angular-render] import { AngularPlugin, AngularArea2D, Presets as AngularPresets } from 'rete-angular-plugin/* [angular12] /12 [/angular12] *//* [angular13] /13 [/angular13] *//* [angular14] /14 [/angular14] *//* [angular15] /15 [/angular15] *//* [angular16] /16 [/angular16] *//* [angular17] /17 [/angular17] */' [/angular-render] */
8+
/* [angular-render] import { AngularPlugin, AngularArea2D, Presets as AngularPresets } from 'rete-angular-plugin/* [angular12] /12 [/angular12] *//* [angular13] /13 [/angular13] *//* [angular14] /14 [/angular14] *//* [angular15] /15 [/angular15] *//* [angular16] /16 [/angular16] *//* [angular17] /17 [/angular17] *//* [angular18] /18 [/angular18] */' [/angular-render] */
99
/* [svelte-render] import { SveltePlugin, SvelteArea2D, Presets as SveltePresets } from 'rete-svelte-plugin' [/svelte-render] */
1010
/* [lit-render] import { LitPlugin, LitArea2D, Presets as LitPresets } from '@retejs/lit-plugin' [/lit-render] */
1111
import { ScopesPlugin, Presets as ScopesPresets } from "rete-scopes-plugin";

src/app/features.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { AppStack } from '.'
2+
import { AngularVersion } from './stack/angular'
23
import { DefaultTemplateKey } from './template-builder'
34

45
function ver(name: string, next: boolean) {
@@ -35,7 +36,7 @@ export class Angular implements Feature {
3536
templateKeys: DefaultTemplateKey[] = ['angular-render']
3637
requiredDependencies: string[] = []
3738

38-
constructor(version: 12 | 13 | 14 | 15 | 16 | 17 | null, next: boolean) {
39+
constructor(version: AngularVersion | null, next: boolean) {
3940
if (version !== null) this.templateKeys.push(`angular${version}`)
4041

4142
this.requiredDependencies.push(

src/app/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
ReactBuilder, ReactViteBuilder, SvelteBuilder,
1010
ViteBuilder, VueBuilder, VueViteBuilder
1111
} from './stack'
12+
import { AngularVersion } from './stack/angular'
1213
import { DefaultTemplateKey, TemplateBuilder } from './template-builder'
1314

1415
export const builders = {
@@ -61,7 +62,7 @@ export async function createApp({ name, stack, version, features, depsAlias, for
6162
new Features.Default(builder.foundation, next),
6263
new Features.Area3D(!(builder instanceof AngularBuilder && selectedVersion < 13), next),
6364
new Features.Angular(builder.foundation === 'angular'
64-
? selectedVersion as 12 | 13 | 14 | 15 | 16 | 17
65+
? selectedVersion as AngularVersion
6566
: null, next),
6667
new Features.React(builder.foundation === 'react'
6768
? selectedVersion

src/app/stack/angular/index.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,17 @@ import { TemplateBuilder } from '../../template-builder'
99
import { removeBudgets } from './budgets'
1010
import { installCompatibleTS } from './compatibility'
1111

12+
export type AngularVersion = 12 | 13 | 14 | 15 | 16 | 17 | 18
13+
1214
export class AngularBuilder implements AppBuilder {
1315
public name = 'Angular'
14-
public versions = [12, 13, 14, 15, 16, 17]
16+
public versions: AngularVersion[] = [12, 13, 14, 15, 16, 17, 18]
1517
public foundation = 'angular' as const
1618

1719
public async create(name: string, version: number) {
1820
const options = ['--defaults']
1921

20-
if (version === 17) options.push('--no-standalone')
22+
if ([17, 18].includes(version)) options.push('--no-standalone')
2123

2224
await execa('npx', ['--package', `@angular/cli@${version}`, 'ng', 'new', name, ...options], { stdio: 'inherit' })
2325
await execa('npx', [
@@ -68,7 +70,7 @@ export class AngularBuilder implements AppBuilder {
6870
}
6971

7072
getStaticPath(name: string, version?: number) {
71-
if (version === 17) return join('dist', name, 'browser')
73+
if (version && [17, 18].includes(version)) return join('dist', name, 'browser')
7274
return join('dist', name)
7375
}
7476

src/app/template-builder.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ import { join } from 'path'
44
import prettier from 'prettier'
55

66
import { assets as assetsRoot } from '../consts'
7+
import { AngularVersion } from './stack/angular'
78

89
export const templatesPath = join(assetsRoot, 'app', 'templates')
910
export const entryScriptPath = join(assetsRoot, 'app', 'entry_ts')
1011
export type DefaultTemplateKey = 'zoom-at' | 'react-render' | 'react18' | 'vue-render'
11-
| `vue${2 | 3}` | 'angular-render' | `angular${12 | 13 | 14 | 15 | 16 | 17}`
12+
| `vue${2 | 3}` | 'angular-render' | `angular${AngularVersion}`
1213
| 'svelte-render' | `svelte${3 | 4}` | 'lit-render' | `lit${3}`
1314
| 'dataflow' | 'arrange' | 'sizes' | 'readonly' | 'order-nodes' | 'selectable'
1415
| 'context-menu' | 'import-area-extensions' | 'minimap' | 'reroute' | `stack-${string}`

0 commit comments

Comments
 (0)