@analogjs/vite-plugin-angular 0.2.0-alpha.0 → 0.2.0-alpha.1

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@analogjs/vite-plugin-angular",
3
3
  "description": "Vite Plugin for Angular",
4
- "version": "0.2.0-alpha.0",
4
+ "version": "0.2.0-alpha.1",
5
5
  "keywords": [
6
6
  "vite-plugin",
7
7
  "angular"
@@ -1,10 +1,8 @@
1
- import { BundleStylesheetOptions } from '@angular-devkit/build-angular/src/builders/browser-esbuild/stylesheets';
2
1
  import * as ts from 'typescript';
3
2
  import { Plugin } from 'vite';
4
3
  interface PluginOptions {
5
4
  tsconfig: string;
6
- sourcemap: boolean;
7
- advancedOptimizations: boolean;
5
+ mode: string;
8
6
  }
9
7
  interface EmitFileResult {
10
8
  content?: string;
@@ -13,6 +11,6 @@ interface EmitFileResult {
13
11
  hash?: Uint8Array;
14
12
  }
15
13
  declare type FileEmitter = (file: string) => Promise<EmitFileResult | undefined>;
16
- export declare function angular(pluginOptions?: PluginOptions, styleOptions?: BundleStylesheetOptions): Plugin;
14
+ export declare function angular(pluginOptions?: PluginOptions): Plugin[];
17
15
  export declare function createFileEmitter(program: ts.BuilderProgram, transformers?: ts.CustomTransformers, onAfterEmit?: (sourceFile: ts.SourceFile) => void): FileEmitter;
18
16
  export {};
@@ -4,16 +4,14 @@ exports.createFileEmitter = exports.angular = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const core_1 = require("@babel/core");
6
6
  const application_1 = require("@angular-devkit/build-angular/src/babel/presets/application");
7
+ const webpack_loader_1 = require("@angular-devkit/build-angular/src/babel/webpack-loader");
7
8
  const ts = require("typescript");
8
9
  const compiler_plugin_1 = require("@angular-devkit/build-angular/src/builders/browser-esbuild/compiler-plugin");
9
10
  const load_esm_1 = require("@angular-devkit/build-angular/src/utils/load-esm");
11
+ const component_resolvers_1 = require("./component-resolvers");
10
12
  function angular(pluginOptions = {
11
13
  tsconfig: './tsconfig.app.json',
12
- sourcemap: false,
13
- advancedOptimizations: false,
14
- }, styleOptions = {
15
- optimization: false,
16
- sourcemap: true,
14
+ mode: 'development',
17
15
  }) {
18
16
  // The file emitter created during `onStart` that will be used during the build in `onLoad` callbacks for TS files
19
17
  let fileEmitter;
@@ -29,109 +27,215 @@ function angular(pluginOptions = {
29
27
  let builderProgram;
30
28
  let watchMode = false;
31
29
  let sourceFileCache = new SourceFileCache();
32
- return {
33
- name: '@analogjs/vite-plugin-angular',
34
- config(config, { command }) {
35
- watchMode = command === 'serve';
36
- return {
37
- optimizeDeps: {
38
- exclude: ['rxjs'],
39
- esbuildOptions: {
40
- plugins: [
41
- (0, compiler_plugin_1.createCompilerPlugin)({
42
- tsconfig: pluginOptions.tsconfig,
43
- sourcemap: pluginOptions.sourcemap,
44
- advancedOptimizations: pluginOptions.advancedOptimizations,
45
- }, {
46
- sourcemap: styleOptions.sourcemap,
47
- optimization: styleOptions.optimization,
48
- }),
49
- ],
50
- },
51
- },
52
- };
53
- },
54
- buildStart() {
55
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
56
- compilerCli = yield (0, load_esm_1.loadEsmModule)('@angular/compiler-cli');
57
- const { options: tsCompilerOptions, rootNames: rn } = compilerCli.readConfiguration(pluginOptions.tsconfig, {
58
- enableIvy: true,
59
- noEmitOnError: false,
60
- suppressOutputPathCheck: true,
61
- outDir: undefined,
62
- inlineSources: pluginOptions.sourcemap,
63
- inlineSourceMap: pluginOptions.sourcemap,
64
- sourceMap: false,
65
- mapRoot: undefined,
66
- sourceRoot: undefined,
67
- declaration: false,
68
- declarationMap: false,
69
- allowEmptyCodegenFiles: false,
70
- annotationsAs: 'decorators',
71
- enableResourceInlining: false,
30
+ let isProd = pluginOptions.mode === 'production';
31
+ return [
32
+ {
33
+ name: '@analogjs/vite-plugin-angular',
34
+ config(config, { command }) {
35
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
+ watchMode = command === 'serve';
37
+ compilerCli = yield (0, load_esm_1.loadEsmModule)('@angular/compiler-cli');
38
+ return {
39
+ optimizeDeps: {
40
+ esbuildOptions: {
41
+ plugins: [
42
+ (0, compiler_plugin_1.createCompilerPlugin)({
43
+ tsconfig: pluginOptions.tsconfig,
44
+ sourcemap: !isProd,
45
+ advancedOptimizations: isProd,
46
+ }, {
47
+ sourcemap: false,
48
+ optimization: isProd,
49
+ }),
50
+ ],
51
+ define: {
52
+ ngDevMode: watchMode ? JSON.stringify({}) : 'false',
53
+ ngJitMode: 'false',
54
+ ngI18nClosureMode: 'false',
55
+ },
56
+ },
57
+ },
58
+ };
72
59
  });
73
- rootNames = rn;
74
- compilerOptions = tsCompilerOptions;
75
- host = ts.createIncrementalCompilerHost(compilerOptions);
76
- // Setup source file caching and reuse cache from previous compilation if present
77
- let cache = new SourceFileCache();
78
- // Only store cache if in watch mode
79
- if (watchMode) {
80
- sourceFileCache = cache;
81
- }
82
- augmentHostWithCaching(host, cache);
83
- yield buildAndAnalyze();
84
- });
85
- },
86
- handleHotUpdate(ctx) {
87
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
88
- if (/\.[cm]?tsx?$/.test(ctx.file)) {
89
- sourceFileCache.invalidate(ctx.file);
60
+ },
61
+ buildStart() {
62
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
63
+ const { options: tsCompilerOptions, rootNames: rn } = compilerCli.readConfiguration(pluginOptions.tsconfig, {
64
+ enableIvy: true,
65
+ noEmitOnError: false,
66
+ suppressOutputPathCheck: true,
67
+ outDir: undefined,
68
+ inlineSources: !isProd,
69
+ inlineSourceMap: !isProd,
70
+ sourceMap: false,
71
+ mapRoot: undefined,
72
+ sourceRoot: undefined,
73
+ declaration: false,
74
+ declarationMap: false,
75
+ allowEmptyCodegenFiles: false,
76
+ annotationsAs: 'decorators',
77
+ enableResourceInlining: false,
78
+ });
79
+ rootNames = rn;
80
+ compilerOptions = tsCompilerOptions;
81
+ host = ts.createIncrementalCompilerHost(compilerOptions);
82
+ // Setup source file caching and reuse cache from previous compilation if present
83
+ let cache = new SourceFileCache();
84
+ // Only store cache if in watch mode
85
+ if (watchMode) {
86
+ sourceFileCache = cache;
87
+ }
88
+ augmentHostWithCaching(host, cache);
90
89
  yield buildAndAnalyze();
91
- }
92
- });
90
+ });
91
+ },
92
+ handleHotUpdate(ctx) {
93
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
94
+ if (/\.[cm]?tsx?$/.test(ctx.file)) {
95
+ sourceFileCache.invalidate(ctx.file);
96
+ yield buildAndAnalyze();
97
+ }
98
+ if (/\.(html|htm|css|less|sass|scss)$/.test(ctx.file)) {
99
+ let mods = [];
100
+ ctx.modules.forEach((mod) => {
101
+ mod.importers.forEach((imp) => {
102
+ sourceFileCache.invalidate(imp.id);
103
+ ctx.server.moduleGraph.invalidateModule(imp);
104
+ mods.push(imp);
105
+ });
106
+ });
107
+ yield buildAndAnalyze();
108
+ return mods;
109
+ }
110
+ return ctx.modules;
111
+ });
112
+ },
113
+ transform(code, id) {
114
+ var _a, _b;
115
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
116
+ // Skip transforming node_modules
117
+ if (id.includes('node_modules')) {
118
+ return;
119
+ }
120
+ if (/\.[cm]?tsx?$/.test(id)) {
121
+ if ((0, component_resolvers_1.hasTemplateUrl)(code)) {
122
+ const templateUrl = (0, component_resolvers_1.resolveTemplateUrl)(code, id);
123
+ if (templateUrl) {
124
+ this.addWatchFile(templateUrl);
125
+ }
126
+ }
127
+ if ((0, component_resolvers_1.hasStyleUrls)(code)) {
128
+ const styleUrls = (0, component_resolvers_1.resolveStyleUrls)(code, id);
129
+ styleUrls.forEach((styleUrl) => {
130
+ this.addWatchFile(styleUrl);
131
+ });
132
+ }
133
+ const typescriptResult = yield fileEmitter(id);
134
+ // return fileEmitter
135
+ const data = (_a = typescriptResult === null || typescriptResult === void 0 ? void 0 : typescriptResult.content) !== null && _a !== void 0 ? _a : '';
136
+ const babelResult = yield (0, core_1.transformAsync)(data, {
137
+ filename: id,
138
+ inputSourceMap: (!isProd ? undefined : false),
139
+ sourceMaps: !isProd ? 'inline' : false,
140
+ compact: false,
141
+ configFile: false,
142
+ babelrc: false,
143
+ browserslistConfigFile: false,
144
+ plugins: [],
145
+ presets: [
146
+ [
147
+ application_1.default,
148
+ {
149
+ forceAsyncTransformation: data.includes('async'),
150
+ optimize: isProd && {},
151
+ },
152
+ ],
153
+ ],
154
+ });
155
+ return {
156
+ code: (_b = babelResult === null || babelResult === void 0 ? void 0 : babelResult.code) !== null && _b !== void 0 ? _b : '',
157
+ map: babelResult === null || babelResult === void 0 ? void 0 : babelResult.map,
158
+ };
159
+ }
160
+ return undefined;
161
+ });
162
+ },
93
163
  },
