Skip to content

Commit 6f6b61a

Browse files
committed
fix: various app templates & custom envs typos/links/issues
1 parent 73aa8f7 commit 6f6b61a

File tree

19 files changed

+57
-36
lines changed

19 files changed

+57
-36
lines changed

angular/envs/angular-env/env.jsonc

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,6 @@
116116
"patterns": {
117117
"compositions": ["**/*.composition.*", "**/*.preview.*"],
118118
"docs": ["**/*.docs.*"],
119-
"tests": ["**/*.spec.*", "**/*.test.*", "**/*.cy.*"],
119+
"tests": ["**/*.spec.*", "**/*.test.*", "**/*.cy.*"]
120120
}
121121
}

angular/envs/base-env/preview/mounter.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { Component, ViewEncapsulation } from '@angular/core';
66
* Provide your component compositions (preview) with the context they need to run.
77
* for example, a router, a theme, a data provider, etc.
88
* components added here as providers should be listed as host-dependencies in your host-dependencies.ts file.
9-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-providers
9+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
1010
*/
1111
@Component({
1212
selector: 'bit-wrapper',
@@ -23,6 +23,6 @@ import { Component, ViewEncapsulation } from '@angular/core';
2323
/**
2424
* the entry for the app (preview runtime) that renders your component previews.
2525
* use the default template or create your own.
26-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-mounter
26+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
2727
*/
2828
export default createMounter(WrapperComponent);

angular/examples/my-angular-env/env.jsonc

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,6 @@
116116
"patterns": {
117117
"compositions": ["**/*.composition.*", "**/*.preview.*"],
118118
"docs": ["**/*.docs.*"],
119-
"tests": ["**/*.spec.*", "**/*.test.*", "**/*.cy.*"],
119+
"tests": ["**/*.spec.*", "**/*.test.*", "**/*.cy.*"]
120120
}
121121
}

angular/examples/my-angular-env/my-angular-env.bit-env.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export class MyAngularEnv extends AngularEnv {
4444

4545
getLinterConfig() {
4646
return {
47-
tsconfig: require.resolve('@bitdev/angular.dev-services.linter.eslint/config/tsconfig.json'),
47+
tsconfig: require.resolve('./config/tsconfig.json'),
4848
eslint: ESLintLib,
4949
configPath: require.resolve('./config/eslintrc'),
5050
// resolve all plugins from the angular environment.
@@ -64,7 +64,7 @@ export class MyAngularEnv extends AngularEnv {
6464
tsconfigPath: require.resolve('./config/tsconfig.json'),
6565
});
6666
}
67-
return ngMultiCompiler;
67+
return ngMultiCompiler!;
6868
}
6969

7070
/**

angular/examples/my-angular-env/my-angular-env.docs.mdx

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import { EnvOverview } from '@teambit/envs.docs.env-overview-template';
2020
{
2121
name: 'Jest',
2222
configFiles: [
23-
'https://bit.cloud/bitdev/angular/envs/angular-v16/~code/jest/jest.config.ts',
23+
'https://bit.cloud/bitdev/angular/envs/angular-v17/~code/jest/jest.config.ts',
2424
],
2525
},
2626
{
@@ -52,7 +52,7 @@ import { EnvOverview } from '@teambit/envs.docs.env-overview-template';
5252
{
5353
name: 'Jest',
5454
configFiles: [
55-
'https://bit.cloud/bitdev/angular/envs/angular-v16/~code/jest/jest.config.ts',
55+
'https://bit.cloud/bitdev/angular/envs/angular-v17/~code/jest/jest.config.ts',
5656
],
5757
},
5858
],

angular/examples/my-angular-env/preview/mounter.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { Component, ViewEncapsulation } from '@angular/core';
66
* Provide your component compositions (preview) with the context they need to run.
77
* for example, a router, a theme, a data provider, etc.
88
* components added here as providers should be listed as host-dependencies in your host-dependencies.ts file.
9-
* @see https://bit.dev/docs/my-angular-env/components-preview#compositions-providers
9+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
1010
*/
1111
@Component({
1212
selector: 'bit-wrapper',
@@ -22,6 +22,6 @@ import { Component, ViewEncapsulation } from '@angular/core';
2222
/**
2323
* the entry for the app (preview runtime) that renders your component previews.
2424
* use the default template or create your own.
25-
* @see https://bit.dev/docs/my-angular-env/components-preview#compositions-mounter
25+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
2626
*/
2727
export default createMounter(WrapperComponent);

angular/examples/my-angular-v13-env/my-angular-v13-env.bit-env.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export class MyAngularV13Env extends AngularV13Env {
6464
tsconfigPath: require.resolve('./config/tsconfig.json'),
6565
});
6666
}
67-
return ngMultiCompiler;
67+
return ngMultiCompiler!;
6868
}
6969

