@edynamix/mf-isolation 0.0.1 → 0.0.3

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/README.md CHANGED
@@ -23,6 +23,8 @@ disposeBoundary();
23
23
 
24
24
  ## Build-time CSS isolation
25
25
 
26
+ For global and vendor CSS:
27
+
26
28
  ```ts
27
29
  import { scopeRemoteCss } from '@edynamix/mf-isolation/postcss';
28
30
 
@@ -37,6 +39,27 @@ export default {
37
39
 
38
40
  The host and remote must use the same `scopeId`.
39
41
 
42
+ ### Angular with Vite
43
+
44
+ Angular applications must use the Angular-aware plugin so component CSS remains compatible with Emulated view encapsulation:
45
+
46
+ ```ts
47
+ import { scopeAngularRemoteCss } from '@edynamix/mf-isolation/postcss';
48
+ import { defineConfig } from 'vite';
49
+
50
+ export default defineConfig({
51
+ css: {
52
+ postcss: {
53
+ plugins: [scopeAngularRemoteCss({ scopeId: 'portal' })],
54
+ },
55
+ },
56
+ });
57
+ ```
58
+
59
+ The plugin uses `:host-context([data-edyn-mf="<scope-id>"])` for Emulated `.component.css`, `.component.scss`, `.component.sass`, and `.component.less` files. Global CSS, vendor CSS, and components declaring `ViewEncapsulation.None` continue to use the standard `:where([data-edyn-mf="<scope-id>"])` boundary.
60
+
61
+ Run this plugin through Vite/PostCSS before Angular AOT compilation. Do not combine it with `scopeRemoteCss` in the same Vite configuration.
62
+
40
63
  ## Angular CDK overlays
41
64
 
42
65
  ```ts
@@ -47,8 +70,33 @@ const providers = provideMfOverlayRoot(mountElement);
47
70
 
48
71
  The Angular entry point requires `@angular/core` and `@angular/cdk`.
49
72
 
73
+ ## Host-owned Zone.js
74
+
75
+ Standalone Angular applications load their own Zone.js runtime as usual:
76
+
77
+ ```ts
78
+ import 'zone.js';
79
+ ```
80
+
81
+ When the application runs as a hosted lifecycle, the host owns the single Zone.js runtime. Check that runtime before dynamically importing any Angular code:
82
+
83
+ ```ts
84
+ import { assertHostZoneRuntime } from '@edynamix/mf-isolation/angular-runtime';
85
+ import type { IShellContext } from './shell-context';
86
+
87
+ export const mount = async (host: HTMLElement, context: IShellContext): Promise<void> => {
88
+ assertHostZoneRuntime();
89
+
90
+ const lifecycle = await import('./lifecycle-impl');
91
+ return lifecycle.mount(host, context);
92
+ };
93
+ ```
94
+
95
+ `angular-runtime` is framework-free. It verifies that `globalThis.Zone` is a function; it does not load or modify Zone.js.
96
+
50
97
  ## Exports
51
98
 
52
99
  - `@edynamix/mf-isolation`
53
100
  - `@edynamix/mf-isolation/angular`
