@analogjs/astro-angular 0.2.0-beta.11 → 0.2.0-beta.12
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/migrations/migration.json +4 -0
- package/package.json +2 -2
- package/src/client.js +29 -0
- package/src/index.js +68 -0
- package/src/server.js +65 -0
- package/src/test-setup.js +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@analogjs/astro-angular",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.12",
|
|
4
4
|
"description": "Use Angular components within Astro",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Brandon Roberts <robertsbt@gmail.com>",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"url": "https://github.com/analogjs/analog.git"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@analogjs/vite-plugin-angular": "^0.2.0-beta.
|
|
30
|
+
"@analogjs/vite-plugin-angular": "^0.2.0-beta.12"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"@angular-devkit/build-angular": "^16.0.0",
|
package/src/client.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import 'zone.js/dist/zone.js';
|
|
2
|
+
import { reflectComponentType, } from '@angular/core';
|
|
3
|
+
import { NgZone, createComponent } from '@angular/core';
|
|
4
|
+
import { createApplication } from '@angular/platform-browser';
|
|
5
|
+
export default (element) => {
|
|
6
|
+
return (Component, props, _childHTML) => {
|
|
7
|
+
createApplication({
|
|
8
|
+
providers: [...(Component.clientProviders || [])],
|
|
9
|
+
}).then((appRef) => {
|
|
10
|
+
const zone = appRef.injector.get(NgZone);
|
|
11
|
+
zone.run(() => {
|
|
12
|
+
const componentRef = createComponent(Component, {
|
|
13
|
+
environmentInjector: appRef.injector,
|
|
14
|
+
hostElement: element,
|
|
15
|
+
});
|
|
16
|
+
const mirror = reflectComponentType(Component);
|
|
17
|
+
if (props && mirror) {
|
|
18
|
+
for (const [key, value] of Object.entries(props)) {
|
|
19
|
+
if (mirror.inputs.some(({ templateName, propName }) => templateName === key || propName === key)) {
|
|
20
|
+
componentRef.setInput(key, value);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
appRef.attachView(componentRef.hostView);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYXN0cm8tYW5ndWxhci9zcmMvY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUdMLG9CQUFvQixHQUVyQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWtCLE1BQU0sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsZUFBZSxDQUFDLE9BQW9CLEVBQUUsRUFBRTtJQUN0QyxPQUFPLENBQ0wsU0FFQyxFQUNELEtBQStCLEVBQy9CLFVBQW9CLEVBQ3BCLEVBQUU7UUFDRixpQkFBaUIsQ0FBQztZQUNoQixTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNsRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBc0IsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNaLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxTQUFTLEVBQUU7b0JBQzlDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxRQUFRO29CQUNwQyxXQUFXLEVBQUUsT0FBTztpQkFDckIsQ0FBQyxDQUFDO2dCQUVILE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUU7b0JBQ25CLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUNoRCxJQUNFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNoQixDQUFDLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FDN0IsWUFBWSxLQUFLLEdBQUcsSUFBSSxRQUFRLEtBQUssR0FBRyxDQUMzQyxFQUNEOzRCQUNBLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO3lCQUNuQztxQkFDRjtpQkFDRjtnQkFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMzQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
package/src/index.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import viteAngular from '@analogjs/vite-plugin-angular';
|
|
2
|
+
import { enableProdMode } from '@angular/core';
|
|
3
|
+
function getRenderer() {
|
|
4
|
+
return {
|
|
5
|
+
name: '@analogjs/astro-angular',
|
|
6
|
+
clientEntrypoint: '@analogjs/astro-angular/client.js',
|
|
7
|
+
serverEntrypoint: '@analogjs/astro-angular/server.js',
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
function getViteConfiguration(vite) {
|
|
11
|
+
return {
|
|
12
|
+
optimizeDeps: {
|
|
13
|
+
include: [
|
|
14
|
+
'@angular/platform-browser',
|
|
15
|
+
'@angular/core',
|
|
16
|
+
'@analogjs/astro-angular/client.js',
|
|
17
|
+
],
|
|
18
|
+
exclude: [
|
|
19
|
+
'@angular/platform-server',
|
|
20
|
+
'@analogjs/astro-angular/server.js',
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
* Why I am casting viteAngular as any
|
|
26
|
+
*
|
|
27
|
+
* The vite angular plugins is shipped as commonjs, while this astro
|
|
28
|
+
* integration is shipped using ESM and if you call the default
|
|
29
|
+
* function, you get the following error: viteAngular is not a function.
|
|
30
|
+
* Attempt to use ESM for the angular vite plugin broke something, hence
|
|
31
|
+
* this workaround for now.
|
|
32
|
+
*
|
|
33
|
+
*/
|
|
34
|
+
plugins: [
|
|
35
|
+
viteAngular.default(vite),
|
|
36
|
+
{
|
|
37
|
+
name: '@analogjs/astro-angular-platform-server',
|
|
38
|
+
transform(code, id) {
|
|
39
|
+
if (id.includes('platform-server')) {
|
|
40
|
+
code = code.replace(/global\./g, 'globalThis.');
|
|
41
|
+
return {
|
|
42
|
+
code: code.replace('new xhr2.XMLHttpRequest', 'new (xhr2.default.XMLHttpRequest || xhr2.default)'),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
return;
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
ssr: {
|
|
50
|
+
noExternal: ['@angular/**', '@analogjs/**'],
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export default function (options) {
|
|
55
|
+
return {
|
|
56
|
+
name: '@analogjs/astro-angular',
|
|
57
|
+
hooks: {
|
|
58
|
+
'astro:config:setup': ({ addRenderer, updateConfig }) => {
|
|
59
|
+
addRenderer(getRenderer());
|
|
60
|
+
updateConfig({ vite: getViteConfiguration(options === null || options === void 0 ? void 0 : options.vite) });
|
|
61
|
+
},
|
|
62
|
+
'astro:build:setup': () => {
|
|
63
|
+
enableProdMode();
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9hc3Ryby1hbmd1bGFyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQThCLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8vQyxTQUFTLFdBQVc7SUFDbEIsT0FBTztRQUNMLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsZ0JBQWdCLEVBQUUsbUNBQW1DO1FBQ3JELGdCQUFnQixFQUFFLG1DQUFtQztLQUN0RCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsSUFBb0I7SUFDaEQsT0FBTztRQUNMLFlBQVksRUFBRTtZQUNaLE9BQU8sRUFBRTtnQkFDUCwyQkFBMkI7Z0JBQzNCLGVBQWU7Z0JBQ2YsbUNBQW1DO2FBQ3BDO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLDBCQUEwQjtnQkFDMUIsbUNBQW1DO2FBQ3BDO1NBQ0Y7UUFDRDs7Ozs7Ozs7OztXQVVHO1FBQ0gsT0FBTyxFQUFFO1lBQ04sV0FBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2xDO2dCQUNFLElBQUksRUFBRSx5Q0FBeUM7Z0JBQy9DLFNBQVMsQ0FBQyxJQUFZLEVBQUUsRUFBVTtvQkFDaEMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7d0JBQ2xDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQzt3QkFFaEQsT0FBTzs0QkFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FDaEIseUJBQXlCLEVBQ3pCLG1EQUFtRCxDQUNwRDt5QkFDRixDQUFDO3FCQUNIO29CQUVELE9BQU87Z0JBQ1QsQ0FBQzthQUNGO1NBQ0Y7UUFDRCxHQUFHLEVBQUU7WUFDSCxVQUFVLEVBQUUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDO1NBQzVDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsT0FBTyxXQUFXLE9BQXdCO0lBQy9DLE9BQU87UUFDTCxJQUFJLEVBQUUseUJBQXlCO1FBQy9CLEtBQUssRUFBRTtZQUNMLG9CQUFvQixFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtnQkFDdEQsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0JBQzNCLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzlELENBQUM7WUFDRCxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7Z0JBQ3hCLGNBQWMsRUFBRSxDQUFDO1lBQ25CLENBQUM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDIn0=
|
package/src/server.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import 'zone.js/bundles/zone-node.umd.js';
|
|
3
|
+
import { ApplicationRef, InjectionToken, reflectComponentType, } from '@angular/core';
|
|
4
|
+
import { BEFORE_APP_SERIALIZED, provideServerRendering, renderApplication, ɵSERVER_CONTEXT, } from '@angular/platform-server';
|
|
5
|
+
import { bootstrapApplication } from '@angular/platform-browser';
|
|
6
|
+
const ANALOG_ASTRO_STATIC_PROPS = new InjectionToken('@analogjs/astro-angular: Static Props w/ Mirror Provider', {
|
|
7
|
+
factory() {
|
|
8
|
+
return { props: {}, mirror: {} };
|
|
9
|
+
},
|
|
10
|
+
});
|
|
11
|
+
function check(Component, _props, _children) {
|
|
12
|
+
return !!reflectComponentType(Component);
|
|
13
|
+
}
|
|
14
|
+
// Run beforeAppInitialized hook to set Input on the ComponentRef
|
|
15
|
+
// before the platform renders to string
|
|
16
|
+
const STATIC_PROPS_HOOK_PROVIDER = {
|
|
17
|
+
provide: BEFORE_APP_SERIALIZED,
|
|
18
|
+
useFactory: (appRef, { props, mirror, }) => {
|
|
19
|
+
return () => {
|
|
20
|
+
const compRef = appRef.components[0];
|
|
21
|
+
if (compRef && props && mirror) {
|
|
22
|
+
for (const [key, value] of Object.entries(props)) {
|
|
23
|
+
if (
|
|
24
|
+
// we double-check inputs on ComponentMirror
|
|
25
|
+
// because Astro might add additional props
|
|
26
|
+
// that aren't actually Input defined on the Component
|
|
27
|
+
mirror.inputs.some(({ templateName, propName }) => templateName === key || propName === key)) {
|
|
28
|
+
compRef.setInput(key, value);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
compRef.changeDetectorRef.detectChanges();
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
deps: [ApplicationRef, ANALOG_ASTRO_STATIC_PROPS],
|
|
36
|
+
multi: true,
|
|
37
|
+
};
|
|
38
|
+
function renderToStaticMarkup(Component, props, _children) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const mirror = reflectComponentType(Component);
|
|
41
|
+
const appId = (mirror === null || mirror === void 0 ? void 0 : mirror.selector) || Component.name.toString().toLowerCase();
|
|
42
|
+
const document = `<${appId}></${appId}>`;
|
|
43
|
+
const bootstrap = () => bootstrapApplication(Component, {
|
|
44
|
+
providers: [
|
|
45
|
+
{
|
|
46
|
+
provide: ANALOG_ASTRO_STATIC_PROPS,
|
|
47
|
+
useValue: { props, mirror },
|
|
48
|
+
},
|
|
49
|
+
STATIC_PROPS_HOOK_PROVIDER,
|
|
50
|
+
provideServerRendering(),
|
|
51
|
+
{ provide: ɵSERVER_CONTEXT, useValue: 'analog' },
|
|
52
|
+
...(Component.renderProviders || []),
|
|
53
|
+
],
|
|
54
|
+
});
|
|
55
|
+
const html = yield renderApplication(bootstrap, {
|
|
56
|
+
document,
|
|
57
|
+
});
|
|
58
|
+
return { html };
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
export default {
|
|
62
|
+
check,
|
|
63
|
+
renderToStaticMarkup,
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYXN0cm8tYW5ndWxhci9zcmMvc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGtDQUFrQyxDQUFDO0FBTzFDLE9BQU8sRUFDTCxjQUFjLEVBQ2QsY0FBYyxFQUNkLG9CQUFvQixHQUNyQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsZUFBZSxHQUNoQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWpFLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBR2pELDBEQUEwRCxFQUFFO0lBQzdELE9BQU87UUFDTCxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBOEIsRUFBRSxDQUFDO0lBQy9ELENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCxTQUFTLEtBQUssQ0FDWixTQUFpQyxFQUNqQyxNQUErQixFQUMvQixTQUFrQjtJQUVsQixPQUFPLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsaUVBQWlFO0FBQ2pFLHdDQUF3QztBQUN4QyxNQUFNLDBCQUEwQixHQUFhO0lBQzNDLE9BQU8sRUFBRSxxQkFBcUI7SUFDOUIsVUFBVSxFQUFFLENBQ1YsTUFBc0IsRUFDdEIsRUFDRSxLQUFLLEVBQ0wsTUFBTSxHQUlQLEVBQ0QsRUFBRTtRQUNGLE9BQU8sR0FBRyxFQUFFO1lBQ1YsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxJQUFJLE9BQU8sSUFBSSxLQUFLLElBQUksTUFBTSxFQUFFO2dCQUM5QixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDaEQ7b0JBQ0UsNENBQTRDO29CQUM1QywyQ0FBMkM7b0JBQzNDLHNEQUFzRDtvQkFDdEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLENBQUMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUM3QixZQUFZLEtBQUssR0FBRyxJQUFJLFFBQVEsS0FBSyxHQUFHLENBQzNDLEVBQ0Q7d0JBQ0EsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7cUJBQzlCO2lCQUNGO2dCQUNELE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUMzQztRQUNILENBQUMsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUseUJBQXlCLENBQUM7SUFDakQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsU0FBZSxvQkFBb0IsQ0FDakMsU0FFQyxFQUNELEtBQThCLEVBQzlCLFNBQWtCOztRQUVsQixNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxRQUFRLEtBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxRSxNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssTUFBTSxLQUFLLEdBQUcsQ0FBQztRQUN6QyxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FDckIsb0JBQW9CLENBQUMsU0FBUyxFQUFFO1lBQzlCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUseUJBQXlCO29CQUNsQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2lCQUM1QjtnQkFDRCwwQkFBMEI7Z0JBQzFCLHNCQUFzQixFQUFFO2dCQUN4QixFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtnQkFDaEQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDO2FBQ3JDO1NBQ0YsQ0FBQyxDQUFDO1FBRUwsTUFBTSxJQUFJLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxTQUFTLEVBQUU7WUFDOUMsUUFBUTtTQUNULENBQUMsQ0FBQztRQUVILE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsQixDQUFDO0NBQUE7QUFFRCxlQUFlO0lBQ2IsS0FBSztJQUNMLG9CQUFvQjtDQUNyQixDQUFDIn0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import '@analogjs/vite-plugin-angular/setup-vitest';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1zZXR1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2FzdHJvLWFuZ3VsYXIvc3JjL3Rlc3Qtc2V0dXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyw0Q0FBNEMsQ0FBQyJ9
|