@analogjs/vite-plugin-angular 2.7.0-beta.7 → 2.7.0-beta.9
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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@analogjs/vite-plugin-angular",
|
|
3
|
-
"version": "2.7.0-beta.
|
|
3
|
+
"version": "2.7.0-beta.9",
|
|
4
4
|
"description": "Vite Plugin for Angular",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -56,8 +56,7 @@
|
|
|
56
56
|
"magic-string": "^0.30.21",
|
|
57
57
|
"obug": "^2.1.1",
|
|
58
58
|
"oxc-parser": "^0.121.0",
|
|
59
|
-
"tinyglobby": "^0.2.14"
|
|
60
|
-
"ts-morph": "^21.0.0"
|
|
59
|
+
"tinyglobby": "^0.2.14"
|
|
61
60
|
},
|
|
62
61
|
"builders": "./src/lib/tools/builders.json",
|
|
63
62
|
"ng-update": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { dirname, resolve } from 'node:path';
|
|
2
|
-
import {
|
|
2
|
+
import { parseSync } from 'oxc-parser';
|
|
3
3
|
import { normalizePath } from 'vite';
|
|
4
4
|
export class StyleUrlsResolver {
|
|
5
5
|
// These resolvers may be called multiple times during the same
|
|
@@ -19,40 +19,84 @@ export class StyleUrlsResolver {
|
|
|
19
19
|
return styleUrls;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
// Shared
|
|
22
|
+
// Shared memo so template and style extraction for the same code reuse a
|
|
23
23
|
// single parse. `resolve()` is synchronous, so the last-parse memo cannot be
|
|
24
24
|
// interleaved by another file's code.
|
|
25
|
-
const project = new Project({ useInMemoryFileSystem: true });
|
|
26
25
|
let lastParsedCode;
|
|
27
|
-
let
|
|
28
|
-
function
|
|
26
|
+
let lastParsedUrls = { templateUrls: [], styleUrls: [] };
|
|
27
|
+
function getResourceUrls(code) {
|
|
29
28
|
if (code === lastParsedCode) {
|
|
30
|
-
return
|
|
29
|
+
return lastParsedUrls;
|
|
31
30
|
}
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
const urls = { templateUrls: [], styleUrls: [] };
|
|
32
|
+
// A fixed TypeScript filename keeps decorator parsing independent of the
|
|
33
|
+
// module id, which may carry Vite query suffixes.
|
|
34
|
+
const { program } = parseSync('cmp.ts', code);
|
|
35
|
+
visit(program, urls);
|
|
35
36
|
lastParsedCode = code;
|
|
36
|
-
|
|
37
|
-
return
|
|
37
|
+
lastParsedUrls = urls;
|
|
38
|
+
return urls;
|
|
38
39
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
/** Value of a string literal or a template literal without interpolations. */
|
|
41
|
+
function getStringValue(node) {
|
|
42
|
+
if (node?.type === 'Literal' && typeof node.value === 'string') {
|
|
43
|
+
return node.value;
|
|
44
|
+
}
|
|
45
|
+
if (node?.type === 'TemplateLiteral' && node.quasis?.length === 1) {
|
|
46
|
+
return node.quasis[0].value.cooked ?? node.quasis[0].value.raw;
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
function collectFromObjectExpression(node, urls) {
|
|
51
|
+
for (const property of node.properties ?? []) {
|
|
52
|
+
if (property.type !== 'Property')
|
|
53
|
+
continue;
|
|
54
|
+
const key = property.key?.name ?? property.key?.value;
|
|
55
|
+
const value = property.value;
|
|
56
|
+
if (key === 'templateUrl') {
|
|
57
|
+
const url = getStringValue(value);
|
|
58
|
+
if (url !== undefined)
|
|
59
|
+
urls.templateUrls.push(url);
|
|
60
|
+
}
|
|
61
|
+
else if (key === 'styleUrl') {
|
|
62
|
+
const url = getStringValue(value);
|
|
63
|
+
if (url !== undefined)
|
|
64
|
+
urls.styleUrls.push(url);
|
|
65
|
+
}
|
|
66
|
+
else if (key === 'styleUrls' && value?.type === 'ArrayExpression') {
|
|
67
|
+
for (const element of value.elements) {
|
|
68
|
+
const url = getStringValue(element);
|
|
69
|
+
if (url !== undefined)
|
|
70
|
+
urls.styleUrls.push(url);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// Object literals holding these properties are not always decorator arguments
|
|
76
|
+
// on a top-level class, so every object expression in the file is inspected.
|
|
77
|
+
function visit(node, urls) {
|
|
78
|
+
// Array holes (`[a, , b]`) are `null` entries in the AST.
|
|
79
|
+
if (!node)
|
|
80
|
+
return;
|
|
81
|
+
if (Array.isArray(node)) {
|
|
82
|
+
for (const element of node)
|
|
83
|
+
visit(element, urls);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (node.type === 'ObjectExpression') {
|
|
87
|
+
collectFromObjectExpression(node, urls);
|
|
88
|
+
}
|
|
89
|
+
for (const key in node) {
|
|
90
|
+
const child = node[key];
|
|
91
|
+
if (child && typeof child === 'object')
|
|
92
|
+
visit(child, urls);
|
|
93
|
+
}
|
|
44
94
|
}
|
|
45
95
|
export function getStyleUrls(code) {
|
|
46
|
-
|
|
47
|
-
const styleUrl = getTextByProperty('styleUrl', properties);
|
|
48
|
-
const styleUrls = properties
|
|
49
|
-
.filter((property) => property.getName() === 'styleUrls')
|
|
50
|
-
.map((property) => property.getInitializer())
|
|
51
|
-
.flatMap((array) => array.getElements().map((el) => el.getText().replace(/['"`]/g, '')));
|
|
52
|
-
return [...styleUrls, ...styleUrl];
|
|
96
|
+
return getResourceUrls(code).styleUrls;
|
|
53
97
|
}
|
|
54
98
|
export function getTemplateUrls(code) {
|
|
55
|
-
return
|
|
99
|
+
return getResourceUrls(code).templateUrls;
|
|
56
100
|
}
|
|
57
101
|
export class TemplateUrlsResolver {
|
|
58
102
|
templateUrlsCache = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-resolvers.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/component-resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"component-resolvers.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/component-resolvers.ts"],"names":[],"mappings":"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"}
|