@analogjs/vite-plugin-angular 3.0.0-alpha.51 → 3.0.0-alpha.53

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": "3.0.0-alpha.51",
3
+ "version": "3.0.0-alpha.53",
4
4
  "description": "Vite Plugin for Angular",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -22,6 +22,7 @@ import { buildStylePreprocessor, tailwindReferencePlugin, validateTailwindConfig
22
22
  import { encapsulationPlugin, getComponentStyleSheetMeta, isComponentStyleSheet } from "./encapsulation-plugin.js";
23
23
  import { virtualModulesPlugin } from "./virtual-modules-plugin.js";
24
24
  import { angularVitestPlugins } from "./angular-vitest-plugin.js";
25
+ import { cssExtensionStyleResolverPlugin } from "./utils/css-extension-resolver.js";
25
26
  import { pendingTasksPlugin } from "./angular-pending-tasks.plugin.js";
26
27
  import { liveReloadPlugin } from "./live-reload-plugin.js";
27
28
  import { nxFolderPlugin } from "./nx-folder-plugin.js";
@@ -32,7 +33,7 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
32
33
  import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
33
34
  import * as compilerCli from "@angular/compiler-cli";
34
35
  import { createRequire } from "node:module";
35
- import { defaultClientConditions, normalizePath, preprocessCSS } from "vite";
36
+ import { normalizePath, preprocessCSS } from "vite";
36
37
  //#region packages/vite-plugin-angular/src/lib/angular-vite-plugin.ts
37
38
  var require = createRequire(import.meta.url);
38
39
  var classNames = /* @__PURE__ */ new Map();
@@ -255,8 +256,7 @@ function angular(options) {
255
256
  ],
256
257
  exclude: ["@angular/platform-server"],
257
258
  ...useRolldown ? { rolldownOptions } : { esbuildOptions }
258
- },
259
- resolve: { conditions: ["style", ...config.resolve?.conditions || defaultClientConditions] }
259
+ }
260
260
  };
261
261
  },
