@analogjs/astro-angular 3.0.0-alpha.76 → 3.0.0-alpha.78
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 +2 -2
- package/src/index.d.ts +7 -1
- package/src/index.js +9 -0
- package/src/index.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@analogjs/astro-angular",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.78",
|
|
4
4
|
"description": "Use Angular components within Astro",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Brandon Roberts <robertsbt@gmail.com>",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"url": "https://github.com/sponsors/brandonroberts"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@analogjs/vite-plugin-angular": "3.0.0-alpha.
|
|
59
|
+
"@analogjs/vite-plugin-angular": "3.0.0-alpha.78",
|
|
60
60
|
"rehype": "^13.0.2"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
package/src/index.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import type { PluginOptions } from "@analogjs/vite-plugin-angular";
|
|
1
|
+
import type { PluginOptions, TransformFilter } from "@analogjs/vite-plugin-angular";
|
|
2
2
|
import type { AstroIntegration } from "astro";
|
|
3
3
|
interface AngularOptions {
|
|
4
4
|
vite?: PluginOptions;
|
|
5
5
|
/**
|
|
6
|
+
* Restricts which modules Angular compiles. Return `false` to leave a
|
|
7
|
+
* module to other Astro integrations. Registered with Angular through the
|
|
8
|
+
* `analog.setup()` hook of an internal Vite plugin.
|
|
9
|
+
*/
|
|
10
|
+
transformFilter?: TransformFilter;
|
|
11
|
+
/**
|
|
6
12
|
* Enable stricter rendering, which ensures Angular style tags are added to the document head instead of next to the
|
|
7
13
|
* component in the body.
|
|
8
14
|
*
|
package/src/index.js
CHANGED
|
@@ -22,6 +22,14 @@ var SERVER_ENTRYPOINTS = [
|
|
|
22
22
|
* surfacing as empty SSR output plus `NG0912` component ID collisions.
|
|
23
23
|
*/
|
|
24
24
|
var SERVER_OPTIMIZE_DEPS_EXCLUDE = [...SERVER_ENTRYPOINTS, "@angular/core"];
|
|
25
|
+
function transformFilterPlugin(filter) {
|
|
26
|
+
return {
|
|
27
|
+
name: "@analogjs/astro-angular-transform-filter",
|
|
28
|
+
analog: { setup(ctx) {
|
|
29
|
+
ctx.registerTransformFilter(filter);
|
|
30
|
+
} }
|
|
31
|
+
};
|
|
32
|
+
}
|
|
25
33
|
function getViteConfiguration(pluginOptions) {
|
|
26
34
|
const isRolldown = !!vite.rolldownVersion;
|
|
27
35
|
return {
|
|
@@ -36,6 +44,7 @@ function getViteConfiguration(pluginOptions) {
|
|
|
36
44
|
},
|
|
37
45
|
plugins: [
|
|
38
46
|
viteAngular(pluginOptions?.vite),
|
|
47
|
+
...pluginOptions?.transformFilter ? [transformFilterPlugin(pluginOptions.transformFilter)] : [],
|
|
39
48
|
{
|
|
40
49
|
name: "@analogjs/astro-angular-platform-server",
|
|
41
50
|
transform(code, id) {
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["import viteAngular from '@analogjs/vite-plugin-angular';\nimport type {
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["import viteAngular from '@analogjs/vite-plugin-angular';\nimport type {\n AnalogIntegrationPlugin,\n PluginOptions,\n TransformFilter,\n} from '@analogjs/vite-plugin-angular';\nimport { enableProdMode } from '@angular/core';\nimport type { AstroIntegration, AstroRenderer, ViteUserConfig } from 'astro';\nimport * as vite from 'vite';\n\ninterface AngularOptions {\n vite?: PluginOptions;\n /**\n * Restricts which modules Angular compiles. Return `false` to leave a\n * module to other Astro integrations. Registered with Angular through the\n * `analog.setup()` hook of an internal Vite plugin.\n */\n transformFilter?: TransformFilter;\n /**\n * Enable stricter rendering, which ensures Angular style tags are added to the document head instead of next to the\n * component in the body.\n *\n * Enabling this option disables astro's streaming under SSR.\n */\n strictStylePlacement?: boolean;\n /**\n * Use Angular's `provideClientHydration` to hydrate components.\n */\n useAngularHydration?: boolean;\n}\n\nfunction getRenderer(ngHydration: boolean | undefined): AstroRenderer {\n return {\n name: '@analogjs/astro-angular',\n clientEntrypoint: ngHydration\n ? '@analogjs/astro-angular/client-ngh.js'\n : '@analogjs/astro-angular/client.js',\n serverEntrypoint: ngHydration\n ? '@analogjs/astro-angular/server-ngh.js'\n : '@analogjs/astro-angular/server.js',\n };\n}\n\nconst SERVER_ENTRYPOINTS = [\n '@angular/platform-server',\n '@analogjs/astro-angular/server.js',\n '@analogjs/astro-angular/server-ngh.js',\n];\n\n/**\n * Modules the dependency optimizer must leave alone on the server.\n * `@angular/core` is excluded on top of the server entrypoints because\n * pre-bundling it produces a second copy of the Angular runtime, so components\n * render against a different runtime than the one they were registered in —\n * surfacing as empty SSR output plus `NG0912` component ID collisions.\n */\nconst SERVER_OPTIMIZE_DEPS_EXCLUDE = [...SERVER_ENTRYPOINTS, '@angular/core'];\n\nfunction transformFilterPlugin(\n filter: TransformFilter,\n): AnalogIntegrationPlugin {\n return {\n name: '@analogjs/astro-angular-transform-filter',\n analog: {\n setup(ctx) {\n ctx.registerTransformFilter(filter);\n },\n },\n };\n}\n\nfunction getViteConfiguration(pluginOptions?: AngularOptions) {\n const isRolldown = !!vite.rolldownVersion;\n return {\n [isRolldown ? 'oxc' : 'esbuild']: {\n ...(isRolldown ? { jsx: { development: true } } : { jsxDev: true }),\n },\n optimizeDeps: {\n include: [\n '@angular/platform-browser',\n '@angular/core',\n pluginOptions?.useAngularHydration\n ? '@analogjs/astro-angular/client-ngh.js'\n : '@analogjs/astro-angular/client.js',\n ],\n exclude: SERVER_ENTRYPOINTS,\n },\n\n plugins: [\n viteAngular(pluginOptions?.vite),\n ...(pluginOptions?.transformFilter\n ? [transformFilterPlugin(pluginOptions.transformFilter)]\n : []),\n {\n name: '@analogjs/astro-angular-platform-server',\n transform(code: string, id: string) {\n if (id.includes('platform-server')) {\n code = code.replace(/global\\./g, 'globalThis.');\n\n return {\n code: code.replace(\n 'new xhr2.XMLHttpRequest',\n 'new (xhr2.default.XMLHttpRequest || xhr2.default)',\n ),\n };\n }\n\n return;\n },\n },\n {\n name: 'analogjs-astro-client-ngservermode',\n configEnvironment(name: string) {\n if (name === 'client') {\n return {\n define: {\n ngServerMode: 'false',\n },\n };\n }\n\n return undefined;\n },\n },\n {\n // Top-level `optimizeDeps` only seeds the client environment. Adapters\n // that run SSR in their own environment — `@astrojs/cloudflare`, which\n // serves the `ssr` environment on `workerd` — get none of the excludes\n // above, so Angular's server entrypoints are pre-bundled there and the\n // renderer breaks. Re-declare them per server environment.\n name: 'analogjs-astro-server-optimize-deps',\n configEnvironment(name: string) {\n if (name === 'client') {\n return undefined;\n }\n\n return {\n optimizeDeps: {\n exclude: SERVER_OPTIMIZE_DEPS_EXCLUDE,\n },\n };\n },\n },\n ],\n ssr: {\n noExternal: ['@angular/**', '@analogjs/**'],\n },\n };\n}\n\nexport default function (options?: AngularOptions): AstroIntegration {\n process.env['ANALOG_ASTRO'] = 'true';\n\n return {\n name: '@analogjs/astro-angular',\n hooks: {\n 'astro:config:setup': ({ addRenderer, updateConfig, addMiddleware }) => {\n addRenderer(getRenderer(options?.useAngularHydration));\n updateConfig({\n vite: getViteConfiguration(options),\n });\n if (options?.strictStylePlacement) {\n addMiddleware({\n order: 'pre',\n entrypoint: '@analogjs/astro-angular/middleware',\n });\n }\n },\n 'astro:config:done': () => {\n if (process.env['NODE_ENV'] === 'production') {\n enableProdMode();\n }\n },\n },\n };\n}\n"],"mappings":";;;;AA+BA,SAAS,YAAY,aAAiD;AACpE,QAAO;EACL,MAAM;EACN,kBAAkB,cACd,0CACA;EACJ,kBAAkB,cACd,0CACA;EACL;;AAGH,IAAM,qBAAqB;CACzB;CACA;CACA;CACD;;;;;;;;AASD,IAAM,+BAA+B,CAAC,GAAG,oBAAoB,gBAAgB;AAE7E,SAAS,sBACP,QACyB;AACzB,QAAO;EACL,MAAM;EACN,QAAQ,EACN,MAAM,KAAK;AACT,OAAI,wBAAwB,OAAO;KAEtC;EACF;;AAGH,SAAS,qBAAqB,eAAgC;CAC5D,MAAM,aAAa,CAAC,CAAC,KAAK;AAC1B,QAAO;GACJ,aAAa,QAAQ,YAAY,EAChC,GAAI,aAAa,EAAE,KAAK,EAAE,aAAa,MAAM,EAAE,GAAG,EAAE,QAAQ,MAAM,EACnE;EACD,cAAc;GACZ,SAAS;IACP;IACA;IACA,eAAe,sBACX,0CACA;IACL;GACD,SAAS;GACV;EAED,SAAS;GACP,YAAY,eAAe,KAAK;GAChC,GAAI,eAAe,kBACf,CAAC,sBAAsB,cAAc,gBAAgB,CAAC,GACtD,EAAE;GACN;IACE,MAAM;IACN,UAAU,MAAc,IAAY;AAClC,SAAI,GAAG,SAAS,kBAAkB,EAAE;AAClC,aAAO,KAAK,QAAQ,aAAa,cAAc;AAE/C,aAAO,EACL,MAAM,KAAK,QACT,2BACA,oDACD,EACF;;;IAKN;GACD;IACE,MAAM;IACN,kBAAkB,MAAc;AAC9B,SAAI,SAAS,SACX,QAAO,EACL,QAAQ,EACN,cAAc,SACf,EACF;;IAKN;GACD;IAME,MAAM;IACN,kBAAkB,MAAc;AAC9B,SAAI,SAAS,SACX;AAGF,YAAO,EACL,cAAc,EACZ,SAAS,8BACV,EACF;;IAEJ;GACF;EACD,KAAK,EACH,YAAY,CAAC,eAAe,eAAe,EAC5C;EACF;;AAGH,SAAA,YAAyB,SAA4C;AACnE,SAAQ,IAAI,kBAAkB;AAE9B,QAAO;EACL,MAAM;EACN,OAAO;GACL,uBAAuB,EAAE,aAAa,cAAc,oBAAoB;AACtE,gBAAY,YAAY,SAAS,oBAAoB,CAAC;AACtD,iBAAa,EACX,MAAM,qBAAqB,QAAQ,EACpC,CAAC;AACF,QAAI,SAAS,qBACX,eAAc;KACZ,OAAO;KACP,YAAY;KACb,CAAC;;GAGN,2BAA2B;AACzB,QAAA,QAAA,IAAA,aAAgC,aAC9B,iBAAgB;;GAGrB;EACF"}
|