@absolutejs/absolute 0.19.0-beta.924 → 0.19.0-beta.926
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/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/build.js +238 -21
- package/dist/build.js.map +5 -5
- package/dist/index.js +238 -21
- package/dist/index.js.map +5 -5
- package/dist/src/dev/angular/resolveOwningComponents.d.ts +4 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var __require = import.meta.require;
|
|
3
3
|
|
|
4
|
-
// .angular-partial-tmp-
|
|
4
|
+
// .angular-partial-tmp-qpVFiB/src/core/streamingSlotRegistrar.ts
|
|
5
5
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
6
6
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
7
7
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var __require = import.meta.require;
|
|
3
3
|
|
|
4
|
-
// .angular-partial-tmp-
|
|
4
|
+
// .angular-partial-tmp-qpVFiB/src/core/streamingSlotRegistrar.ts
|
|
5
5
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
6
6
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
7
7
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -48,7 +48,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
|
|
|
48
48
|
getWarningController()?.maybeWarn(primitiveName);
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
-
// .angular-partial-tmp-
|
|
51
|
+
// .angular-partial-tmp-qpVFiB/src/core/streamingSlotRegistry.ts
|
|
52
52
|
var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
|
|
53
53
|
var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
|
|
54
54
|
var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
|
package/dist/build.js
CHANGED
|
@@ -17692,6 +17692,7 @@ var init_rewriteImports = __esm(() => {
|
|
|
17692
17692
|
var exports_resolveOwningComponents = {};
|
|
17693
17693
|
__export(exports_resolveOwningComponents, {
|
|
17694
17694
|
resolveOwningComponents: () => resolveOwningComponents,
|
|
17695
|
+
resolveDescendantsOfParent: () => resolveDescendantsOfParent,
|
|
17695
17696
|
invalidateResourceIndex: () => invalidateResourceIndex
|
|
17696
17697
|
});
|
|
17697
17698
|
import { readdirSync as readdirSync2, readFileSync as readFileSync18, statSync as statSync3 } from "fs";
|
|
@@ -17772,11 +17773,23 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
|
|
|
17772
17773
|
const kind = ENTITY_DECORATORS[fn2.text];
|
|
17773
17774
|
if (!kind)
|
|
17774
17775
|
continue;
|
|
17776
|
+
let extendsName = null;
|
|
17777
|
+
for (const heritage of node.heritageClauses ?? []) {
|
|
17778
|
+
if (heritage.token !== ts3.SyntaxKind.ExtendsKeyword) {
|
|
17779
|
+
continue;
|
|
17780
|
+
}
|
|
17781
|
+
const first = heritage.types[0];
|
|
17782
|
+
if (first && ts3.isIdentifier(first.expression)) {
|
|
17783
|
+
extendsName = first.expression.text;
|
|
17784
|
+
}
|
|
17785
|
+
break;
|
|
17786
|
+
}
|
|
17775
17787
|
const entry = {
|
|
17776
17788
|
className: node.name.text,
|
|
17777
17789
|
kind,
|
|
17778
17790
|
styleUrls: [],
|
|
17779
|
-
templateUrls: []
|
|
17791
|
+
templateUrls: [],
|
|
17792
|
+
extendsName
|
|
17780
17793
|
};
|
|
17781
17794
|
const arg = expr.arguments[0];
|
|
17782
17795
|
if (arg && ts3.isObjectLiteralExpression(arg) && kind === "component") {
|
|
@@ -17829,36 +17842,117 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
|
|
|
17829
17842
|
out.push(...owners);
|
|
17830
17843
|
}
|
|
17831
17844
|
return out;
|
|
17832
|
-
},
|
|
17833
|
-
|
|
17845
|
+
}, indexByRoot, resolveParentClassFile = (parentName, childFilePath, angularRoot) => {
|
|
17846
|
+
let source;
|
|
17847
|
+
try {
|
|
17848
|
+
source = readFileSync18(childFilePath, "utf8");
|
|
17849
|
+
} catch {
|
|
17850
|
+
return null;
|
|
17851
|
+
}
|
|
17852
|
+
const sf = ts3.createSourceFile(childFilePath, source, ts3.ScriptTarget.ES2022, true, ts3.ScriptKind.TS);
|
|
17853
|
+
const childDir = dirname17(childFilePath);
|
|
17854
|
+
for (const stmt of sf.statements) {
|
|
17855
|
+
if (!ts3.isImportDeclaration(stmt))
|
|
17856
|
+
continue;
|
|
17857
|
+
if (!ts3.isStringLiteral(stmt.moduleSpecifier))
|
|
17858
|
+
continue;
|
|
17859
|
+
const clause = stmt.importClause;
|
|
17860
|
+
if (!clause || clause.isTypeOnly)
|
|
17861
|
+
continue;
|
|
17862
|
+
let matchesName = false;
|
|
17863
|
+
if (clause.name && clause.name.text === parentName)
|
|
17864
|
+
matchesName = true;
|
|
17865
|
+
if (!matchesName && clause.namedBindings && ts3.isNamedImports(clause.namedBindings)) {
|
|
17866
|
+
for (const el of clause.namedBindings.elements) {
|
|
17867
|
+
if (el.isTypeOnly)
|
|
17868
|
+
continue;
|
|
17869
|
+
if (el.name.text === parentName) {
|
|
17870
|
+
matchesName = true;
|
|
17871
|
+
break;
|
|
17872
|
+
}
|
|
17873
|
+
}
|
|
17874
|
+
}
|
|
17875
|
+
if (!matchesName)
|
|
17876
|
+
continue;
|
|
17877
|
+
const spec = stmt.moduleSpecifier.text;
|
|
17878
|
+
if (!spec.startsWith(".") && !spec.startsWith("/")) {
|
|
17879
|
+
return null;
|
|
17880
|
+
}
|
|
17881
|
+
const base = resolve31(childDir, spec);
|
|
17882
|
+
const candidates = [
|
|
17883
|
+
`${base}.ts`,
|
|
17884
|
+
`${base}.tsx`,
|
|
17885
|
+
`${base}/index.ts`,
|
|
17886
|
+
`${base}/index.tsx`
|
|
17887
|
+
];
|
|
17888
|
+
const angularRootNorm = safeNormalize(angularRoot);
|
|
17889
|
+
for (const candidate of candidates) {
|
|
17890
|
+
try {
|
|
17891
|
+
if (statSync3(candidate).isFile()) {
|
|
17892
|
+
const norm = safeNormalize(candidate);
|
|
17893
|
+
if (!norm.startsWith(angularRootNorm))
|
|
17894
|
+
return null;
|
|
17895
|
+
return norm;
|
|
17896
|
+
}
|
|
17897
|
+
} catch {}
|
|
17898
|
+
}
|
|
17899
|
+
return null;
|
|
17900
|
+
}
|
|
17901
|
+
return null;
|
|
17902
|
+
}, getOrBuildIndexes = (userAngularRoot) => {
|
|
17903
|
+
const cached = indexByRoot.get(userAngularRoot);
|
|
17834
17904
|
if (cached)
|
|
17835
17905
|
return cached;
|
|
17836
|
-
const
|
|
17906
|
+
const resource = new Map;
|
|
17907
|
+
const parentFile = new Map;
|
|
17837
17908
|
for (const tsPath of walkAngularSourceFiles(userAngularRoot)) {
|
|
17838
17909
|
const classes = parseDecoratedClasses(tsPath);
|
|
17839
17910
|
const componentDir = dirname17(tsPath);
|
|
17840
17911
|
for (const cls of classes) {
|
|
17841
|
-
|
|
17842
|
-
continue;
|
|
17843
|
-
const owner = {
|
|
17912
|
+
const entity = {
|
|
17844
17913
|
className: cls.className,
|
|
17845
17914
|
componentFilePath: tsPath,
|
|
17846
|
-
kind:
|
|
17915
|
+
kind: cls.kind
|
|
17847
17916
|
};
|
|
17848
|
-
|
|
17849
|
-
const
|
|
17850
|
-
|
|
17851
|
-
|
|
17852
|
-
existing
|
|
17853
|
-
|
|
17854
|
-
|
|
17917
|
+
if (cls.kind === "component") {
|
|
17918
|
+
for (const url of [...cls.templateUrls, ...cls.styleUrls]) {
|
|
17919
|
+
const abs = safeNormalize(resolve31(componentDir, url));
|
|
17920
|
+
const existing = resource.get(abs);
|
|
17921
|
+
if (existing)
|
|
17922
|
+
existing.push(entity);
|
|
17923
|
+
else
|
|
17924
|
+
resource.set(abs, [entity]);
|
|
17925
|
+
}
|
|
17926
|
+
}
|
|
17927
|
+
if (cls.extendsName !== null) {
|
|
17928
|
+
const parentPath = resolveParentClassFile(cls.extendsName, tsPath, userAngularRoot);
|
|
17929
|
+
if (parentPath !== null && parentPath !== safeNormalize(tsPath)) {
|
|
17930
|
+
const existing = parentFile.get(parentPath);
|
|
17931
|
+
if (existing)
|
|
17932
|
+
existing.push(entity);
|
|
17933
|
+
else
|
|
17934
|
+
parentFile.set(parentPath, [entity]);
|
|
17935
|
+
}
|
|
17855
17936
|
}
|
|
17856
17937
|
}
|
|
17857
17938
|
}
|
|
17858
|
-
|
|
17859
|
-
|
|
17939
|
+
const bundle = { parentFile, resource };
|
|
17940
|
+
indexByRoot.set(userAngularRoot, bundle);
|
|
17941
|
+
return bundle;
|
|
17942
|
+
}, getOrBuildResourceIndex = (userAngularRoot) => getOrBuildIndexes(userAngularRoot).resource, resolveDescendantsOfParent = (params) => {
|
|
17943
|
+
const norm = safeNormalize(params.changedFilePath);
|
|
17944
|
+
let rootStat;
|
|
17945
|
+
try {
|
|
17946
|
+
rootStat = statSync3(params.userAngularRoot);
|
|
17947
|
+
} catch {
|
|
17948
|
+
return [];
|
|
17949
|
+
}
|
|
17950
|
+
if (!rootStat.isDirectory())
|
|
17951
|
+
return [];
|
|
17952
|
+
const bundle = getOrBuildIndexes(params.userAngularRoot);
|
|
17953
|
+
return bundle.parentFile.get(norm) ?? [];
|
|
17860
17954
|
}, invalidateResourceIndex = () => {
|
|
17861
|
-
|
|
17955
|
+
indexByRoot.clear();
|
|
17862
17956
|
};
|
|
17863
17957
|
var init_resolveOwningComponents = __esm(() => {
|
|
17864
17958
|
ENTITY_DECORATORS = {
|
|
@@ -17867,7 +17961,7 @@ var init_resolveOwningComponents = __esm(() => {
|
|
|
17867
17961
|
Pipe: "pipe",
|
|
17868
17962
|
Injectable: "service"
|
|
17869
17963
|
};
|
|
17870
|
-
|
|
17964
|
+
indexByRoot = new Map;
|
|
17871
17965
|
});
|
|
17872
17966
|
|
|
17873
17967
|
// src/dev/angular/hmrImportGenerator.ts
|
|
@@ -18605,6 +18699,74 @@ var fail = (reason, detail, location) => ({
|
|
|
18605
18699
|
fingerprintCache.set(id, fp);
|
|
18606
18700
|
}, invalidateFingerprintCache = () => {
|
|
18607
18701
|
fingerprintCache.clear();
|
|
18702
|
+
entityFingerprintCache.clear();
|
|
18703
|
+
}, entityFingerprintCache, entityFingerprintsEqual = (a, b2) => {
|
|
18704
|
+
if (a.className !== b2.className)
|
|
18705
|
+
return false;
|
|
18706
|
+
if (a.decoratorArgsText !== b2.decoratorArgsText)
|
|
18707
|
+
return false;
|
|
18708
|
+
if (!arraysEqual(a.ctorParamTypes, b2.ctorParamTypes))
|
|
18709
|
+
return false;
|
|
18710
|
+
if (!arraysEqual(a.topLevelImports, b2.topLevelImports))
|
|
18711
|
+
return false;
|
|
18712
|
+
if (!arraysEqual(a.memberDecoratorSig, b2.memberDecoratorSig))
|
|
18713
|
+
return false;
|
|
18714
|
+
if (!arraysEqual(a.arrowFieldSig, b2.arrowFieldSig))
|
|
18715
|
+
return false;
|
|
18716
|
+
if (!arraysEqual(a.propertyFieldNames, b2.propertyFieldNames))
|
|
18717
|
+
return false;
|
|
18718
|
+
return true;
|
|
18719
|
+
}, ENTITY_DECORATOR_NAMES, findEntityDecorator = (cls) => {
|
|
18720
|
+
for (const dec of ts7.getDecorators(cls) ?? []) {
|
|
18721
|
+
const expr = dec.expression;
|
|
18722
|
+
if (!ts7.isCallExpression(expr))
|
|
18723
|
+
continue;
|
|
18724
|
+
if (!ts7.isIdentifier(expr.expression))
|
|
18725
|
+
continue;
|
|
18726
|
+
if (ENTITY_DECORATOR_NAMES.has(expr.expression.text))
|
|
18727
|
+
return dec;
|
|
18728
|
+
}
|
|
18729
|
+
return null;
|
|
18730
|
+
}, extractEntityFingerprint = (cls, className, sourceFile) => {
|
|
18731
|
+
const decorator = findEntityDecorator(cls);
|
|
18732
|
+
let decoratorArgsText = "";
|
|
18733
|
+
if (decorator !== null) {
|
|
18734
|
+
const expr = decorator.expression;
|
|
18735
|
+
const arg = expr.arguments[0];
|
|
18736
|
+
if (arg !== undefined) {
|
|
18737
|
+
decoratorArgsText = arg.getText().replace(/\s+/g, " ").trim();
|
|
18738
|
+
}
|
|
18739
|
+
}
|
|
18740
|
+
const ctorParamTypes = [];
|
|
18741
|
+
for (const member of cls.members) {
|
|
18742
|
+
if (!ts7.isConstructorDeclaration(member))
|
|
18743
|
+
continue;
|
|
18744
|
+
for (const param of member.parameters) {
|
|
18745
|
+
const typeText = param.type ? param.type.getText() : "";
|
|
18746
|
+
const decorators = ts7.getDecorators(param) ?? [];
|
|
18747
|
+
const decoratorSig = decorators.length === 0 ? "" : decorators.map((d2) => {
|
|
18748
|
+
const e = d2.expression;
|
|
18749
|
+
if (ts7.isCallExpression(e) && ts7.isIdentifier(e.expression)) {
|
|
18750
|
+
const args = e.arguments.map((a) => a.getText()).join(",");
|
|
18751
|
+
return `@${e.expression.text}(${args})`;
|
|
18752
|
+
}
|
|
18753
|
+
if (ts7.isIdentifier(e))
|
|
18754
|
+
return `@${e.text}`;
|
|
18755
|
+
return "@<unknown>";
|
|
18756
|
+
}).join("");
|
|
18757
|
+
ctorParamTypes.push(`${typeText}${decoratorSig}`);
|
|
18758
|
+
}
|
|
18759
|
+
break;
|
|
18760
|
+
}
|
|
18761
|
+
return {
|
|
18762
|
+
className,
|
|
18763
|
+
decoratorArgsText,
|
|
18764
|
+
ctorParamTypes,
|
|
18765
|
+
topLevelImports: extractTopLevelImports(sourceFile),
|
|
18766
|
+
memberDecoratorSig: extractMemberDecoratorSig(cls),
|
|
18767
|
+
arrowFieldSig: extractArrowFieldSig(cls),
|
|
18768
|
+
propertyFieldNames: extractPropertyFieldNames(cls)
|
|
18769
|
+
};
|
|
18608
18770
|
}, findClassDeclaration = (sourceFile, className) => {
|
|
18609
18771
|
let found = null;
|
|
18610
18772
|
const walk = (node) => {
|
|
@@ -18742,6 +18904,33 @@ var fail = (reason, detail, location) => ({
|
|
|
18742
18904
|
}
|
|
18743
18905
|
}
|
|
18744
18906
|
return false;
|
|
18907
|
+
}, CONTROL_CREATE_METHOD_NAME = "\u0275ngControlCreate", extractControlCreate = (cls) => {
|
|
18908
|
+
for (const member of cls.members) {
|
|
18909
|
+
if (!ts7.isMethodDeclaration(member))
|
|
18910
|
+
continue;
|
|
18911
|
+
if (member.modifiers?.some((m) => m.kind === ts7.SyntaxKind.StaticKeyword))
|
|
18912
|
+
continue;
|
|
18913
|
+
const name = member.name;
|
|
18914
|
+
if (name === undefined)
|
|
18915
|
+
continue;
|
|
18916
|
+
const nameText = ts7.isIdentifier(name) ? name.text : name.getText();
|
|
18917
|
+
if (nameText !== CONTROL_CREATE_METHOD_NAME)
|
|
18918
|
+
continue;
|
|
18919
|
+
const firstParam = member.parameters[0];
|
|
18920
|
+
if (firstParam === undefined || firstParam.type === undefined || !ts7.isTypeReferenceNode(firstParam.type)) {
|
|
18921
|
+
return { passThroughInput: null };
|
|
18922
|
+
}
|
|
18923
|
+
const typeArgs = firstParam.type.typeArguments;
|
|
18924
|
+
if (typeArgs === undefined || typeArgs.length !== 1) {
|
|
18925
|
+
return { passThroughInput: null };
|
|
18926
|
+
}
|
|
18927
|
+
const arg = typeArgs[0];
|
|
18928
|
+
if (arg === undefined || !ts7.isLiteralTypeNode(arg) || !ts7.isStringLiteral(arg.literal)) {
|
|
18929
|
+
return { passThroughInput: null };
|
|
18930
|
+
}
|
|
18931
|
+
return { passThroughInput: arg.literal.text };
|
|
18932
|
+
}
|
|
18933
|
+
return null;
|
|
18745
18934
|
}, resolveEnumPropertyAccess = (expr, enumName, values) => {
|
|
18746
18935
|
if (!ts7.isPropertyAccessExpression(expr))
|
|
18747
18936
|
return null;
|
|
@@ -19921,10 +20110,17 @@ ${block}
|
|
|
19921
20110
|
}
|
|
19922
20111
|
const kind = params.kind ?? "component";
|
|
19923
20112
|
if (kind !== "component") {
|
|
20113
|
+
const entityId = encodeURIComponent(`${relative13(projectRoot, componentFilePath).replace(/\\/g, "/")}@${className}`);
|
|
20114
|
+
const currentEntityFingerprint = extractEntityFingerprint(classNode, className, sourceFile);
|
|
20115
|
+
const cachedEntityFingerprint = entityFingerprintCache.get(entityId);
|
|
20116
|
+
if (cachedEntityFingerprint !== undefined && !entityFingerprintsEqual(cachedEntityFingerprint, currentEntityFingerprint)) {
|
|
20117
|
+
return fail("structural-change", `${kind} ${className} decorator-args or structural surface changed`);
|
|
20118
|
+
}
|
|
19924
20119
|
const moduleText = buildSimpleEntityModule(classNode, className);
|
|
19925
20120
|
if (!moduleText) {
|
|
19926
20121
|
return fail("unexpected-error", `buildSimpleEntityModule returned null for ${className}`);
|
|
19927
20122
|
}
|
|
20123
|
+
entityFingerprintCache.set(entityId, currentEntityFingerprint);
|
|
19928
20124
|
return {
|
|
19929
20125
|
componentSource: sourceFile,
|
|
19930
20126
|
fingerprintChanged: false,
|
|
@@ -20035,7 +20231,7 @@ ${block}
|
|
|
20035
20231
|
inputs,
|
|
20036
20232
|
outputs,
|
|
20037
20233
|
usesInheritance: false,
|
|
20038
|
-
controlCreate:
|
|
20234
|
+
controlCreate: extractControlCreate(classNode),
|
|
20039
20235
|
exportAs: advancedMetadata.exportAs,
|
|
20040
20236
|
providers: advancedMetadata.providers,
|
|
20041
20237
|
isStandalone: decoratorMeta.standalone,
|
|
@@ -20204,6 +20400,12 @@ var init_fastHmrCompiler = __esm(() => {
|
|
|
20204
20400
|
init_typescript_translator();
|
|
20205
20401
|
fingerprintCache = new Map;
|
|
20206
20402
|
pendingModuleCache = new Map;
|
|
20403
|
+
entityFingerprintCache = new Map;
|
|
20404
|
+
ENTITY_DECORATOR_NAMES = new Set([
|
|
20405
|
+
"Pipe",
|
|
20406
|
+
"Directive",
|
|
20407
|
+
"Injectable"
|
|
20408
|
+
]);
|
|
20207
20409
|
VIEW_ENCAPSULATION_VALUES = {
|
|
20208
20410
|
Emulated: 0,
|
|
20209
20411
|
ExperimentalIsolatedShadowDom: 4,
|
|
@@ -20902,6 +21104,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
20902
21104
|
let anyFingerprintChanged = false;
|
|
20903
21105
|
let totalResolveMs = 0;
|
|
20904
21106
|
let totalCompileMs = 0;
|
|
21107
|
+
const { resolveDescendantsOfParent: resolveDescendantsOfParent2 } = await Promise.resolve().then(() => (init_resolveOwningComponents(), exports_resolveOwningComponents));
|
|
20905
21108
|
for (const editedFile of userEdited) {
|
|
20906
21109
|
const resolveStart = performance.now();
|
|
20907
21110
|
const owners = resolveOwningComponents2({
|
|
@@ -20909,6 +21112,20 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
20909
21112
|
userAngularRoot: angularDir
|
|
20910
21113
|
});
|
|
20911
21114
|
totalResolveMs += performance.now() - resolveStart;
|
|
21115
|
+
if (owners.length === 0) {
|
|
21116
|
+
const descendants = resolveDescendantsOfParent2({
|
|
21117
|
+
changedFilePath: editedFile,
|
|
21118
|
+
userAngularRoot: angularDir
|
|
21119
|
+
});
|
|
21120
|
+
if (descendants.length > 0) {
|
|
21121
|
+
const names = descendants.map((d2) => d2.className).slice(0, 3).join(", ");
|
|
21122
|
+
return {
|
|
21123
|
+
kind: "rebootstrap",
|
|
21124
|
+
reason: `parent class file edited; descendant Angular entities (${names}${descendants.length > 3 ? ", ..." : ""}) need to pick up new prototype`,
|
|
21125
|
+
tier: 1
|
|
21126
|
+
};
|
|
21127
|
+
}
|
|
21128
|
+
}
|
|
20912
21129
|
if (owners.length === 0 && (editedFile.endsWith(".component.ts") || editedFile.endsWith(".directive.ts") || editedFile.endsWith(".pipe.ts") || editedFile.endsWith(".service.ts"))) {
|
|
20913
21130
|
return {
|
|
20914
21131
|
kind: "rebootstrap",
|
|
@@ -22936,5 +23153,5 @@ export {
|
|
|
22936
23153
|
build
|
|
22937
23154
|
};
|
|
22938
23155
|
|
|
22939
|
-
//# debugId=
|
|
23156
|
+
//# debugId=01705AE33247F9FA64756E2164756E21
|
|
22940
23157
|
//# sourceMappingURL=build.js.map
|