94
- transform(code, id) {
95
- var _a, _b;
96
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
97
- // Skip transforming node_modules
98
- if (id.includes('node_modules')) {
99
- return;
100
- }
101
- const typescriptResult = yield fileEmitter(id);
102
- // return fileEmitter
103
- const data = (_a = typescriptResult === null || typescriptResult === void 0 ? void 0 : typescriptResult.content) !== null && _a !== void 0 ? _a : '';
104
- if (/\.[cm]?tsx?$/.test(id)) {
105
- const babelResult = yield (0, core_1.transformAsync)(data, {
106
- filename: id,
107
- inputSourceMap: (pluginOptions.sourcemap
108
- ? undefined
109
- : false),
110
- sourceMaps: pluginOptions.sourcemap ? 'inline' : false,
111
- compact: false,
112
- configFile: false,
113
- babelrc: false,
114
- browserslistConfigFile: false,
115
- plugins: [],
116
- presets: [
117
- [
118
- application_1.default,
119
- {
120
- forceAsyncTransformation: data.includes('async'),
121
- optimize: pluginOptions.advancedOptimizations && {},
122
- },
164
+ {
165
+ name: '@analogjs/vite-plugin-angular-optimizer',
166
+ apply: 'build',
167
+ config() {
168
+ return {
169
+ esbuild: {
170
+ minify: isProd,
171
+ minifyIdentifiers: true,
172
+ minifySyntax: true,
173
+ // NOTE: Disabling whitespace ensures unused pure annotations are kept
174
+ minifyWhitespace: false,
175
+ pure: ['forwardRef'],
176
+ legalComments: 'none',
177
+ // sourcefile: 'name',
178
+ sourcemap: !isProd,
179
+ define: {
180
+ ngDevMode: 'false',
181
+ ngJitMode: 'false',
182
+ ngI18nClosureMode: 'false',
183
+ },
184
+ // This option should always be disabled for browser builds as we don't rely on `.name`
185
+ // and causes deadcode to be retained which makes `NG_BUILD_MANGLE` unusable to investigate tree-shaking issues.
186
+ // We enable `keepNames` only for server builds as Domino relies on `.name`.
187
+ // Once we no longer rely on Domino for SSR we should be able to remove this.
188
+ keepNames: false,
189
+ target: 'es2020',
190
+ },
191
+ };
192
+ },
193
+ transform(code, id) {
194
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
195
+ if (/\.[cm]?js$/.test(id)) {
196
+ const angularPackage = /[\\/]node_modules[\\/]@angular[\\/]/.test(id);
197
+ const linkerPluginCreator = (yield (0, load_esm_1.loadEsmModule)('@angular/compiler-cli/linker/babel')).createEs2015LinkerPlugin;
198
+ const useInputSourcemap = !isProd;
199
+ const result = yield (0, core_1.transformAsync)(code, {
200
+ filename: id,
201
+ inputSourceMap: (useInputSourcemap
202
+ ? undefined
203
+ : false),
204
+ sourceMaps: !isProd ? 'inline' : false,
205
+ compact: false,
206
+ configFile: false,
207
+ babelrc: false,
208
+ browserslistConfigFile: false,
209
+ plugins: [],
210
+ presets: [
211
+ [
212
+ application_1.default,
213
+ {
214
+ angularLinker: {
215
+ shouldLink: yield (0, webpack_loader_1.requiresLinking)(id, code),
216
+ jitMode: false,
217
+ linkerPluginCreator,
218
+ },
219
+ forceAsyncTransformation: !/[\\/][_f]?esm2015[\\/]/.test(id) &&
220
+ code.includes('async'),
221
+ optimize: isProd && {
222
+ looseEnums: angularPackage,
223
+ pureTopLevel: angularPackage,
224
+ },
225
+ },
226
+ ],
123
227
  ],
124
- ],
125
- });
126
- return {
127
- code: (_b = babelResult === null || babelResult === void 0 ? void 0 : babelResult.code) !== null && _b !== void 0 ? _b : '',
128
- map: babelResult === null || babelResult === void 0 ? void 0 : babelResult.map,
129
- };
130
- }
131
- return undefined;
132
- });
228
+ });
229
+ return {
230
+ code: (result === null || result === void 0 ? void 0 : result.code) || '',
231
+ map: result === null || result === void 0 ? void 0 : result.map,
232
+ };
233
+ }
234
+ return;
235
+ });
236
+ },
133
237
  },