101
+ - `@edynamix/mf-isolation/angular-runtime`
54
102
  - `@edynamix/mf-isolation/postcss`
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Verifies the host-owned Zone.js runtime before Angular is loaded.
3
+ *
4
+ * This check is intentionally framework-free and must run before dynamically
5
+ * importing an Angular bootstrap module.
6
+ */
7
+ export declare const assertHostZoneRuntime: () => void;
8
+ //# sourceMappingURL=angular-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-runtime.d.ts","sourceRoot":"","sources":["../src/angular-runtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAO,IAMxC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Verifies the host-owned Zone.js runtime before Angular is loaded.
3
+ *
4
+ * This check is intentionally framework-free and must run before dynamically
5
+ * importing an Angular bootstrap module.
6
+ */
7
+ export const assertHostZoneRuntime = () => {
8
+ const zoneRuntime = globalThis.Zone;
9
+ if (typeof zoneRuntime !== 'function') {
10
+ throw new Error('Host Zone.js runtime is missing. Expected globalThis.Zone to be a function before loading Angular.');
11
+ }
12
+ };
13
+ //# sourceMappingURL=angular-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-runtime.js","sourceRoot":"","sources":["../src/angular-runtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAS,EAAE;IAC9C,MAAM,WAAW,GAAI,UAAqD,CAAC,IAAI,CAAC;IAEhF,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;IACxH,CAAC;AACH,CAAC,CAAC"}
package/dist/postcss.d.ts CHANGED
@@ -1,6 +1,8 @@
1
- import type { Plugin } from 'postcss';
1
+ import { type Plugin } from 'postcss';
2
2
  export interface IScopeRemoteCssOptions {
3
3
  scopeId: string;
4
4
  }
5
+ export declare const shouldUseAngularComponentScoping: (stylePath: string | undefined) => boolean;
5
6
  export declare const scopeRemoteCss: ({ scopeId }: IScopeRemoteCssOptions) => Plugin;
7
+ export declare const scopeAngularRemoteCss: ({ scopeId }: IScopeRemoteCssOptions) => Plugin;
6
8
  //# sourceMappingURL=postcss.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postcss.d.ts","sourceRoot":"","sources":["../src/postcss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAQ,MAAM,SAAS,CAAC;AAK5C,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB;AA0ED,eAAO,MAAM,cAAc,GAAI,aAAa,sBAAsB,KAAG,MAyCpE,CAAC"}
