@teambit/workspace.modules.node-modules-linker 0.0.415 → 0.0.417

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.
@@ -3,7 +3,12 @@ import type { Component } from '@teambit/component';
3
3
  type PackageJsonTransformers = Function[];
4
4
  export declare class PackageJsonTransformer {
5
5
  static packageJsonTransformersRegistry: PackageJsonTransformers;
6
- static registerPackageJsonTransformer(func: (component: Component, packageJsonObject: Record<string, any>) => Promise<Record<string, any>>): void;
6
+ private static keyOfTransformer;
7
+ /**
8
+ * @param key when given, a later registration with the same key replaces this one. aspects pass their id, so a
9
+ * process that loads harmony more than once runs the transformer of the latest load only.
10
+ */
11
+ static registerPackageJsonTransformer(func: (component: Component, packageJsonObject: Record<string, any>) => Promise<Record<string, any>>, key?: string): void;
7
12
  /**
8
13
  * these are changes made by aspects
9
14
  */
@@ -28,8 +28,17 @@ function _legacy() {
28
28
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
29
29
  class PackageJsonTransformer {
30
30
  static packageJsonTransformersRegistry = [];
31
- static registerPackageJsonTransformer(func) {
32
- this.packageJsonTransformersRegistry.push(func);
31
+ // weak, so it holds no transformer, and stays right when a loader resets or restores the array
32
+ static keyOfTransformer = new WeakMap();
33
+
34
+ /**
35
+ * @param key when given, a later registration with the same key replaces this one. aspects pass their id, so a
36
+ * process that loads harmony more than once runs the transformer of the latest load only.
37
+ */
38
+ static registerPackageJsonTransformer(func, key) {
39
+ const index = key ? this.packageJsonTransformersRegistry.findIndex(fn => this.keyOfTransformer.get(fn) === key) : -1;
40
+ if (index === -1) this.packageJsonTransformersRegistry.push(func);else this.packageJsonTransformersRegistry[index] = func;
41
+ if (key) this.keyOfTransformer.set(func, key);
33
42
  }
34
43
 
35
44
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","data","require","_pMapSeries","_interopRequireDefault","_legacy","e","__esModule","default","PackageJsonTransformer","packageJsonTransformersRegistry","registerPackageJsonTransformer","func","push","applyTransformers","component","packageJson","newPackageJsonObject","packageJsonObject","mapSeries","transformer","scopeId","id","scope","owner","parseScope","name","fullName","contextForReplace","mainFile","state","_consumer","replacePlaceHolders","exports","replacePlaceHoldersRecursive","mergePackageJsonObject","obj","Object","keys","forEach","key","value","replacePlaceHolderForPackageValue","isObject"],"sources":["package-json-transformer.ts"],"sourcesContent":["import { isObject } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport type { PackageJsonFile } from '@teambit/component.sources';\nimport { parseScope, replacePlaceHolderForPackageValue } from '@teambit/legacy.utils';\nimport type { Component } from '@teambit/component';\n\ntype PackageJsonTransformers = Function[];\n\nexport class PackageJsonTransformer {\n static packageJsonTransformersRegistry: PackageJsonTransformers = [];\n static registerPackageJsonTransformer(\n func: (component: Component, packageJsonObject: Record<string, any>) => Promise<Record<string, any>>\n ) {\n this.packageJsonTransformersRegistry.push(func);\n }\n\n /**\n * these are changes made by aspects\n */\n static async applyTransformers(component: Component, packageJson: PackageJsonFile) {\n let newPackageJsonObject = packageJson.packageJsonObject;\n\n await mapSeries(PackageJsonTransformer.packageJsonTransformersRegistry, async (transformer) => {\n newPackageJsonObject = await transformer(component, newPackageJsonObject);\n });\n\n const scopeId = component.id.scope;\n const { scope, owner } = parseScope(scopeId);\n const name = component.id.fullName;\n\n const contextForReplace = {\n mainFile: component.state._consumer.mainFile,\n name,\n scope,\n scopeId,\n owner,\n };\n // TODO: Consider calling the replacePlaceHoldersRecursive instead\n replacePlaceHolders(newPackageJsonObject, contextForReplace);\n if (newPackageJsonObject.exports && typeof newPackageJsonObject.exports === 'object') {\n replacePlaceHoldersRecursive(newPackageJsonObject.exports, contextForReplace);\n }\n packageJson.mergePackageJsonObject(newPackageJsonObject);\n }\n}\n\nfunction replacePlaceHoldersRecursive(obj: Record<string, string>, contextForReplace): void {\n Object.keys(obj).forEach((key) => {\n let value = obj[key];\n if (typeof value === 'string') {\n value = replacePlaceHolderForPackageValue(contextForReplace, obj[key]);\n obj[key] = value;\n } else if (isObject(value)) {\n replacePlaceHoldersRecursive(value, contextForReplace);\n }\n }, {});\n}\n\nfunction replacePlaceHolders(obj: Record<string, string>, contextForReplace): void {\n Object.keys(obj).forEach((key) => {\n let value = obj[key];\n if (typeof value === 'string') {\n value = replacePlaceHolderForPackageValue(contextForReplace, obj[key]);\n }\n obj[key] = value;\n }, {});\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_lodash","data","require","_pMapSeries","_interopRequireDefault","_legacy","e","__esModule","default","PackageJsonTransformer","packageJsonTransformersRegistry","keyOfTransformer","WeakMap","registerPackageJsonTransformer","func","key","index","findIndex","fn","get","push","set","applyTransformers","component","packageJson","newPackageJsonObject","packageJsonObject","mapSeries","transformer","scopeId","id","scope","owner","parseScope","name","fullName","contextForReplace","mainFile","state","_consumer","replacePlaceHolders","exports","replacePlaceHoldersRecursive","mergePackageJsonObject","obj","Object","keys","forEach","value","replacePlaceHolderForPackageValue","isObject"],"sources":["package-json-transformer.ts"],"sourcesContent":["import { isObject } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport type { PackageJsonFile } from '@teambit/component.sources';\nimport { parseScope, replacePlaceHolderForPackageValue } from '@teambit/legacy.utils';\nimport type { Component } from '@teambit/component';\n\ntype PackageJsonTransformers = Function[];\n\nexport class PackageJsonTransformer {\n static packageJsonTransformersRegistry: PackageJsonTransformers = [];\n // weak, so it holds no transformer, and stays right when a loader resets or restores the array\n private static keyOfTransformer = new WeakMap<Function, string>();\n\n /**\n * @param key when given, a later registration with the same key replaces this one. aspects pass their id, so a\n * process that loads harmony more than once runs the transformer of the latest load only.\n */\n static registerPackageJsonTransformer(\n func: (component: Component, packageJsonObject: Record<string, any>) => Promise<Record<string, any>>,\n key?: string\n ) {\n const index = key\n ? this.packageJsonTransformersRegistry.findIndex((fn) => this.keyOfTransformer.get(fn) === key)\n : -1;\n if (index === -1) this.packageJsonTransformersRegistry.push(func);\n else this.packageJsonTransformersRegistry[index] = func;\n if (key) this.keyOfTransformer.set(func, key);\n }\n\n /**\n * these are changes made by aspects\n */\n static async applyTransformers(component: Component, packageJson: PackageJsonFile) {\n let newPackageJsonObject = packageJson.packageJsonObject;\n\n await mapSeries(PackageJsonTransformer.packageJsonTransformersRegistry, async (transformer) => {\n newPackageJsonObject = await transformer(component, newPackageJsonObject);\n });\n\n const scopeId = component.id.scope;\n const { scope, owner } = parseScope(scopeId);\n const name = component.id.fullName;\n\n const contextForReplace = {\n mainFile: component.state._consumer.mainFile,\n name,\n scope,\n scopeId,\n owner,\n };\n // TODO: Consider calling the replacePlaceHoldersRecursive instead\n replacePlaceHolders(newPackageJsonObject, contextForReplace);\n if (newPackageJsonObject.exports && typeof newPackageJsonObject.exports === 'object') {\n replacePlaceHoldersRecursive(newPackageJsonObject.exports, contextForReplace);\n }\n packageJson.mergePackageJsonObject(newPackageJsonObject);\n }\n}\n\nfunction replacePlaceHoldersRecursive(obj: Record<string, string>, contextForReplace): void {\n Object.keys(obj).forEach((key) => {\n let value = obj[key];\n if (typeof value === 'string') {\n value = replacePlaceHolderForPackageValue(contextForReplace, obj[key]);\n obj[key] = value;\n } else if (isObject(value)) {\n replacePlaceHoldersRecursive(value, contextForReplace);\n }\n }, {});\n}\n\nfunction replacePlaceHolders(obj: Record<string, string>, contextForReplace): void {\n Object.keys(obj).forEach((key) => {\n let value = obj[key];\n if (typeof value === 'string') {\n value = replacePlaceHolderForPackageValue(contextForReplace, obj[key]);\n }\n obj[key] = value;\n }, {});\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,10 +8,23 @@ type PackageJsonTransformers = Function[];
8
8
 
9
9
  export class PackageJsonTransformer {
10
10
  static packageJsonTransformersRegistry: PackageJsonTransformers = [];
11
+ // weak, so it holds no transformer, and stays right when a loader resets or restores the array
12
+ private static keyOfTransformer = new WeakMap<Function, string>();
13
+
14
+ /**
15
+ * @param key when given, a later registration with the same key replaces this one. aspects pass their id, so a
16
+ * process that loads harmony more than once runs the transformer of the latest load only.
17
+ */
11
18
  static registerPackageJsonTransformer(
12
- func: (component: Component, packageJsonObject: Record<string, any>) => Promise<Record<string, any>>
19
+ func: (component: Component, packageJsonObject: Record<string, any>) => Promise<Record<string, any>>,
20
+ key?: string
13
21
  ) {
14
- this.packageJsonTransformersRegistry.push(func);
22
+ const index = key
23
+ ? this.packageJsonTransformersRegistry.findIndex((fn) => this.keyOfTransformer.get(fn) === key)
24
+ : -1;
25
+ if (index === -1) this.packageJsonTransformersRegistry.push(func);
26
+ else this.packageJsonTransformersRegistry[index] = func;
27
+ if (key) this.keyOfTransformer.set(func, key);
15
28
  }
16
29
 
17
30
  /**
package/package.json CHANGED
@@ -1,30 +1,30 @@
1
1
  {
2
2
  "name": "@teambit/workspace.modules.node-modules-linker",
3
- "version": "0.0.415",
3
+ "version": "0.0.417",
4
4
  "homepage": "https://bit.cloud/teambit/workspace/modules/node-modules-linker",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.workspace",
8
8
  "name": "modules/node-modules-linker",
9
- "version": "0.0.415"
9
+ "version": "0.0.417"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
13
13
  "p-map-series": "2.1.0",
14
14
  "lodash": "4.18.1",
15
15
  "@teambit/component-id": "1.2.5",
16
+ "@teambit/component-issues": "0.0.192",
16
17
  "@teambit/legacy.utils": "0.0.56",
17
18
  "@teambit/component-package-version": "0.0.466",
18
19
  "@teambit/legacy.constants": "0.0.49",
19
- "@teambit/legacy.logger": "0.0.67",
20
+ "@teambit/legacy.logger": "0.0.68",
20
21
  "@teambit/toolbox.path.path": "0.0.26",
21
22
  "@teambit/workspace.root-components": "1.0.1",
22
- "@teambit/component-issues": "0.0.192",
23
- "@teambit/component.sources": "0.0.234",
24
- "@teambit/legacy.consumer-component": "0.0.183",
25
- "@teambit/pkg.modules.component-package-name": "0.0.189",
26
- "@teambit/legacy.bit-map": "0.0.239",
27
- "@teambit/legacy.consumer": "0.0.182"
23
+ "@teambit/component.sources": "0.0.236",
24
+ "@teambit/legacy.consumer-component": "0.0.185",
25
+ "@teambit/pkg.modules.component-package-name": "0.0.191",
26
+ "@teambit/legacy.bit-map": "0.0.241",
27
+ "@teambit/legacy.consumer": "0.0.184"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/fs-extra": "9.0.7",