134
- };
238
+ ];
135
239
  /**
136
240
  * Creates a new NgtscProgram to analyze/re-analyze
137
241
  * the source files and create a file emitter.
@@ -1 +1 @@
1
- {"version":3,"file":"angular-vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-vite-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"angular-vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-vite-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function hasStyleUrls(code: string): boolean;
2
+ export declare function resolveStyleUrls(code: string, id: string): string[];
3
+ export declare function hasTemplateUrl(code: string): boolean;
4
+ export declare function resolveTemplateUrl(code: string, id: string): string;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveTemplateUrl = exports.hasTemplateUrl = exports.resolveStyleUrls = exports.hasStyleUrls = void 0;
4
+ const path_1 = require("path");
5
+ const styleUrlsRE = /styleUrls\s*:\s*\[([^\[]*?)\]/;
6
+ const templateUrlRE = /\s*templateUrl\s*:\s*["|']*?["|'].*/;
7
+ function hasStyleUrls(code) {
8
+ return styleUrlsRE.test(code);
9
+ }
10
+ exports.hasStyleUrls = hasStyleUrls;
11
+ function resolveStyleUrls(code, id) {
12
+ const styleUrlsGroup = styleUrlsRE.exec(code);
13
+ if (Array.isArray(styleUrlsGroup) && styleUrlsGroup[0]) {
14
+ const styleUrls = styleUrlsGroup[0].replace(/(styleUrls|\:|\s|\[|\]|"|')/g, '');
15
+ const styleUrlPaths = (styleUrls === null || styleUrls === void 0 ? void 0 : styleUrls.split(',')) || [];
16
+ return styleUrlPaths.map(styleUrlPath => (0, path_1.resolve)((0, path_1.dirname)(id), styleUrlPath));
17
+ }
18
+ return [];
19
+ }
20
+ exports.resolveStyleUrls = resolveStyleUrls;
21
+ function hasTemplateUrl(code) {
22
+ return templateUrlRE.test(code);
23
+ }
24
+ exports.hasTemplateUrl = hasTemplateUrl;
25
+ function resolveTemplateUrl(code, id) {
26
+ const templateUrlGroup = templateUrlRE.exec(code);
27
+ let templateUrlPath = '';
28
+ if (Array.isArray(templateUrlGroup) && templateUrlGroup[0]) {
29
+ const resolvedTemplatePath = templateUrlGroup[0].replace(/templateUrl|\s|'|"|\:|,/g, '');
30
+ templateUrlPath = (0, path_1.resolve)((0, path_1.dirname)(id), resolvedTemplatePath);
31
+ }
32
+ return templateUrlPath;
33
+ }
34
+ exports.resolveTemplateUrl = resolveTemplateUrl;
35
+ //# sourceMappingURL=component-resolvers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-resolvers.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/component-resolvers.ts"],"names":[],"mappings":";;;AAAA,+BAAwC;AAExC,MAAM,WAAW,GAAG,+BAA+B,CAAC;AACpD,MAAM,aAAa,GAAG,qCAAqC,CAAC;AAE5D,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAFD,oCAEC;AAED,SAAgB,gBAAgB,CAAC,IAAY,EAAE,EAAU;IACvD,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE;QACtD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE,CAAC;QAElD,OAAO,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,IAAA,cAAO,EAAC,IAAA,cAAO,EAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9E;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAXD,4CAWC;AAED,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAFD,wCAEC;AAED,SAAgB,kBAAkB,CAAC,IAAY,EAAE,EAAU;IACzD,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElD,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE;QAC1D,MAAM,oBAAoB,GAAG,gBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC1F,eAAe,GAAG,IAAA,cAAO,EAAC,IAAA,cAAO,EAAC,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC;KAC9D;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAVD,gDAUC"}