1
+ {"version":3,"file":"postcss.d.ts","sourceRoot":"","sources":["../src/postcss.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,MAAM,EAAwB,MAAM,SAAS,CAAC;AAKlE,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB;AAoHD,eAAO,MAAM,gCAAgC,GAAI,WAAW,MAAM,GAAG,SAAS,KAAG,OAEhF,CAAC;AAiLF,eAAO,MAAM,cAAc,GAAI,aAAa,sBAAsB,KAAG,MAWpE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,aAAa,sBAAsB,KAAG,MAiB3E,CAAC"}
package/dist/postcss.js CHANGED
@@ -1,6 +1,81 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { list } from 'postcss';
1
3
  import selectorParser from 'postcss-selector-parser';
2
4
  import valueParser from 'postcss-value-parser';
3
5
  import { getMfScopeSelector, MF_ROOT_SELECTOR, MF_SCOPE_ATTRIBUTE, validateMfScopeId } from './index.js';
6
+ const ANGULAR_COMPONENT_STYLE_PATTERN = /\.component\.(?:css|less|sass|scss)$/i;
7
+ const VIEW_ENCAPSULATION_NONE_PATTERN = /(?:^|[,{])\s*encapsulation\s*:\s*(?:[A-Za-z_$][\w$]*\s*\.\s*)+None\b/m;
8
+ const maskTypeScriptCommentsAndStrings = (source) => {
9
+ let maskedSource = '';
10
+ let state = 'code';
11
+ let escaped = false;
12
+ const maskCharacter = (character) => {
13
+ return character === '\n' || character === '\r' ? character : ' ';
14
+ };
15
+ for (let index = 0; index < source.length; index += 1) {
16
+ const character = source[index] ?? '';
17
+ const nextCharacter = source[index + 1];
18
+ if (state === 'code') {
19
+ if (character === '/' && nextCharacter === '/') {
20
+ maskedSource += ' ';
21
+ index += 1;
22
+ state = 'line-comment';
23
+ }
24
+ else if (character === '/' && nextCharacter === '*') {
25
+ maskedSource += ' ';
26
+ index += 1;
27
+ state = 'block-comment';
28
+ }
29
+ else if (character === "'") {
30
+ maskedSource += ' ';
31
+ state = 'single-quote';
32
+ }
33
+ else if (character === '"') {
34
+ maskedSource += ' ';
35
+ state = 'double-quote';
36
+ }
37
+ else if (character === '`') {
38
+ maskedSource += ' ';
39
+ state = 'template';
40
+ }
41
+ else {
42
+ maskedSource += character;
43
+ }
44
+ continue;
45
+ }
46
+ if (state === 'line-comment') {
47
+ maskedSource += maskCharacter(character);
48
+ if (character === '\n' || character === '\r') {
49
+ state = 'code';
50
+ }
51
+ continue;
52
+ }
53
+ if (state === 'block-comment') {
54
+ if (character === '*' && nextCharacter === '/') {
55
+ maskedSource += ' ';
56
+ index += 1;
57
+ state = 'code';
58
+ }
59
+ else {
60
+ maskedSource += maskCharacter(character);
61
+ }
62
+ continue;
63
+ }
64
+ maskedSource += maskCharacter(character);
65
+ if (escaped) {
66
+ escaped = false;
67
+ }
68
+ else if (character === '\\') {
69
+ escaped = true;
70
+ }
71
+ else if ((state === 'single-quote' && character === "'") ||
72
+ (state === 'double-quote' && character === '"') ||
73
+ (state === 'template' && character === '`')) {
74
+ state = 'code';
75
+ }
76
+ }
77
+ return maskedSource;
78
+ };
4
79
  const isKeyframesRule = (rule) => {
5
80
  const parent = rule.parent;
6
81
  return parent?.type === 'atrule' && /keyframes$/i.test(parent.name);
@@ -13,6 +88,24 @@ const isScopeNode = (node, scopeId) => {
13
88
  const normalized = node?.toString().replaceAll('"', '').replaceAll("'", '');
14
89
  return node?.type === 'pseudo' && normalized === `:where([${MF_SCOPE_ATTRIBUTE}=${scopeId}])`;
15
90
  };
91
+ const getAngularComponentSourcePath = (stylePath) => {
92
+ const cleanStylePath = stylePath.replace(/[?#].*$/, '');
93
+ if (!ANGULAR_COMPONENT_STYLE_PATTERN.test(cleanStylePath)) {
94
+ return undefined;
95
+ }
96
+ return cleanStylePath.replace(/\.(?:css|less|sass|scss)$/i, '.ts');
97
+ };
98
+ const usesViewEncapsulationNone = (stylePath) => {
99
+ const componentSourcePath = getAngularComponentSourcePath(stylePath);
100
+ if (!componentSourcePath || !existsSync(componentSourcePath)) {
101
+ return false;
102
+ }
103
+ const componentSource = readFileSync(componentSourcePath, 'utf8');
104
+ return VIEW_ENCAPSULATION_NONE_PATTERN.test(maskTypeScriptCommentsAndStrings(componentSource));
105
+ };
106
+ export const shouldUseAngularComponentScoping = (stylePath) => {
107
+ return !!stylePath && !!getAngularComponentSourcePath(stylePath) && !usesViewEncapsulationNone(stylePath);
108
+ };
16
109
  const scopeSelectorList = (selectorList, scopeId, scopeSelector) => {
17
110
  return selectorParser((root) => {
18
111
  const sourceSelectors = [...root.nodes];
@@ -60,40 +153,131 @@ const scopeSelectorList = (selectorList, scopeId, scopeSelector) => {
60
153
  }
61
154
  }).processSync(selectorList);
62
155
  };
156
+ const findFunctionalPseudoEnd = (selector, openParenthesisIndex) => {
157
+ let depth = 0;
158
+ let quote;
159
+ for (let index = openParenthesisIndex; index < selector.length; index += 1) {
160
+ const character = selector[index];
161
+ const previousCharacter = selector[index - 1];
162
+ if (quote) {
163
+ if (character === quote && previousCharacter !== '\\') {
164
+ quote = undefined;
165
+ }
166
+ continue;
167
+ }
168
+ if (character === '"' || character === "'") {
169
+ quote = character;
170
+ continue;
171
+ }
172
+ if (character === '(') {
173
+ depth += 1;
174
+ }
175
+ else if (character === ')') {
176
+ depth -= 1;
177
+ if (depth === 0) {
178
+ return index;
179
+ }
180
+ }
181
+ }
182
+ return -1;
183
+ };
184
+ const scopeAngularSelector = (selector, boundarySelector) => {
185
+ const normalizedSelector = selector.trim();
186
+ const angularBoundary = `:host-context(${boundarySelector})`;
187
+ const normalizedBoundary = normalizedSelector.slice(0, angularBoundary.length).replaceAll("'", '"');
188
+ if (normalizedBoundary === angularBoundary) {
189
+ return normalizedSelector;
190
+ }
191
+ if (/^:host-context\(/i.test(normalizedSelector)) {
192
+ return `${angularBoundary}${normalizedSelector}`;
193
+ }
194
+ if (/^:host\(/i.test(normalizedSelector)) {
195
+ const openParenthesisIndex = normalizedSelector.indexOf('(');
196
+ const closeParenthesisIndex = findFunctionalPseudoEnd(normalizedSelector, openParenthesisIndex);
197
+ if (closeParenthesisIndex !== -1) {
198
+ const hostSelector = normalizedSelector.slice(openParenthesisIndex + 1, closeParenthesisIndex);
199
+ const remainder = normalizedSelector.slice(closeParenthesisIndex + 1);
200
+ return list
201
+ .comma(hostSelector)
202
+ .map((hostSelectorVariant) => `${angularBoundary}${hostSelectorVariant}${remainder}`)
203
+ .join(', ');
204
+ }
205
+ }
206
+ if (/^:host\b/i.test(normalizedSelector)) {
207
+ return normalizedSelector.replace(/^:host\b/i, angularBoundary);
208
+ }
209
+ return `${angularBoundary} ${normalizedSelector}`;
210
+ };
211
+ const scopeAngularSelectorList = (selectorList, boundarySelector) => {
212
+ return list
213
+ .comma(selectorList)
214
+ .map((selector) => scopeAngularSelector(selector, boundarySelector))
215
+ .join(', ');
216
+ };
217
+ const namespaceKeyframes = (root, keyframePrefix) => {
218
+ const keyframes = new Map();
219
+ root.walkAtRules((atRule) => {
220
+ if (!/keyframes$/i.test(atRule.name) || atRule.params.startsWith(keyframePrefix)) {
221
+ return;
222
+ }
223
+ const originalName = atRule.params.trim();
224
+ const scopedName = `${keyframePrefix}${originalName}`;
225
+ keyframes.set(originalName, scopedName);
226
+ atRule.params = scopedName;
227
+ });
228
+ root.walkDecls((declaration) => {
229
+ if (!/^(?:-webkit-)?animation(?:-name)?$/i.test(declaration.prop) && !declaration.prop.startsWith('--animate-')) {
230
+ return;
231
+ }
232
+ const parsed = valueParser(declaration.value);
233
+ parsed.walk((node) => {
234
+ if (node.type === 'word') {
235
+ node.value = keyframes.get(node.value) ?? node.value;
236
+ }
237
+ });
238
+ declaration.value = parsed.toString();
239
+ });
240
+ };
241
+ const scopeGlobalRoot = (root, scopeId, scopeSelector, keyframePrefix) => {
242
+ namespaceKeyframes(root, keyframePrefix);
243
+ root.walkRules((rule) => {
244
+ if (!isKeyframesRule(rule)) {
245
+ rule.selector = scopeSelectorList(rule.selector, scopeId, scopeSelector);
246
+ }
247
+ });
248
+ };
249
+ const scopeAngularComponentRoot = (root, boundarySelector, keyframePrefix) => {
250
+ namespaceKeyframes(root, keyframePrefix);
251
+ root.walkRules((rule) => {
252
+ if (!isKeyframesRule(rule)) {
253
+ rule.selector = scopeAngularSelectorList(rule.selector, boundarySelector);
254
+ }
255
+ });
256
+ };
63
257
  export const scopeRemoteCss = ({ scopeId }) => {
64
258
  const validScopeId = validateMfScopeId(scopeId);
65
259
  const scopeSelector = getMfScopeSelector(validScopeId);
66
260
  const keyframePrefix = `edyn-mf-${validScopeId}--`;
67
- const keyframes = new Map();
68
261
  return {
69
262
  postcssPlugin: `edyn-mf-isolation-${validScopeId}`,
70
263
  Once(root) {
71
- root.walkAtRules((atRule) => {
72
- if (!/keyframes$/i.test(atRule.name) || atRule.params.startsWith(keyframePrefix)) {
73
- return;
74
- }
75
- const originalName = atRule.params.trim();
76
- const scopedName = `${keyframePrefix}${originalName}`;
77
- keyframes.set(originalName, scopedName);
78
- atRule.params = scopedName;
79
- });
80
- root.walkRules((rule) => {
81
- if (!isKeyframesRule(rule)) {
82
- rule.selector = scopeSelectorList(rule.selector, validScopeId, scopeSelector);
83
- }
84
- });
85
- root.walkDecls((declaration) => {
86
- if (!/^(?:-webkit-)?animation(?:-name)?$/i.test(declaration.prop) && !declaration.prop.startsWith('--animate-')) {
87
- return;
88
- }
89
- const parsed = valueParser(declaration.value);
90
- parsed.walk((node) => {
91
- if (node.type === 'word') {
92
- node.value = keyframes.get(node.value) ?? node.value;
93
- }
94
- });
95
- declaration.value = parsed.toString();
96
- });
264
+ scopeGlobalRoot(root, validScopeId, scopeSelector, keyframePrefix);
265
+ },
266
+ };
267
+ };
268
+ export const scopeAngularRemoteCss = ({ scopeId }) => {
269
+ const validScopeId = validateMfScopeId(scopeId);
270
+ const scopeSelector = getMfScopeSelector(validScopeId);
271
+ const boundarySelector = `[${MF_SCOPE_ATTRIBUTE}="${validScopeId}"]`;
272
+ const keyframePrefix = `edyn-mf-${validScopeId}--`;
273
+ return {
274
+ postcssPlugin: `edyn-mf-angular-isolation-${validScopeId}`,
275
+ Once(root) {
276
+ if (shouldUseAngularComponentScoping(root.source?.input.file)) {
277
+ scopeAngularComponentRoot(root, boundarySelector, keyframePrefix);
278
+ return;
279
+ }
280
+ scopeGlobalRoot(root, validScopeId, scopeSelector, keyframePrefix);
97
281
  },
98
282
  };
99
283
  };
@@ -1 +1 @@
1
- {"version":3,"file":"postcss.js","sourceRoot":"","sources":["../src/postcss.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postcss.js","sourceRoot":"","sources":["../src/postcss.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edynamix/mf-isolation",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "CSS and overlay isolation helpers for eDynamix microfrontends.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -20,6 +20,10 @@
20
20
  "types": "./dist/angular.d.ts",
21
21
  "import": "./dist/angular.js"
22
22
  },
23
+ "./angular-runtime": {
24
+ "types": "./dist/angular-runtime.d.ts",
25
+ "import": "./dist/angular-runtime.js"
26
+ },
23
27
  "./postcss": {
24
28
  "types": "./dist/postcss.d.ts",
25
29
  "import": "./dist/postcss.js"
@@ -43,7 +47,9 @@
43
47
  },
44
48
  "devDependencies": {
45
49
  "@angular/cdk": "^19.2.0",
46
- "@angular/core": "^19.2.0"
50
+ "@angular/compiler": "^19.2.0",
51
+ "@angular/core": "^19.2.0",
52
+ "@types/node": "^22.20.0"
47
53
  },
48
54
  "peerDependencies": {
49
55
  "@angular/cdk": "^19.0.0",