7070
/**

angular/examples/my-angular-v13-env/preview/mounter.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { Component, NgModule, ViewEncapsulation } from '@angular/core';
66
* Provide your component compositions (preview) with the context they need to run.
77
* for example, a router, a theme, a data provider, etc.
88
* components added here as providers should be listed as host-dependencies in your host-dependencies.ts file.
9-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-providers
9+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
1010
*/
1111
@Component({
1212
selector: 'bit-wrapper',
@@ -29,6 +29,6 @@ import { Component, NgModule, ViewEncapsulation } from '@angular/core';
2929
/**
3030
* the entry for the app (preview runtime) that renders your component previews.
3131
* use the default template or create your own.
32-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-mounter
32+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
3333
*/
3434
export default createMounter(WrapperModule, {wrapperSelector: '#wrapper-host'});

angular/examples/my-angular-v14-env/my-angular-v14-env.bit-env.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export class MyAngularV14Env extends AngularV14Env {
6464
tsconfigPath: require.resolve('./config/tsconfig.json'),
6565
});
6666
}
67-
return ngMultiCompiler;
67+
return ngMultiCompiler!;
6868
}
6969

7070
/**

angular/examples/my-angular-v14-env/preview/mounter.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { Component, ViewEncapsulation } from '@angular/core';
66
* Provide your component compositions (preview) with the context they need to run.
77
* for example, a router, a theme, a data provider, etc.
88
* components added here as providers should be listed as host-dependencies in your host-dependencies.ts file.
9-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-providers
9+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
1010
*/
1111
@Component({
1212
selector: 'bit-wrapper',
@@ -22,6 +22,6 @@ import { Component, ViewEncapsulation } from '@angular/core';
2222
/**
2323
* the entry for the app (preview runtime) that renders your component previews.
2424
* use the default template or create your own.
25-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-mounter
25+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
2626
*/
2727
export default createMounter(WrapperComponent);

angular/examples/my-angular-v15-env/my-angular-v15-env.bit-env.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export class MyAngularV15Env extends AngularV15Env {
6464
tsconfigPath: require.resolve('./config/tsconfig.json'),
6565
});
6666
}
67-
return ngMultiCompiler;
67+
return ngMultiCompiler!;
6868
}
6969

7070
/**

angular/examples/my-angular-v15-env/preview/mounter.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { Component, ViewEncapsulation } from '@angular/core';
66
* Provide your component compositions (preview) with the context they need to run.
77
* for example, a router, a theme, a data provider, etc.
88
* components added here as providers should be listed as host-dependencies in your host-dependencies.ts file.
9-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-providers
9+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
1010
*/
1111
@Component({
1212
selector: 'bit-wrapper',
@@ -22,6 +22,6 @@ import { Component, ViewEncapsulation } from '@angular/core';
2222
/**
2323
* the entry for the app (preview runtime) that renders your component previews.
2424
* use the default template or create your own.
25-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-mounter
25+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
2626
*/
2727
export default createMounter(WrapperComponent);

angular/examples/my-angular-v16-env/my-angular-v16-env.bit-env.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export class MyAngularV16Env extends AngularV16Env {
6464
tsconfigPath: require.resolve('./config/tsconfig.json'),
6565
});
6666
}
67-
return ngMultiCompiler;
67+
return ngMultiCompiler!;
6868
}
6969