262
262
  configResolved(config) {
@@ -587,6 +587,15 @@ function angular(options) {
587
587
  }
588
588
  if (isComponentStyleSheet(id)) {
589
589
  const filename = getFilenameFromPath(id);
590
+ const search = new URL(id, "http://localhost").search;
591
+ const servedSourcePath = stylesheetRegistry?.getServedSourcePath(filename);
592
+ if (servedSourcePath) {
593
+ debugStylesV("resolveId: mapped served stylesheet to source", {
594
+ filename,
595
+ resolvedPath: servedSourcePath
596
+ });
597
+ return servedSourcePath + search;
598
+ }
590
599
  if (stylesheetRegistry?.hasServed(filename)) {
591
600
  debugStylesV("resolveId: kept preprocessed ID", { filename });
592
601
  return id;
@@ -618,8 +627,8 @@ function angular(options) {
618
627
  debugHmrV("stylesheet active request registered", {
619
628
  requestId: id,
620
629
  filename,
621
- sourcePath: stylesheetRegistry?.resolveExternalSource(filename) ?? stylesheetRegistry?.resolveExternalSource(filename.replace(/^\//, "")),
622
- trackedRequestIds: stylesheetRegistry?.getRequestIdsForSource(stylesheetRegistry?.resolveExternalSource(filename) ?? stylesheetRegistry?.resolveExternalSource(filename.replace(/^\//, "")) ?? "") ?? []
630
+ sourcePath: stylesheetRegistry?.resolveExternalSource(filename) ?? stylesheetRegistry?.resolveExternalSource(filename.replace(/^\//, "")) ?? stylesheetRegistry?.getServedSourcePath(filename) ?? stylesheetRegistry?.getServedSourcePath(filename.replace(/^\//, "")),
631
+ trackedRequestIds: stylesheetRegistry?.getRequestIdsForSource(stylesheetRegistry?.resolveExternalSource(filename) ?? stylesheetRegistry?.resolveExternalSource(filename.replace(/^\//, "")) ?? stylesheetRegistry?.getServedSourcePath(filename) ?? stylesheetRegistry?.getServedSourcePath(filename.replace(/^\//, "")) ?? "") ?? []
623
632
  });
624
633
  debugStylesV("load: served inline component stylesheet", {
625
634
  filename,
@@ -777,6 +786,7 @@ function angular(options) {
777
786
  fastCompileMode: pluginOptions.fastCompileMode
778
787
  }) : angularPlugin();
779
788
  return [
789
+ cssExtensionStyleResolverPlugin(),
780
790
  replaceFiles(pluginOptions.fileReplacements, pluginOptions.workspaceRoot),
781
791
  virtualModulesPlugin({ jit }),
782
792
  templateClassBindingGuardPlugin(guardContext),
@@ -973,14 +983,14 @@ function isModuleForChangedResource(mod, changedFile, stylesheetRegistry) {
973
983
  if (normalizePath((mod.file ?? "").split("?")[0]) === normalizedChangedFile) return true;
974
984
  if (!mod.id) return false;
975
985
  const requestPath = getFilenameFromPath(mod.id);
976
- return normalizePath((stylesheetRegistry?.resolveExternalSource(requestPath) ?? stylesheetRegistry?.resolveExternalSource(requestPath.replace(/^\//, "")) ?? "").split("?")[0]) === normalizedChangedFile;
986
+ return normalizePath((stylesheetRegistry?.resolveExternalSource(requestPath) ?? stylesheetRegistry?.resolveExternalSource(requestPath.replace(/^\//, "")) ?? stylesheetRegistry?.getServedSourcePath(requestPath) ?? stylesheetRegistry?.getServedSourcePath(requestPath.replace(/^\//, "")) ?? "").split("?")[0]) === normalizedChangedFile;
977
987
  }
978
988
  function diagnoseComponentStylesheetPipeline(changedFile, directModule, stylesheetRegistry, wrapperModules, stylePreprocessor) {
979
989
  const normalizedFile = normalizePath(changedFile.split("?")[0]);
980
990
  const sourceExists = existsSync(normalizedFile);
981
991
  const sourceCode = sourceExists ? readFileSync(normalizedFile, "utf-8") : void 0;
982
992
  const directRequestPath = directModule.id ? getFilenameFromPath(directModule.id) : void 0;
983
- const sourcePath = directRequestPath ? stylesheetRegistry?.resolveExternalSource(directRequestPath) ?? stylesheetRegistry?.resolveExternalSource(directRequestPath.replace(/^\//, "")) : normalizedFile;
993
+ const sourcePath = directRequestPath ? stylesheetRegistry?.resolveExternalSource(directRequestPath) ?? stylesheetRegistry?.resolveExternalSource(directRequestPath.replace(/^\//, "")) ?? stylesheetRegistry?.getServedSourcePath(directRequestPath) ?? stylesheetRegistry?.getServedSourcePath(directRequestPath.replace(/^\//, "")) : normalizedFile;
984
994
  const registryCode = directRequestPath ? stylesheetRegistry?.getServedContent(directRequestPath) : void 0;
985
995
  const trackedRequestIds = stylesheetRegistry?.getRequestIdsForSource(sourcePath ?? "") ?? [];
986
996
  const dependencies = stylesheetRegistry?.getDependenciesForSource(sourcePath ?? "") ?? [];
@@ -1039,7 +1049,7 @@ async function findComponentStylesheetWrapperModules(server, changedFile, direct
1039
1049
  if (directModule.id) directRequestIds.add(directModule.id);
1040
1050
  if (directModule.url) directRequestIds.add(directModule.url);
1041
1051
  const requestPath = directModule.id ? getFilenameFromPath(directModule.id) : void 0;
1042
- const sourcePath = requestPath ? stylesheetRegistry?.resolveExternalSource(requestPath) ?? stylesheetRegistry?.resolveExternalSource(requestPath.replace(/^\//, "")) : void 0;
1052
+ const sourcePath = requestPath ? stylesheetRegistry?.resolveExternalSource(requestPath) ?? stylesheetRegistry?.resolveExternalSource(requestPath.replace(/^\//, "")) ?? stylesheetRegistry?.getServedSourcePath(requestPath) ?? stylesheetRegistry?.getServedSourcePath(requestPath.replace(/^\//, "")) : void 0;
1043
1053
  for (const requestId of stylesheetRegistry?.getRequestIdsForSource(sourcePath ?? "") ?? []) if (requestId.includes("?ngcomp=")) directRequestIds.add(requestId);
1044
1054
  const candidateWrapperIds = [...directRequestIds].filter((id) => id.includes("?direct&ngcomp=")).map((id) => id.replace("?direct&ngcomp=", "?ngcomp="));
1045
1055
  const lookupHits = [];