@edynamix/mf-isolation 0.0.1 → 0.0.2

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
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.2",
4
4
  "description": "CSS and overlay isolation helpers for eDynamix microfrontends.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -43,7 +43,9 @@
43
43
  },
44
44
  "devDependencies": {
45
45
  "@angular/cdk": "^19.2.0",
46
- "@angular/core": "^19.2.0"
46
+ "@angular/compiler": "^19.2.0",
47
+ "@angular/core": "^19.2.0",
48
+ "@types/node": "^22.20.0"
47
49
  },
48
50
  "peerDependencies": {
49
51
  "@angular/cdk": "^19.0.0",