@analogjs/vite-plugin-angular 0.2.30-rc.1 → 0.2.31-beta.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/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.30-rc.1",
4
+ "version": "0.2.31-beta.0",
5
5
  "keywords": [
6
6
  "vite",
7
7
  "vitest",
package/src/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { angular } from './lib/angular-vite-plugin';
2
2
  export { PluginOptions } from './lib/angular-vite-plugin';
3
- export { compileNgFile } from './lib/authoring/ng';
3
+ export { compileAnalogFile } from './lib/authoring/analog';
4
4
  export default angular;
package/src/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.compileNgFile = void 0;
3
+ exports.compileAnalogFile = void 0;
4
4
  const angular_vite_plugin_1 = require("./lib/angular-vite-plugin");
5
- var ng_1 = require("./lib/authoring/ng");
6
- Object.defineProperty(exports, "compileNgFile", { enumerable: true, get: function () { return ng_1.compileNgFile; } });
5
+ var analog_1 = require("./lib/authoring/analog");
6
+ Object.defineProperty(exports, "compileAnalogFile", { enumerable: true, get: function () { return analog_1.compileAnalogFile; } });
7
7
  exports.default = angular_vite_plugin_1.angular;
8
8
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/vite-plugin-angular/src/index.ts"],"names":[],"mappings":";;;AAAA,mEAAoD;AAEpD,yCAAmD;AAA1C,mGAAA,aAAa,OAAA;AAEtB,kBAAe,6BAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/vite-plugin-angular/src/index.ts"],"names":[],"mappings":";;;AAAA,mEAAoD;AAEpD,iDAA2D;AAAlD,2GAAA,iBAAiB,OAAA;AAE1B,kBAAe,6BAAO,CAAC"}
@@ -1,5 +1,5 @@
1
- import { Plugin } from 'vite';
2
1
  import * as ts from 'typescript';
2
+ import { Plugin } from 'vite';
3
3
  export interface PluginOptions {
4
4
  tsconfig?: string;
5
5
  workspaceRoot?: string;
@@ -13,9 +13,9 @@ export interface PluginOptions {
13
13
  };
14
14
  experimental?: {
15
15
  /**
16
- * Enable experimental support for .ng file format! Use as your own risk!
16
+ * Enable experimental support for Analog file extension
17
17
  */
18
- dangerouslySupportNgFormat?: boolean;
18
+ supportAnalogFormat?: boolean;
19
19
  };
20
20
  supportedBrowsers?: string[];
21
21
  transformFilter?: (code: string, id: string) => boolean;
@@ -1,23 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createFileEmitter = exports.angular = void 0;
4
- const vite_1 = require("vite");
5
4
  const core_1 = require("@babel/core");
6
- const ts = require("typescript");
7
5
  const path = require("path");
6
+ const ts = require("typescript");
7
+ const vite_1 = require("vite");
8
+ const angular_build_optimizer_plugin_1 = require("./angular-build-optimizer-plugin");
9
+ const angular_jit_plugin_1 = require("./angular-jit-plugin");
10
+ const angular_vitest_plugin_1 = require("./angular-vitest-plugin");
8
11
  const compiler_plugin_1 = require("./compiler-plugin");
9
12
  const component_resolvers_1 = require("./component-resolvers");
10
13
  const host_1 = require("./host");
11
- const angular_jit_plugin_1 = require("./angular-jit-plugin");
12
- const angular_build_optimizer_plugin_1 = require("./angular-build-optimizer-plugin");
13
14
  const devkit_1 = require("./utils/devkit");
14
- const angular_vitest_plugin_1 = require("./angular-vitest-plugin");
15
15
  /**
16
16
  * TypeScript file extension regex
17
17
  * Match .(c or m)ts, .ts extensions with an optional ? for query params
18
18
  * Ignore .tsx extensions
19
19
  */
20
- const TS_EXT_REGEX = /\.[cm]?(ts|ng)[^x]?\??/;
20
+ const TS_EXT_REGEX = /\.[cm]?(ts|analog)[^x]?\??/;
21
21
  function angular(options) {
22
22
  /**
23
23
  * Normalize plugin options so defaults
@@ -39,7 +39,7 @@ function angular(options) {
39
39
  },
40
40
  supportedBrowsers: options?.supportedBrowsers ?? ['safari 15'],
41
41
  jit: options?.jit,
42
- supportNgFormat: options?.experimental?.dangerouslySupportNgFormat,
42
+ supportAnalogFormat: options?.experimental?.supportAnalogFormat ?? false,
43
43
  };
44
44
  // The file emitter created during `onStart` that will be used during the build in `onLoad` callbacks for TS files
45
45
  let fileEmitter;
@@ -159,10 +159,9 @@ function angular(options) {
159
159
  /**
160
160
  * Check for options.transformFilter
161
161
  */
162
- if (options?.transformFilter) {
163
- if (!(options?.transformFilter(code, id) ?? true)) {
164
- return;
165
- }
162
+ if (options?.transformFilter &&
163
+ !(options?.transformFilter(code, id) ?? true)) {
164
+ return;
166
165
  }
167
166
  /**
168
167
  * Check for .ts extenstions for inline script files being
@@ -233,8 +232,8 @@ function angular(options) {
233
232
  }
234
233
  const forceAsyncTransformation = /for\s+await\s*\(|async\s+function\s*\*/.test(data);
235
234
  const useInputSourcemap = (!isProd ? undefined : false);
236
- if (id.includes('.ng') &&
237
- pluginOptions.supportNgFormat &&
235
+ if (id.includes('.analog') &&
236
+ pluginOptions.supportAnalogFormat &&
238
237
  fileEmitter) {
239
238
  sourceFileCache.invalidate([`${id}.ts`]);
240
239
  const ngFileResult = await fileEmitter(`${id}.ts`);
@@ -291,21 +290,20 @@ function angular(options) {
291
290
  supportedBrowsers: pluginOptions.supportedBrowsers,
292
291
  }),
293
292
  ].filter(Boolean);
294
- function findNgFiles(config) {
295
- if (!pluginOptions.supportNgFormat) {
293
+ function findAnalogFiles(config) {
294
+ if (!pluginOptions.supportAnalogFormat) {
296
295
  return [];
297
296
  }
298
297
  const fg = require('fast-glob');
299
298
  const root = (0, vite_1.normalizePath)(path.resolve(pluginOptions.workspaceRoot, config.root || '.'));
300
- const ngFiles = fg
301
- .sync([`${root}/**/*.ng`], {
299
+ return fg
300
+ .sync([`${root}/**/*.analog`], {
302
301
  dot: true,
303
302
  })
304
303
  .map((file) => `${file}.ts`);
305
- return ngFiles;
306
304
  }
307
305
  function setupCompilation(config) {
308
- const ngFiles = findNgFiles(config);
306
+ const analogFiles = findAnalogFiles(config);
309
307
  const { options: tsCompilerOptions, rootNames: rn } = compilerCli.readConfiguration(pluginOptions.tsconfig, {
310
308
  suppressOutputPathCheck: true,
311
309
  outDir: undefined,
@@ -318,13 +316,13 @@ function angular(options) {
318
316
  enableResourceInlining: false,
319
317
  supportTestBed: false,
320
318
  });
321
- if (pluginOptions.supportNgFormat) {
319
+ if (pluginOptions.supportAnalogFormat) {
322
320
  // Experimental Local Compilation is necessary
323
321
  // for the Angular compiler to work with
324
- // AOT and virtually compiled .ng files.
322
+ // AOT and virtually compiled .analog files.
325
323
  tsCompilerOptions.compilationMode = 'experimental-local';
326
324
  }
327
- rootNames = rn.concat(ngFiles);
325
+ rootNames = rn.concat(analogFiles);
328
326
  compilerOptions = tsCompilerOptions;
329
327
  host = ts.createIncrementalCompilerHost(compilerOptions);
330
328
  styleTransform = watchMode
@@ -333,8 +331,8 @@ function angular(options) {
333
331
  if (!jit) {
334
332
  (0, host_1.augmentHostWithResources)(host, styleTransform, {
335
333
  inlineStylesExtension: pluginOptions.inlineStylesExtension,
336
- supportNgFormat: pluginOptions.supportNgFormat,
337
- isProd: isProd,
334
+ supportAnalogFormat: pluginOptions.supportAnalogFormat,
335
+ isProd,
338
336
  });
339
337
  }
340
338
  }
@@ -1 +1 @@
1
- {"version":3,"file":"angular-vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-vite-plugin.ts"],"names":[],"mappings":";;;AAAA,+BAOc;AAEd,sCAA6C;AAE7C,iCAAiC;AACjC,6BAA6B;AAE7B,uDAAyD;AACzD,+DAK+B;AAC/B,iCAAkD;AAClD,6DAAiD;AACjD,qFAAwE;AACxE,2CAKwB;AACxB,mEAA8D;AA+B9D;;;;GAIG;AACH,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,SAAgB,OAAO,CAAC,OAAuB;IAC7C;;;OAGG;IACH,MAAM,aAAa,GAAG;QACpB,QAAQ,EACN,OAAO,EAAE,QAAQ;YACjB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM;gBACjC,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,qBAAqB,CAAC;QAC5B,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE;QACtD,qBAAqB,EAAE,OAAO,EAAE,qBAAqB,IAAI,KAAK;QAC9D,QAAQ,EAAE;YACR,cAAc,EAAE;gBACd,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,IAAI,EAAE;gBACvD,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,IAAI,EAAE;gBACrD,iBAAiB,EACf,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,IAAI,EAAE;aAC7D;SACF;QACD,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,CAAC,WAAW,CAAC;QAC9D,GAAG,EAAE,OAAO,EAAE,GAAG;QACjB,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,0BAA0B;KACnE,CAAC;IAEF,kHAAkH;IAClH,IAAI,WAAoC,CAAC;IACzC,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,gDAAgD;IAChD,MAAM,EACJ,iBAAiB,EACjB,gBAAgB,GACjB,GAAG,OAAO,CAAC,yCAAyC,CAAC,CAAC;IACvD,MAAM,EACJ,4BAA4B,EAC5B,sBAAsB,GACvB,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAE7C,IAAI,WAAmD,CAAC;IACxD,IAAI,UAAsB,CAAC;IAC3B,IAAI,SAAmB,CAAC;IACxB,IAAI,IAAqB,CAAC;IAC1B,IAAI,WAAkD,CAAC;IACvD,IAAI,cAA2D,CAAC;IAChE,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,eAAe,GAAG,IAAI,wBAAe,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7E,MAAM,GAAG,GACP,OAAO,aAAa,EAAE,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,IAAI,UAAqC,CAAC;IAC1C,IAAI,SAA6B,CAAC;IAClC,IAAI,cAAwD,CAAC;IAE7D,MAAM,iBAAiB,GAAG,IAAI,uCAAiB,EAAE,CAAC;IAClD,MAAM,oBAAoB,GAAG,IAAI,0CAAoB,EAAE,CAAC;IAExD,SAAS,aAAa;QACpB,OAAO;YACL,IAAI,EAAE,+BAA+B;YACrC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE;gBAC9B,SAAS,GAAG,OAAO,KAAK,OAAO,CAAC;gBAChC,UAAU,GAAG,MAAM,CAAC;gBAEpB,aAAa,CAAC,QAAQ;oBACpB,OAAO,EAAE,QAAQ;wBACjB,IAAI,CAAC,OAAO,CACV,MAAM,CAAC,IAAI,IAAI,GAAG,EAClB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM;4BAChC,CAAC,CAAC,sBAAsB;4BACxB,CAAC,CAAC,qBAAqB,CAC1B,CAAC;gBAEJ,WAAW,GAAG,MAAM,IAAA,sBAAa,EAE/B,uBAAuB,CAAC,CAAC;gBAE3B,OAAO;oBACL,YAAY,EAAE;wBACZ,OAAO,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC;wBACnC,OAAO,EAAE,CAAC,0BAA0B,CAAC;wBACrC,cAAc,EAAE;4BACd,OAAO,EAAE;gCACP,IAAA,sCAAoB,EAClB;oCACE,QAAQ,EAAE,aAAa,CAAC,QAAQ;oCAChC,SAAS,EAAE,CAAC,MAAM;oCAClB,qBAAqB,EAAE,MAAM;oCAC7B,GAAG;oCACH,WAAW,EAAE,SAAS;iCACvB,EACD,MAAM,CACP;6BACF;4BACD,MAAM,EAAE;gCACN,SAAS,EAAE,OAAO;gCAClB,iBAAiB,EAAE,OAAO;gCAC1B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;6BAC7C;yBACF;qBACF;oBACD,OAAO,EAAE;wBACP,UAAU,EAAE,CAAC,OAAO,CAAC;qBACtB;iBACF,CAAC;YACJ,CAAC;YACD,eAAe,CAAC,MAAM;gBACpB,UAAU,GAAG,MAAM,CAAC;gBACpB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;gBAC3C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAChD,CAAC;YACD,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE;gBAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC1B,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;iBAClE;gBAED,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAE7B,oCAAoC;gBACpC,IAAI,SAAS,EAAE;oBACb,sBAAsB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;iBAC/C;gBAED,MAAM,eAAe,EAAE,CAAC;YAC1B,CAAC;YACD,KAAK,CAAC,eAAe,CAAC,GAAG;gBACvB,oEAAoE;gBACpE,2EAA2E;gBAC3E,qFAAqF;gBACrF,iCAAiC;gBACjC,IAAI,CAAC,IAAI,EAAE;oBACT,OAAO;iBACR;gBAED,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC/B,eAAe,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC7D,MAAM,eAAe,EAAE,CAAC;iBACzB;gBAED,IAAI,kCAAkC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACrD;;;uBAGG;oBACH,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAC/B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,CAC9D,CAAC;oBAEF,IAAI,QAAQ,EAAE;wBACZ,OAAO,GAAG,CAAC,OAAO,CAAC;qBACpB;oBAED,MAAM,IAAI,GAAiB,EAAE,CAAC;oBAC9B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;wBAC1B,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;4BAC5B,eAAe,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAY,CAAC,CAAC,CAAC;4BAC/C,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;4BAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACjB,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,MAAM,eAAe,EAAE,CAAC;oBACxB,OAAO,IAAI,CAAC;iBACb;gBAED,OAAO,GAAG,CAAC,OAAO,CAAC;YACrB,CAAC;YACD,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;gBACtB,iCAAiC;gBACjC,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;oBAC/B,OAAO;iBACR;gBAED;;mBAEG;gBACH,IAAI,OAAO,EAAE,eAAe,EAAE;oBAC5B,IAAI,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;wBACjD,OAAO;qBACR;iBACF;gBAED;;;;;;;mBAOG;gBACH,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;oBAC9B,OAAO;iBACR;gBAED,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACzB,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;wBACvB,oCAAoC;wBACpC,uCAAuC;wBACvC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;qBAC/B;oBAED;;;uBAGG;oBACH,IAAI,MAAM,EAAE;wBACV,MAAM,KAAK,GAAG,UAAU,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;wBACxD,IAAI,KAAK,EAAE;4BACT,eAAe,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;4BACjC,MAAM,eAAe,EAAE,CAAC;yBACzB;qBACF;oBAED,IAAI,YAAY,GAAa,EAAE,CAAC;oBAChC,IAAI,SAAS,GAAa,EAAE,CAAC;oBAE7B,IAAI,IAAA,oCAAc,EAAC,IAAI,CAAC,EAAE;wBACxB,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;qBACvD;oBAED,IAAI,IAAA,kCAAY,EAAC,IAAI,CAAC,EAAE;wBACtB,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;qBACjD;oBAED,IAAI,SAAS,EAAE;wBACb,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,YAAY,EAAE,GAAG,SAAS,CAAC,EAAE;4BACpD,+DAA+D;4BAC/D,sCAAsC;4BACtC,wFAAwF;4BACxF,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC9C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;yBACpC;qBACF;oBAED,MAAM,gBAAgB,GAAG,WAAW,IAAI,CAAC,MAAM,WAAY,CAAC,EAAE,CAAC,CAAC,CAAC;oBAEjE,qBAAqB;oBACrB,IAAI,IAAI,GAAG,gBAAgB,EAAE,OAAO,IAAI,EAAE,CAAC;oBAE3C,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;wBACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,4BAA4B,EAC5B,mCAAmC,CACpC,CAAC;wBAEF,YAAY,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;4BACtC,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,GACvC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC5B,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,6BAA6B,YAAY,EAAE,EAC3C,GAAG,mBAAmB,MAAM,CAC7B,CAAC;wBACJ,CAAC,CAAC,CAAC;wBAEH,SAAS,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;4BAChC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC7D,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,0BAA0B,SAAS,EAAE,EACrC,GAAG,gBAAgB,SAAS,CAC7B,CAAC;wBACJ,CAAC,CAAC,CAAC;qBACJ;oBAED,IAAI,GAAG,EAAE;wBACP,OAAO;4BACL,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;4BAC5D,GAAG,EAAE;gCACH,QAAQ,EAAE,EAAE;6BACb;yBACF,CAAC;qBACH;oBAED,MAAM,wBAAwB,GAC5B,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtD,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAc,CAAC;oBAErE,IACE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAClB,aAAa,CAAC,eAAe;wBAC7B,WAAW,EACX;wBACA,eAAe,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;wBACzC,MAAM,YAAY,GAAG,MAAM,WAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBACpD,IAAI,GAAG,YAAY,EAAE,OAAO,IAAI,EAAE,CAAC;qBACpC;oBAED,IAAI,CAAC,wBAAwB,IAAI,CAAC,MAAM,EAAE;wBACxC,OAAO;4BACL,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;4BAC5D,GAAG,EAAE;gCACH,QAAQ,EAAE,EAAE;6BACb;yBACF,CAAC;qBACH;oBAED,MAAM,WAAW,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,EAAE;wBAC7C,QAAQ,EAAE,EAAE;wBACZ,cAAc,EAAE,CAAC,iBAAiB;4BAChC,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,KAAK,CAAc;wBACvB,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;wBACtC,OAAO,EAAE,KAAK;wBACd,UAAU,EAAE,KAAK;wBACjB,OAAO,EAAE,KAAK;wBACd,sBAAsB,EAAE,KAAK;wBAC7B,OAAO,EAAE,EAAE;wBACX,OAAO,EAAE;4BACP;gCACE,iCAAwB;gCACxB;oCACE,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;oCAClD,wBAAwB;oCACxB,QAAQ,EAAE,MAAM,IAAI,EAAE;iCACvB;6BACF;yBACF;qBACF,CAAC,CAAC;oBAEH,OAAO;wBACL,IAAI,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE;wBAC7B,GAAG,EAAE,WAAW,EAAE,GAAG;qBACtB,CAAC;iBACH;gBAED,OAAO,SAAS,CAAC;YACnB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,aAAa,EAAE;QACf,CAAC,MAAM,IAAI,IAAA,2CAAmB,GAAE,CAAW;QAC3C,CAAC,GAAG;YACF,IAAA,8BAAS,EAAC;gBACR,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;aAC3D,CAAC,CAAW;QACf,IAAA,qDAAoB,EAAC;YACnB,MAAM;YACN,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;SACnD,CAAC;KACH,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;IAE9B,SAAS,WAAW,CAAC,MAAkB;QACrC,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE;YAClC,OAAO,EAAE,CAAC;SACX;QAED,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAA,oBAAa,EACxB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,CAC9D,CAAC;QACF,MAAM,OAAO,GAAa,EAAE;aACzB,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE;YACzB,GAAG,EAAE,IAAI;SACV,CAAC;aACD,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;QAEvC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,gBAAgB,CAAC,MAAkB;QAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,GACjD,WAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC,QAAQ,EAAE;YACpD,uBAAuB,EAAE,IAAI;YAC7B,MAAM,EAAE,SAAS;YACjB,eAAe,EAAE,CAAC,MAAM;YACxB,aAAa,EAAE,CAAC,MAAM;YACtB,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,KAAK;YACrB,sBAAsB,EAAE,KAAK;YAC7B,aAAa,EAAE,YAAY;YAC3B,sBAAsB,EAAE,KAAK;YAC7B,cAAc,EAAE,KAAK;SACtB,CAAC,CAAC;QAEL,IAAI,aAAa,CAAC,eAAe,EAAE;YACjC,8CAA8C;YAC9C,wCAAwC;YACxC,wCAAwC;YACxC,iBAAiB,CAAC,eAAe,GAAG,oBAAoB,CAAC;SAC1D;QAED,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,eAAe,GAAG,iBAAiB,CAAC;QACpC,IAAI,GAAG,EAAE,CAAC,6BAA6B,CAAC,eAAe,CAAC,CAAC;QAEzD,cAAc,GAAG,SAAS;YACxB,CAAC,CAAC,UAAW,CAAC,eAAe,CAAC,SAAS;YACvC,CAAC,CAAE,SAAU,CAAC,SAA0C,CAAC;QAE3D,IAAI,CAAC,GAAG,EAAE;YACR,IAAA,+BAAwB,EAAC,IAAI,EAAE,cAAc,EAAE;gBAC7C,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;gBAC1D,eAAe,EAAE,aAAa,CAAC,eAAe;gBAC9C,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,UAAU,eAAe;QAC5B,IAAI,OAE2C,CAAC;QAChD,IAAI,iBAA6B,CAAC;QAClC,IAAI,eAAoB,CAAC;QAEzB,IAAI,CAAC,GAAG,EAAE;YACR,yEAAyE;YACzE,MAAM,cAAc,GAAiB,IAAI,WAAW,CAAC,YAAY,CAC/D,SAAS,EACT,eAAe,EACf,IAAoB,EACpB,WAAkB,CACnB,CAAC;YACF,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC;YAC1C,iBAAiB,GAAG,cAAc,CAAC,YAAY,EAAE,CAAC;YAClD,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;YAEhD,OAAO,GAAG,cAAc;gBACtB,EAAE,CAAC,8CAA8C,CAC/C,iBAAiB,EACjB,IAAI,EACJ,cAAc,CACf,CAAC;YAEJ,MAAM,eAAe,CAAC,YAAY,EAAE,CAAC;YAErC,WAAW,GAAG,cAAc,CAAC;SAC9B;aAAM;YACL,OAAO,GAAG,cAAc;gBACtB,EAAE,CAAC,8CAA8C,CAC/C,SAAS,EACT,eAAe,EACf,IAAI,EACJ,WAAkB,CACnB,CAAC;YAEJ,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,WAAW,GAAG,cAAuC,CAAC;SACvD;QAED,IAAI,CAAC,SAAS,EAAE;YACd,yFAAyF;YACzF,kEAAkE;YAClE,OAAO,GAAG,EAAE,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;SAC7D;QAED,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,CAAC;QACnE,WAAW,GAAG,iBAAiB,CAC7B,OAAO,EACP,iBAAiB,CACf;YACE,MAAM,EAAE;gBACN,gBAAgB,CAAC,cAAc,CAAC;gBAChC,GAAG,CAAC,GAAG;oBACL,CAAC,CAAC;wBACE,WAAW,CAAC,uCAAuC,CACjD,OAAO,CAAC,UAAU,EAAE,CACrB;wBACD,IAAA,qCAA4B,EAAC,cAAc,CAAC;qBAC7C;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM;aAChD;YACD,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;YAClD,iBAAiB,EACf,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB;SAC1D,EACD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,YAAY,CACtD,EACD,GAAG,EAAE,CAAC,EAAE,CACT,CAAC;IACJ,CAAC;AACH,CAAC;AAheD,0BAgeC;AAED,SAAgB,iBAAiB,CAC/B,OAA0B,EAC1B,eAAsC,EAAE,EACxC,WAAiD;IAEjD,OAAO,KAAK,EAAE,IAAY,EAAE,EAAE;QAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,OAA2B,CAAC;QAChC,OAAO,CAAC,IAAI,CACV,UAAU,EACV,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;YACjB,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/B,OAAO,GAAG,IAAI,CAAC;aAChB;QACH,CAAC,EACD,SAAS,CAAC,uBAAuB,EACjC,SAAS,CAAC,sBAAsB,EAChC,YAAY,CACb,CAAC;QAEF,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC;QAE1B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IACvC,CAAC,CAAC;AACJ,CAAC;AA5BD,8CA4BC"}
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 @@
1
+ export declare function compileAnalogFile(filePath: string, fileContent: string, shouldFormat?: boolean): string;
@@ -0,0 +1,356 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compileAnalogFile = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const INVALID_METADATA_PROPERTIES = [
6
+ 'template',
7
+ 'standalone',
8
+ 'changeDetection',
9
+ 'styles',
10
+ 'outputs',
11
+ 'inputs',
12
+ ];
13
+ const SCRIPT_TAG_REGEX = /<script lang="ts">([\s\S]*?)<\/script>/i;
14
+ const TEMPLATE_TAG_REGEX = /<template>([\s\S]*?)<\/template>/i;
15
+ const STYLE_TAG_REGEX = /<style>([\s\S]*?)<\/style>/i;
16
+ const ON_INIT = 'onInit';
17
+ const ON_DESTROY = 'onDestroy';
18
+ const HOOKS_MAP = {
19
+ [ON_INIT]: 'ngOnInit',
20
+ [ON_DESTROY]: 'ngOnDestroy',
21
+ };
22
+ function compileAnalogFile(filePath, fileContent, shouldFormat = false) {
23
+ const componentName = filePath.split('/').pop()?.split('.')[0];
24
+ if (!componentName) {
25
+ throw new Error(`[Analog] Missing component name ${filePath}`);
26
+ }
27
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
28
+ const { names } = require('@nx/devkit');
29
+ const { fileName: componentFileName, className, constantName, } = names(componentName);
30
+ // eslint-disable-next-line prefer-const
31
+ let [scriptContent, templateContent, styleContent] = [
32
+ SCRIPT_TAG_REGEX.exec(fileContent)?.pop()?.trim() || '',
33
+ TEMPLATE_TAG_REGEX.exec(fileContent)?.pop()?.trim() || '',
34
+ STYLE_TAG_REGEX.exec(fileContent)?.pop()?.trim() || '',
35
+ ];
36
+ let ngType;
37
+ if (templateContent) {
38
+ ngType = 'Component';
39
+ }
40
+ else if (scriptContent && !templateContent) {
41
+ ngType = scriptContent.includes('templateUrl') ? 'Component' : 'Directive';
42
+ }
43
+ else {
44
+ throw new Error(`[Analog] Cannot determine entity type ${filePath}`);
45
+ }
46
+ const entityName = `${className}Analog${ngType}`;
47
+ const componentMetadata = (() => {
48
+ if (ngType === 'Component') {
49
+ const items = ['changeDetection: ChangeDetectionStrategy.OnPush'];
50
+ if (templateContent) {
51
+ items.push(`template: \`${templateContent}\``);
52
+ }
53
+ if (styleContent) {
54
+ items.push(`styles: \`${styleContent.replaceAll('\n', '')}\``);
55
+ }
56
+ return items.join(',\n ');
57
+ }
58
+ return '';
59
+ })();
60
+ const source = `
61
+ import { ${ngType}${ngType === 'Component' ? ', ChangeDetectionStrategy' : ''} } from '@angular/core';
62
+
63
+ @${ngType}({
64
+ standalone: true,
65
+ selector: '${componentFileName},${className},${constantName}',
66
+ ${componentMetadata}
67
+ })
68
+ export default class ${entityName} {
69
+ constructor() {}
70
+ }`;
71
+ // the `.analog` file
72
+ if (scriptContent) {
73
+ const project = new ts_morph_1.Project({ useInMemoryFileSystem: true });
74
+ return processAnalogScript(filePath, project.createSourceFile(filePath, scriptContent), project.createSourceFile(`${filePath}.virtual.ts`, source), ngType, entityName, shouldFormat);
75
+ }
76
+ return source;
77
+ }
78
+ exports.compileAnalogFile = compileAnalogFile;
79
+ function processAnalogScript(fileName, ngSourceFile, targetSourceFile, ngType, entityName, isProd) {
80
+ const targetClass = targetSourceFile.getClass((classDeclaration) => classDeclaration.getName() === entityName);
81
+ if (!targetClass) {
82
+ throw new Error(`[Analog] Missing class ${fileName}`);
83
+ }
84
+ const targetMetadata = targetClass.getDecorator(ngType);
85
+ if (!targetMetadata) {
86
+ throw new Error(`[Analog] Missing metadata ${fileName}`);
87
+ }
88
+ const targetMetadataArguments = targetMetadata.getArguments()[0];
89
+ if (!ts_morph_1.Node.isObjectLiteralExpression(targetMetadataArguments)) {
90
+ throw new Error(`[Analog] invalid metadata arguments ${fileName}`);
91
+ }
92
+ const targetConstructor = targetClass.getConstructors()[0], targetConstructorBody = targetConstructor.getBody();
93
+ if (!ts_morph_1.Node.isBlock(targetConstructorBody)) {
94
+ throw new Error(`[Analog] invalid constructor body ${fileName}`);
95
+ }
96
+ const declarations = [], gettersSetters = [], outputs = [], sourceSyntaxList = ngSourceFile.getChildren()[0]; // SyntaxList
97
+ if (!ts_morph_1.Node.isSyntaxList(sourceSyntaxList)) {
98
+ throw new Error(`[Analog] invalid source syntax list ${fileName}`);
99
+ }
100
+ for (const node of sourceSyntaxList.getChildren()) {
101
+ if (ts_morph_1.Node.isImportDeclaration(node)) {
102
+ const moduleSpecifier = node.getModuleSpecifierValue();
103
+ if (moduleSpecifier.endsWith('.analog')) {
104
+ // other .ng files
105
+ declarations.push(node.getDefaultImport()?.getText() || '');
106
+ }
107
+ // copy the import to the target `.analog.ts` file
108
+ targetSourceFile.addImportDeclaration(node.getStructure());
109
+ continue;
110
+ }
111
+ const nodeFullText = node.getFullText();
112
+ if (ts_morph_1.Node.isExportable(node) && node.hasExportKeyword()) {
113
+ targetSourceFile.addStatements(nodeFullText);
114
+ continue;
115
+ }
116
+ if (ts_morph_1.Node.isVariableStatement(node)) {
117
+ // NOTE: we do not support multiple declarations (i.e: const a, b, c)
118
+ const declaration = node.getDeclarations()[0], isLet = node.getDeclarationKind() === ts_morph_1.VariableDeclarationKind.Let;
119
+ const name = declaration.getName(), initializer = declaration.getInitializer();
120
+ if (!initializer && isLet) {
121
+ // transfer the whole line `let variable;` over
122
+ addVariableToConstructor(targetConstructor, '', name, 'let');
123
+ // populate getters array for Object.defineProperties
124
+ gettersSetters.push({ propertyName: name, isFunction: false });
125
+ continue;
126
+ }
127
+ if (initializer) {
128
+ // with initializer
129
+ const nameNode = declaration.getNameNode();
130
+ // if destructured.
131
+ // TODO: we don't have a good abstraction for handling destructured variables yet.
132
+ if (ts_morph_1.Node.isArrayBindingPattern(nameNode) ||
133
+ ts_morph_1.Node.isObjectBindingPattern(nameNode)) {
134
+ targetConstructor.addStatements(nodeFullText);
135
+ const bindingElements = nameNode
136
+ .getDescendantsOfKind(ts_morph_1.SyntaxKind.BindingElement)
137
+ .map((bindingElement) => bindingElement.getName());
138
+ if (isLet) {
139
+ gettersSetters.push(...bindingElements.map((propertyName) => ({
140
+ propertyName,
141
+ isFunction: false,
142
+ })));
143
+ continue;
144
+ }
145
+ for (const bindingElement of bindingElements) {
146
+ targetClass.addProperty({
147
+ name: bindingElement,
148
+ kind: ts_morph_1.StructureKind.Property,
149
+ scope: ts_morph_1.Scope.Protected,
150
+ });
151
+ targetConstructor.addStatements(`this.${bindingElement} = ${bindingElement};`);
152
+ }
153
+ continue;
154
+ }
155
+ const isFunctionInitializer = isFunction(initializer);
156
+ if (!isLet) {
157
+ const ioStructure = getIOStructure(initializer);
158
+ if (ioStructure) {
159
+ // outputs
160
+ if (ioStructure.decorators) {
161
+ // track output name
162
+ outputs.push(name);
163
+ }
164
+ // track output name
165
+ targetClass.addProperty({
166
+ ...ioStructure,
167
+ decorators: undefined,
168
+ name,
169
+ scope: ts_morph_1.Scope.Protected,
170
+ });
171
+ // assign constructor variable
172
+ targetConstructor.addStatements(`const ${name} = this.${name}`);
173
+ continue;
174
+ }
175
+ /**
176
+ * normal property
177
+ * const variable = initializer;
178
+ * We'll create a class property with the same variable name
179
+ */
180
+ addVariableToConstructor(targetConstructor, initializer.getText(), name, 'const', true);
181
+ continue;
182
+ }
183
+ /**
184
+ * let variable = initializer;
185
+ * We will NOT create a class property with the name because we will add it to the getters
186
+ */
187
+ addVariableToConstructor(targetConstructor, initializer.getText(), name, 'let');
188
+ gettersSetters.push({
189
+ propertyName: name,
190
+ isFunction: isFunctionInitializer,
191
+ });
192
+ continue;
193
+ }
194
+ continue;
195
+ }
196
+ if (ts_morph_1.Node.isFunctionDeclaration(node)) {
197
+ const functionName = node.getName();
198
+ if (functionName) {
199
+ targetConstructor.addStatements([
200
+ // bring the function over
201
+ nodeFullText,
202
+ // assign class property
203
+ `this.${functionName} = ${functionName}.bind(this);`,
204
+ ]);
205
+ continue;
206
+ }
207
+ continue;
208
+ }
209
+ if (ts_morph_1.Node.isExpressionStatement(node)) {
210
+ const expression = node.getExpression();
211
+ if (ts_morph_1.Node.isCallExpression(expression)) {
212
+ // hooks, effects, basically Function calls
213
+ const functionName = expression.getExpression().getText();
214
+ if (functionName === 'defineMetadata') {
215
+ const metadata = expression.getArguments()[0];
216
+ const metadataProperties = metadata
217
+ .getPropertiesWithComments()
218
+ .filter((property) => ts_morph_1.Node.isPropertyAssignment(property) &&
219
+ !INVALID_METADATA_PROPERTIES.includes(property.getName()));
220
+ if (metadataProperties.length === 0)
221
+ continue;
222
+ processMetadata(metadataProperties, targetMetadataArguments, targetClass);
223
+ continue;
224
+ }
225
+ if (functionName === ON_INIT || functionName === ON_DESTROY) {
226
+ const initFunction = expression.getArguments()[0];
227
+ if (isFunction(initFunction)) {
228
+ // add the function to constructor
229
+ targetConstructor.addStatements(`this.${functionName} = ${initFunction.getText()}`);
230
+ // add life-cycle method to class
231
+ targetClass.addMethod({
232
+ name: HOOKS_MAP[functionName],
233
+ statements: `this.${functionName}();`,
234
+ });
235
+ continue;
236
+ }
237
+ continue;
238
+ }
239
+ // just add the entire node to the constructor. i.e: effect()
240
+ targetConstructor.addStatements(nodeFullText);
241
+ }
242
+ }
243
+ }
244
+ if (ngType === 'Component' && declarations.length) {
245
+ processArrayLiteralMetadata(targetMetadataArguments, 'imports', declarations);
246
+ }
247
+ if (outputs.length) {
248
+ processArrayLiteralMetadata(targetMetadataArguments, 'outputs', outputs.map((output) => `'${output}'`));
249
+ }
250
+ if (gettersSetters.length) {
251
+ targetConstructor.addStatements(`
252
+ Object.defineProperties(this, {
253
+ ${gettersSetters
254
+ .map(({ isFunction, propertyName }) => `${propertyName}:{get(){return ${!isFunction ? `${propertyName}` : `${propertyName}.bind(this)`};},set(v){${propertyName}=v;}},`)
255
+ .join('\n')}
256
+ });`);
257
+ }
258
+ if (!isProd) {
259
+ // PROD probably does not need this
260
+ targetSourceFile.formatText({ ensureNewLineAtEndOfFile: true });
261
+ }
262
+ return targetSourceFile.getText();
263
+ }
264
+ function processArrayLiteralMetadata(targetMetadataArguments, metadataName, items) {
265
+ let metadata = targetMetadataArguments.getProperty(metadataName);
266
+ if (!metadata) {
267
+ metadata = targetMetadataArguments.addPropertyAssignment({
268
+ name: metadataName,
269
+ initializer: '[]',
270
+ });
271
+ }
272
+ const initializer = ts_morph_1.Node.isPropertyAssignment(metadata) && metadata.getInitializer();
273
+ if (initializer && ts_morph_1.Node.isArrayLiteralExpression(initializer)) {
274
+ initializer.addElements(items);
275
+ }
276
+ }
277
+ function processMetadata(metadataProperties, targetMetadataArguments, targetClass) {
278
+ metadataProperties.forEach((property) => {
279
+ const propertyInitializer = property.getInitializer();
280
+ if (propertyInitializer) {
281
+ const propertyName = property.getName(), propertyInitializerText = propertyInitializer.getText();
282
+ if (propertyName === 'selector') {
283
+ // remove the existing selector
284
+ targetMetadataArguments.getProperty('selector')?.remove();
285
+ // add the new selector
286
+ targetMetadataArguments.addPropertyAssignment({
287
+ name: 'selector',
288
+ initializer: propertyInitializerText,
289
+ });
290
+ }
291
+ else if (propertyName === 'exposes') {
292
+ // for exposes we're going to add the property to the class so they are accessible on the template
293
+ // parse the initializer to get the item in the exposes array
294
+ const exposes = propertyInitializerText
295
+ .replace(/[[\]]/g, '')
296
+ .split(',')
297
+ .map((item) => ({
298
+ name: item.trim(),
299
+ initializer: item.trim(),
300
+ scope: ts_morph_1.Scope.Protected,
301
+ }));
302
+ targetClass.addProperties(exposes);
303
+ }
304
+ else {
305
+ targetMetadataArguments.addPropertyAssignment({
306
+ name: propertyName,
307
+ initializer: propertyInitializerText,
308
+ });
309
+ }
310
+ }
311
+ });
312
+ }
313
+ /**
314
+ * const variable = initializer;
315
+ * |
316
+ * v
317
+ * constructor() {
318
+ * const variable = (this.variable = initializer);
319
+ * }
320
+ *
321
+ */
322
+ function addVariableToConstructor(targetConstructor, initializerText, variableName, kind, withClassProperty = false) {
323
+ let statement = `${kind} ${variableName}`;
324
+ if (initializerText) {
325
+ statement += `= ${initializerText}`;
326
+ if (withClassProperty) {
327
+ statement = `${kind} ${variableName} = (this.${variableName} = ${initializerText})`;
328
+ }
329
+ }
330
+ targetConstructor.addStatements(statement + ';');
331
+ }
332
+ function isFunction(initializer) {
333
+ return (ts_morph_1.Node.isArrowFunction(initializer) ||
334
+ ts_morph_1.Node.isFunctionDeclaration(initializer) ||
335
+ ts_morph_1.Node.isFunctionExpression(initializer));
336
+ }
337
+ function getIOStructure(initializer) {
338
+ const callableExpression = (ts_morph_1.Node.isCallExpression(initializer) || ts_morph_1.Node.isNewExpression(initializer)) &&
339
+ initializer;
340
+ if (!callableExpression)
341
+ return null;
342
+ const expression = callableExpression.getExpression(), initializerText = callableExpression.getText();
343
+ if (initializerText.includes('new EventEmitter')) {
344
+ return {
345
+ initializer: initializerText,
346
+ decorators: [{ name: 'Output', arguments: [] }],
347
+ };
348
+ }
349
+ if ((ts_morph_1.Node.isPropertyAccessExpression(expression) &&
350
+ expression.getText() === 'input.required') ||
351
+ (ts_morph_1.Node.isIdentifier(expression) && expression.getText() === 'input')) {
352
+ return { initializer: initializer.getText() };
353
+ }
354
+ return null;
355
+ }
356
+ //# sourceMappingURL=analog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analog.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-angular/src/lib/authoring/analog.ts"],"names":[],"mappings":"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"}
package/src/lib/host.d.ts CHANGED
@@ -3,6 +3,6 @@ export declare function augmentHostWithResources(host: ts.CompilerHost, transfor
3
3
  ssr?: boolean;
4
4
  }) => ReturnType<any> | null, options?: {
5
5
  inlineStylesExtension?: string;
6
- supportNgFormat?: boolean;
6
+ supportAnalogFormat?: boolean;
7
7
  isProd?: boolean;
8
8
  }): void;
package/src/lib/host.js CHANGED
@@ -4,15 +4,15 @@ exports.augmentHostWithResources = void 0;
4
4
  const paths_1 = require("@ngtools/webpack/src/ivy/paths");
5
5
  const node_fs_1 = require("node:fs");
6
6
  const ts = require("typescript");
7
- const ng_1 = require("./authoring/ng");
7
+ const analog_1 = require("./authoring/analog");
8
8
  function augmentHostWithResources(host, transform, options = {}) {
9
9
  const resourceHost = host;
10
10
  const baseGetSourceFile = resourceHost.getSourceFile.bind(resourceHost);
11
- if (options.supportNgFormat) {
11
+ if (options.supportAnalogFormat) {
12
12
  resourceHost.getSourceFile = (fileName, languageVersionOrOptions, onError, ...parameters) => {
13
- if (fileName.includes('.ng')) {
14
- const contents = (0, node_fs_1.readFileSync)(fileName.replace('.ng.ts', '.ng'), 'utf-8');
15
- const source = (0, ng_1.compileNgFile)(fileName, contents, options.isProd);
13
+ if (fileName.includes('.analog')) {
14
+ const contents = (0, node_fs_1.readFileSync)(fileName.replace('.analog.ts', '.analog'), 'utf-8');
15
+ const source = (0, analog_1.compileAnalogFile)(fileName, contents, options.isProd);
16
16
  return ts.createSourceFile(fileName, source, languageVersionOrOptions, onError, ...parameters);
17
17
  }
18
18
  return baseGetSourceFile.call(resourceHost, fileName, languageVersionOrOptions, onError, ...parameters);
@@ -34,7 +34,13 @@ function augmentHostWithResources(host, transform, options = {}) {
34
34
  if (options.inlineStylesExtension) {
35
35
  // Resource file only exists for external stylesheets
36
36
  const filename = context.resourceFile ??
37
- `${context.containingFile.replace(/\.ts$/, `.${options?.inlineStylesExtension}`)}`;
37
+ `${context.containingFile.replace(/(\.analog)?\.ts$/, (...args) => {
38
+ // NOTE: if the original file name contains `.analog`, we turn that into `-analog.css`
39
+ if (args.includes('.analog')) {
40
+ return `-analog.${options?.inlineStylesExtension}`;
41
+ }
42
+ return `.${options?.inlineStylesExtension}`;
43
+ })}`;
38
44
  let stylesheetResult;
39
45
  try {
40
46
  stylesheetResult = await transform(data, `${filename}?direct`);
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/host.ts"],"names":[],"mappings":";;;AACA,0DAA+D;AAC/D,qCAAuC;AACvC,iCAAiC;AACjC,uCAA+C;AAE/C,SAAgB,wBAAwB,CACtC,IAAqB,EACrB,SAI2B,EAC3B,UAII,EAAE;IAEN,MAAM,YAAY,GAAG,IAAoB,CAAC;IAC1C,MAAM,iBAAiB,GACrB,YACD,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEnC,IAAI,OAAO,CAAC,eAAe,EAAE;QAC1B,YAAgC,CAAC,aAAa,GAAG,CAChD,QAAQ,EACR,wBAAwB,EACxB,OAAO,EACP,GAAG,UAAU,EACb,EAAE;YACF,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC5B,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAC3B,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EACjC,OAAO,CACR,CAAC;gBACF,MAAM,MAAM,GAAG,IAAA,kBAAa,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEjE,OAAO,EAAE,CAAC,gBAAgB,CACxB,QAAQ,EACR,MAAM,EACN,wBAAwB,EACxB,OAAc,EACd,GAAI,UAAkB,CACvB,CAAC;aACH;YAED,OAAO,iBAAiB,CAAC,IAAI,CAC3B,YAAY,EACZ,QAAQ,EACR,wBAAwB,EACxB,OAAO,EACP,GAAG,UAAU,CACd,CAAC;QACJ,CAAC,CAAC;KACH;IAED,YAAY,CAAC,YAAY,GAAG,UAAU,QAAgB;QACpD,MAAM,QAAQ,GAAG,IAAA,qBAAa,EAAC,QAAQ,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAI,IAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,QAAQ,CAAC,CAAC;SACrE;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,YAAY,CAAC,iBAAiB,GAAG,KAAK,WAAW,IAAI,EAAE,OAAO;QAC5D,+CAA+C;QAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;YAC5B,OAAO,IAAI,CAAC;SACb;QAED,IAAI,OAAO,CAAC,qBAAqB,EAAE;YACjC,qDAAqD;YACrD,MAAM,QAAQ,GACZ,OAAO,CAAC,YAAY;gBACpB,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAC/B,OAAO,EACP,IAAI,OAAO,EAAE,qBAAqB,EAAE,CACrC,EAAE,CAAC;YAEN,IAAI,gBAAgB,CAAC;YAErB,IAAI;gBACF,gBAAgB,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,QAAQ,SAAS,CAAC,CAAC;aAChE;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACvB;YAED,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;SAClD;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AA1FD,4DA0FC"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/host.ts"],"names":[],"mappings":";;;AACA,0DAA+D;AAC/D,qCAAuC;AACvC,iCAAiC;AACjC,+CAAuD;AAEvD,SAAgB,wBAAwB,CACtC,IAAqB,EACrB,SAI2B,EAC3B,UAII,EAAE;IAEN,MAAM,YAAY,GAAG,IAAoB,CAAC;IAC1C,MAAM,iBAAiB,GACrB,YACD,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEnC,IAAI,OAAO,CAAC,mBAAmB,EAAE;QAC9B,YAAgC,CAAC,aAAa,GAAG,CAChD,QAAQ,EACR,wBAAwB,EACxB,OAAO,EACP,GAAG,UAAU,EACb,EAAE;YACF,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAChC,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAC3B,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,EACzC,OAAO,CACR,CAAC;gBACF,MAAM,MAAM,GAAG,IAAA,0BAAiB,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAErE,OAAO,EAAE,CAAC,gBAAgB,CACxB,QAAQ,EACR,MAAM,EACN,wBAAwB,EACxB,OAAc,EACd,GAAI,UAAkB,CACvB,CAAC;aACH;YAED,OAAO,iBAAiB,CAAC,IAAI,CAC3B,YAAY,EACZ,QAAQ,EACR,wBAAwB,EACxB,OAAO,EACP,GAAG,UAAU,CACd,CAAC;QACJ,CAAC,CAAC;KACH;IAED,YAAY,CAAC,YAAY,GAAG,UAAU,QAAgB;QACpD,MAAM,QAAQ,GAAG,IAAA,qBAAa,EAAC,QAAQ,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAI,IAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,QAAQ,CAAC,CAAC;SACrE;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,YAAY,CAAC,iBAAiB,GAAG,KAAK,WAAW,IAAI,EAAE,OAAO;QAC5D,+CAA+C;QAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;YAC5B,OAAO,IAAI,CAAC;SACb;QAED,IAAI,OAAO,CAAC,qBAAqB,EAAE;YACjC,qDAAqD;YACrD,MAAM,QAAQ,GACZ,OAAO,CAAC,YAAY;gBACpB,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;oBAChE,sFAAsF;oBACtF,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;wBAC5B,OAAO,WAAW,OAAO,EAAE,qBAAqB,EAAE,CAAC;qBACpD;oBACD,OAAO,IAAI,OAAO,EAAE,qBAAqB,EAAE,CAAC;gBAC9C,CAAC,CAAC,EAAE,CAAC;YAEP,IAAI,gBAAgB,CAAC;YAErB,IAAI;gBACF,gBAAgB,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,QAAQ,SAAS,CAAC,CAAC;aAChE;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACvB;YAED,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;SAClD;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AA7FD,4DA6FC"}
@@ -1 +0,0 @@
1
- export declare function compileNgFile(filePath: string, fileContent: string, shouldFormat?: boolean): string;
@@ -1,348 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.compileNgFile = void 0;
4
- const ts_morph_1 = require("ts-morph");
5
- const SCRIPT_TAG_REGEX = /<script lang="ts">([\s\S]*?)<\/script>/i;
6
- const TEMPLATE_TAG_REGEX = /<template>([\s\S]*?)<\/template>/i;
7
- const STYLE_TAG_REGEX = /<style>([\s\S]*?)<\/style>/i;
8
- const ON_INIT = 'onInit';
9
- const ON_DESTROY = 'onDestroy';
10
- const HOOKS_MAP = {
11
- [ON_INIT]: 'ngOnInit',
12
- [ON_DESTROY]: 'ngOnDestroy',
13
- };
14
- function compileNgFile(filePath, fileContent, shouldFormat = false) {
15
- const componentName = filePath.split('/').pop()?.split('.')[0];
16
- if (!componentName) {
17
- throw new Error(`[Analog] Missing component name ${filePath}`);
18
- }
19
- // eslint-disable-next-line @typescript-eslint/no-var-requires
20
- const { names } = require('@nx/devkit');
21
- const { fileName: componentFileName, className, constantName, } = names(componentName);
22
- // eslint-disable-next-line prefer-const
23
- let [scriptContent, templateContent, styleContent] = [
24
- SCRIPT_TAG_REGEX.exec(fileContent)?.pop()?.trim() || '',
25
- TEMPLATE_TAG_REGEX.exec(fileContent)?.pop()?.trim() || '',
26
- STYLE_TAG_REGEX.exec(fileContent)?.pop()?.trim() || '',
27
- ];
28
- if (!scriptContent && !templateContent) {
29
- throw new Error(`[Analog] Either <script> or <template> must exist in ${filePath}`);
30
- }
31
- const ngType = templateContent ? 'Component' : 'Directive';
32
- const entityName = `${className}Analog${ngType}`;
33
- if (styleContent) {
34
- templateContent = `<style>${styleContent.replace(/\n/g, '')}</style>
35
- ${templateContent}`;
36
- }
37
- const source = `
38
- import { ${ngType}${ngType === 'Component' ? ', ChangeDetectionStrategy' : ''} } from '@angular/core';
39
-
40
- @${ngType}({
41
- standalone: true,
42
- selector: '${componentFileName},${className},${constantName}',
43
- ${ngType === 'Component'
44
- ? `changeDetection: ChangeDetectionStrategy.OnPush,
45
- template: \`${templateContent}\``
46
- : ''}
47
- })
48
- export default class ${entityName} {
49
- constructor() {}
50
- }`;
51
- // the `.ng` file
52
- if (scriptContent) {
53
- const project = new ts_morph_1.Project({ useInMemoryFileSystem: true });
54
- project.createSourceFile(filePath, scriptContent);
55
- project.createSourceFile(`${filePath}.virtual.ts`, source);
56
- return processNgScript(filePath, project, ngType, entityName, shouldFormat);
57
- }
58
- return source;
59
- }
60
- exports.compileNgFile = compileNgFile;
61
- function processNgScript(fileName, project, ngType, entityName, isProd) {
62
- const ngSourceFile = project.getSourceFile(fileName);
63
- const targetSourceFile = project.getSourceFile(`${fileName}.virtual.ts`);
64
- if (!ngSourceFile || !targetSourceFile) {
65
- throw new Error(`[Analog] Missing source files ${fileName}`);
66
- }
67
- const targetClass = targetSourceFile.getClass((classDeclaration) => classDeclaration.getName() === entityName);
68
- if (!targetClass) {
69
- throw new Error(`[Analog] Missing class ${fileName}`);
70
- }
71
- const targetMetadata = targetClass.getDecorator(ngType);
72
- if (!targetMetadata) {
73
- throw new Error(`[Analog] Missing metadata ${fileName}`);
74
- }
75
- const targetMetadataArguments = targetMetadata.getArguments()[0];
76
- if (!ts_morph_1.Node.isObjectLiteralExpression(targetMetadataArguments)) {
77
- throw new Error(`[Analog] invalid metadata arguments ${fileName}`);
78
- }
79
- const targetConstructor = targetClass.getConstructors()[0];
80
- const targetConstructorBody = targetConstructor.getBody();
81
- if (!ts_morph_1.Node.isBlock(targetConstructorBody)) {
82
- throw new Error(`[Analog] invalid constructor body ${fileName}`);
83
- }
84
- const declarations = [];
85
- const gettersSetters = [];
86
- const outputs = [];
87
- ngSourceFile.forEachChild((node) => {
88
- // for ImportDeclaration (e.g: import ... from ...)
89
- if (ts_morph_1.Node.isImportDeclaration(node)) {
90
- const moduleSpecifier = node.getModuleSpecifierValue();
91
- if (moduleSpecifier.endsWith('.ng')) {
92
- // other .ng files
93
- declarations.push(node.getDefaultImport()?.getText() || '');
94
- }
95
- // copy the import to the target `.ng.ts` file
96
- targetSourceFile.addImportDeclaration(node.getStructure());
97
- }
98
- const nodeFullText = node.getText();
99
- // for VariableStatement (e.g: const ... = ..., let ... = ...)
100
- if (ts_morph_1.Node.isVariableStatement(node)) {
101
- // NOTE: we do not support multiple declarations (i.e: const a, b, c)
102
- const [declaration, isLet] = [
103
- node.getDeclarations()[0],
104
- node.getDeclarationKind() === ts_morph_1.VariableDeclarationKind.Let,
105
- ];
106
- const [name, initializer] = [
107
- declaration.getName(),
108
- declaration.getInitializer(),
109
- ];
110
- // let variable; // no initializer
111
- if (!initializer && isLet) {
112
- // transfer the whole line `let variable;` over
113
- addVariableToConstructor(targetConstructor, '', name, 'let');
114
- // populate getters array for Object.defineProperties
115
- gettersSetters.push({ propertyName: name, isFunction: false });
116
- }
117
- else if (initializer) {
118
- // with initializer
119
- const nameNode = declaration.getNameNode();
120
- // if destructured.
121
- // TODO: we don't have a good abstraction for handling destructured variables yet.
122
- if (ts_morph_1.Node.isArrayBindingPattern(nameNode) ||
123
- ts_morph_1.Node.isObjectBindingPattern(nameNode)) {
124
- targetConstructor.addStatements(nodeFullText);
125
- const bindingElements = nameNode
126
- .getDescendantsOfKind(ts_morph_1.SyntaxKind.BindingElement)
127
- .map((bindingElement) => bindingElement.getName());
128
- if (isLet) {
129
- gettersSetters.push(...bindingElements.map((propertyName) => ({
130
- propertyName,
131
- isFunction: false,
132
- })));
133
- }
134
- else {
135
- for (const bindingElement of bindingElements) {
136
- targetClass.addProperty({
137
- name: bindingElement,
138
- kind: ts_morph_1.StructureKind.Property,
139
- scope: ts_morph_1.Scope.Protected,
140
- });
141
- targetConstructor.addStatements(`this.${bindingElement} = ${bindingElement};`);
142
- }
143
- }
144
- }
145
- else {
146
- const isFunctionInitializer = isFunction(initializer);
147
- if (!isLet) {
148
- const ioStructure = getIOStructure(initializer);
149
- if (ioStructure) {
150
- // outputs
151
- if (!!ioStructure.decorators) {
152
- // track output name
153
- outputs.push(name);
154
- }
155
- // track output name
156
- targetClass.addProperty({
157
- ...ioStructure,
158
- decorators: undefined,
159
- name,
160
- scope: ts_morph_1.Scope.Protected,
161
- });
162
- // assign constructor variable
163
- targetConstructor.addStatements(`const ${name} = this.${name}`);
164
- }
165
- else {
166
- /**
167
- * normal property
168
- * const variable = initializer;
169
- * We'll create a class property with the same variable name
170
- */
171
- addVariableToConstructor(targetConstructor, initializer.getText(), name, 'const', true);
172
- }
173
- }
174
- else {
175
- /**
176
- * let variable = initializer;
177
- * We will NOT create a class property with the name because we will add it to the getters
178
- */
179
- addVariableToConstructor(targetConstructor, initializer.getText(), name, 'let');
180
- gettersSetters.push({
181
- propertyName: name,
182
- isFunction: isFunctionInitializer,
183
- });
184
- }
185
- }
186
- }
187
- }
188
- // function fnName() {}
189
- if (ts_morph_1.Node.isFunctionDeclaration(node)) {
190
- const functionName = node.getName();
191
- if (functionName) {
192
- targetConstructor.addStatements([
193
- // bring the function over
194
- nodeFullText,
195
- // assign class property
196
- `this.${functionName} = ${functionName}.bind(this);`,
197
- ]);
198
- }
199
- }
200
- if (ts_morph_1.Node.isExpressionStatement(node)) {
201
- const expression = node.getExpression();
202
- if (ts_morph_1.Node.isCallExpression(expression)) {
203
- // hooks, effects, basically Function calls
204
- const functionName = expression.getExpression().getText();
205
- if (functionName === 'defineMetadata') {
206
- const metadata = expression.getArguments()[0];
207
- processMetadata(metadata, targetMetadataArguments, targetClass);
208
- }
209
- else if (functionName === ON_INIT || functionName === ON_DESTROY) {
210
- const initFunction = expression.getArguments()[0];
211
- if (ts_morph_1.Node.isArrowFunction(initFunction)) {
212
- // add the function to constructor
213
- targetConstructor.addStatements(`this.${functionName} = ${initFunction.getText()}`);
214
- // add life-cycle method to class
215
- targetClass.addMethod({
216
- name: HOOKS_MAP[functionName],
217
- statements: `this.${functionName}();`,
218
- });
219
- }
220
- }
221
- else {
222
- // just add the entire node to the constructor. i.e: effect()
223
- targetConstructor.addStatements(node.getText());
224
- }
225
- }
226
- }
227
- });
228
- if (ngType === 'Component' && declarations.length) {
229
- const importsMetadata = targetMetadataArguments.getProperty('imports');
230
- const declarationSymbols = declarations.filter(Boolean).join(', ');
231
- if (importsMetadata && ts_morph_1.Node.isPropertyAssignment(importsMetadata)) {
232
- const importsInitializer = importsMetadata.getInitializer();
233
- if (ts_morph_1.Node.isArrayLiteralExpression(importsInitializer)) {
234
- importsInitializer.addElement(declarationSymbols);
235
- }
236
- }
237
- else {
238
- targetMetadataArguments.addPropertyAssignment({
239
- name: 'imports',
240
- initializer: `[${declarationSymbols}]`,
241
- });
242
- }
243
- }
244
- if (outputs.length > 0) {
245
- targetMetadataArguments.addPropertyAssignment({
246
- name: 'outputs',
247
- initializer: `[${outputs.map((output) => `'${output}'`).join(',')}]`,
248
- });
249
- }
250
- if (gettersSetters.length > 0) {
251
- targetConstructor.addStatements(`
252
- Object.defineProperties(this, {
253
- ${gettersSetters
254
- .map(({ isFunction, propertyName }) => `${propertyName}:{get(){return ${!isFunction ? `${propertyName}` : `${propertyName}.bind(this)`};},set(v){${propertyName}=v;}},`)
255
- .join('\n')}
256
- });`);
257
- }
258
- if (!isProd) {
259
- // PROD probably does not need this
260
- targetSourceFile.formatText({ ensureNewLineAtEndOfFile: true });
261
- }
262
- return targetSourceFile.getText();
263
- }
264
- function processMetadata(metadataObject, targetMetadataArguments, targetClass) {
265
- metadataObject.getPropertiesWithComments().forEach((property) => {
266
- if (ts_morph_1.Node.isPropertyAssignment(property)) {
267
- const propertyName = property.getName();
268
- const propertyInitializer = property.getInitializer();
269
- if (propertyInitializer) {
270
- if (propertyName === 'selector') {
271
- // remove the existing selector
272
- targetMetadataArguments.getProperty('selector')?.remove();
273
- // add the new selector
274
- targetMetadataArguments.addPropertyAssignment({
275
- name: 'selector',
276
- initializer: propertyInitializer.getText(),
277
- });
278
- }
279
- else if (propertyName === 'exposes') {
280
- // for exposes we're going to add the property to the class so they are accessible on the template
281
- // parse the initializer to get the item in the exposes array
282
- const exposes = propertyInitializer
283
- .getText()
284
- .replace(/[[\]]/g, '')
285
- .split(',')
286
- .map((item) => ({
287
- name: item.trim(),
288
- initializer: item.trim(),
289
- scope: ts_morph_1.Scope.Protected,
290
- }));
291
- targetClass.addProperties(exposes);
292
- }
293
- else {
294
- targetMetadataArguments.addPropertyAssignment({
295
- name: propertyName,
296
- initializer: propertyInitializer.getText(),
297
- });
298
- }
299
- }
300
- }
301
- });
302
- }
303
- /**
304
- * const variable = initializer;
305
- * |
306
- * v
307
- * constructor() {
308
- * const variable = (this.variable = initializer);
309
- * }
310
- *
311
- */
312
- function addVariableToConstructor(targetConstructor, initializerText, variableName, kind, withClassProperty = false) {
313
- let statement = `${kind} ${variableName}`;
314
- if (initializerText) {
315
- statement += `= ${initializerText}`;
316
- if (withClassProperty) {
317
- statement = `${kind} ${variableName} = (this.${variableName} = ${initializerText})`;
318
- }
319
- }
320
- targetConstructor.addStatements((statement += ';'));
321
- }
322
- function isFunction(initializer) {
323
- return (ts_morph_1.Node.isArrowFunction(initializer) || ts_morph_1.Node.isFunctionDeclaration(initializer));
324
- }
325
- function getIOStructure(initializer) {
326
- const callableExpression = (ts_morph_1.Node.isCallExpression(initializer) || ts_morph_1.Node.isNewExpression(initializer)) &&
327
- initializer;
328
- if (!callableExpression)
329
- return null;
330
- const [expression, initializerText] = [
331
- callableExpression.getExpression(),
332
- callableExpression.getText(),
333
- ];
334
- if (initializerText.includes('new EventEmitter')) {
335
- return {
336
- initializer: initializerText,
337
- decorators: [{ name: 'Output', arguments: [] }],
338
- };
339
- }
340
- if ((ts_morph_1.Node.isPropertyAccessExpression(expression) &&
341
- expression.getText() === 'input.required') ||
342
- ts_morph_1.Node.isIdentifier(expression) ||
343
- expression.getText() === 'input') {
344
- return { initializer: initializer.getText() };
345
- }
346
- return null;
347
- }
348
- //# sourceMappingURL=ng.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ng.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-angular/src/lib/authoring/ng.ts"],"names":[],"mappings":"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"}