7070
/**

angular/examples/my-angular-v16-env/preview/mounter.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { Component, ViewEncapsulation } from '@angular/core';
66
* Provide your component compositions (preview) with the context they need to run.
77
* for example, a router, a theme, a data provider, etc.
88
* components added here as providers should be listed as host-dependencies in your host-dependencies.ts file.
9-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-providers
9+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
1010
*/
1111
@Component({
1212
selector: 'bit-wrapper',
@@ -22,6 +22,6 @@ import { Component, ViewEncapsulation } from '@angular/core';
2222
/**
2323
* the entry for the app (preview runtime) that renders your component previews.
2424
* use the default template or create your own.
25-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-mounter
25+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
2626
*/
2727
export default createMounter(WrapperComponent);

angular/examples/my-angular-v17-env/my-angular-v17-env.bit-env.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export class MyAngularV17Env extends AngularV17Env {
6464
tsconfigPath: require.resolve('./config/tsconfig.json'),
6565
});
6666
}
67-
return ngMultiCompiler;
67+
return ngMultiCompiler!;
6868
}
6969

7070
/**

angular/examples/my-angular-v17-env/preview/mounter.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { Component, ViewEncapsulation } from '@angular/core';
66
* Provide your component compositions (preview) with the context they need to run.
77
* for example, a router, a theme, a data provider, etc.
88
* components added here as providers should be listed as host-dependencies in your host-dependencies.ts file.
9-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-providers
9+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
1010
*/
1111
@Component({
1212
selector: 'bit-wrapper',
@@ -22,6 +22,6 @@ import { Component, ViewEncapsulation } from '@angular/core';
2222
/**
2323
* the entry for the app (preview runtime) that renders your component previews.
2424
* use the default template or create your own.
25-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-mounter
25+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
2626
*/
2727
export default createMounter(WrapperComponent);

angular/templates/generators/ng-app/index.ts

+26-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1-
import { AngularComponentTemplateOptions } from '@bitdev/angular.dev-services.common';
1+
import { AngularComponentTemplateOptions, getWorkspace } from '@bitdev/angular.dev-services.common';
22
import { confirm, group, select } from '@clack/prompts';
3+
import { ComponentID } from '@teambit/component';
34
import { EnvContext, EnvHandler } from '@teambit/envs';
45
import { ComponentContext, ComponentTemplate } from '@teambit/generator';
56
import { Logger } from '@teambit/logger';
7+
import { PkgAspect, PkgMain } from '@teambit/pkg';
8+
import { Workspace } from '@teambit/workspace';
69
import { isCI } from 'std-env';
710
import { indexFile } from './template-files';
8-
import { docsFile } from './template-files/docs';
911
import { ngAppFile } from './template-files/bit-app';
12+
import { docsFile } from './template-files/docs';
1013
import { appComponentFile } from './template-files/src/app/app.component';
1114
import { appComponentHtmlFile } from './template-files/src/app/app.component-html';
1215
import { appComponentStyleSheetFile } from './template-files/src/app/app.component-scss';
@@ -33,7 +36,9 @@ export class NgAppTemplate implements ComponentTemplate {
3336
readonly angularVersion: number,
3437
readonly name = 'ng-app',
3538
readonly description = 'create an Angular application',
36-
readonly hidden = false
39+
readonly hidden = false,
40+
private pkg: PkgMain,
41+
private workspace: Workspace | undefined
3742
) {
3843
}
3944

@@ -86,10 +91,22 @@ export class NgAppTemplate implements ComponentTemplate {
8691
params = await this.prompt(context);
8792
}
8893

94+
const aspectId: ComponentID = typeof context.aspectId === 'string' ? ComponentID.fromString(context.aspectId) : context.aspectId;
95+
const envId = aspectId.toStringWithoutVersion();
96+
let envPkgName: string;
97+
if (this.workspace) {
98+
const envComponent = await this.workspace!.get(aspectId);
99+
envPkgName = this.pkg.getPackageName(envComponent);
100+
} else if (envId === 'bitdev.angular/angular-env') { // mostly for ci / ripple
101+
envPkgName = '@bitdev/angular.angular-env';
102+
} else {
103+
envPkgName = `@bitdev/angular.envs.angular-v${ this.angularVersion }-env`;
104+
}
105+
89106
const files = [
90107
docsFile(context),
91108
indexFile(context),
92-
ngAppFile(context, params.styleSheet, params.ssr),
109+
ngAppFile(context, params.styleSheet, params.ssr, envPkgName),
93110
tsconfigFile(this.angularVersion, params.ssr),
94111
indexHtmlFile(context),
95112
mainNgAppFile(params.standalone),
@@ -137,12 +154,16 @@ export class NgAppTemplate implements ComponentTemplate {
137154
return (context: EnvContext) => {
138155
const name = options.name || 'ng-app-template';
139156
const logger = context.createLogger(name);
157+
const pkg = context.getAspect<PkgMain>(PkgAspect.id);
158+
const workspace = getWorkspace(context);
140159
return new NgAppTemplate(
141160
logger,
142161
options.angularVersion,
143162
options.name,
144163
options.description,
145-
options.hidden
164+
options.hidden,
165+
pkg,
166+
workspace
146167
);
147168
};
148169
}

angular/templates/generators/ng-app/template-files/bit-app.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { ComponentContext, ComponentFile } from '@teambit/generator';
22

3-
export const ngAppFile = (context: ComponentContext, styleSheet: string, ssr: boolean): ComponentFile => {
3+
export const ngAppFile = (context: ComponentContext, styleSheet: string, ssr: boolean, envPkgName: string): ComponentFile => {
44
const { name, namePascalCase: Name } = context;
55
return {
66
relativePath: `${name}.bit-app.ts`,
77
content: `import { type AngularAppOptions, AngularApp } from '@bitdev/angular.app-types.angular-app-type';
88
import { ${ssr ? `ApplicationOptions`: `BrowserOptions` }, DevServerOptions } from '@bitdev/angular.dev-services.common';
9-
import { ngEnvOptions } from '@bitdev/angular.envs.angular-v17-env';
9+
import { ngEnvOptions } from '${envPkgName}';
1010
1111
const angularOptions: ${ssr ? `ApplicationOptions`: `BrowserOptions` } & DevServerOptions = {
1212
${ssr ? `browser: './src/main.ts',

angular/templates/generators/ng-env/files/preview/mounter.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { Component, NgModule, ViewEncapsulation } from '@angular/core';
99
* Provide your component compositions (preview) with the context they need to run.
1010
* for example, a router, a theme, a data provider, etc.
1111
* components added here as providers should be listed as host-dependencies in your host-dependencies.ts file.
12-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-providers
12+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
1313
*/
1414
@Component({
1515
selector: 'bit-wrapper',
@@ -32,7 +32,7 @@ import { Component, NgModule, ViewEncapsulation } from '@angular/core';
3232
/**
3333
* the entry for the app (preview runtime) that renders your component previews.
3434
* use the default template or create your own.
35-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-mounter
35+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
3636
*/
3737
export default createMounter(WrapperModule, {wrapperSelector: '#wrapper-host'});`
3838
// Angular v14+
@@ -44,7 +44,7 @@ import { Component, ViewEncapsulation } from '@angular/core';
4444
* Provide your component compositions (preview) with the context they need to run.
4545
* for example, a router, a theme, a data provider, etc.
4646
* components added here as providers should be listed as host-dependencies in your host-dependencies.ts file.
47-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-providers
47+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
4848
*/
4949
@Component({
5050
selector: 'bit-wrapper',
@@ -60,7 +60,7 @@ import { Component, ViewEncapsulation } from '@angular/core';
6060
/**
6161
* the entry for the app (preview runtime) that renders your component previews.
6262
* use the default template or create your own.
63-
* @see https://bit.dev/docs/angular-env/components-preview#compositions-mounter
63+
* @see https://bit.dev/docs/angular-env-env/components-preview#compositions-providers
6464
*/
6565
export default createMounter(WrapperComponent);
6666
`,

0 commit comments

Comments
 (0)