module-replacements 2.10.1 → 3.0.0-beta.0

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
@@ -5,6 +5,7 @@ provides a collection of module replacements (i.e. possible alternative
5
5
  packages).
6
6
 
7
7
  We provide two things:
8
+
8
9
  - Manifests (mappings of modules to their possible replacements)
9
10
  - Documentation for more complex replacements
10
11
 
@@ -17,11 +18,10 @@ You can find a list of replacements in the
17
18
 
18
19
  Some tools consume the lists of modules in this repository:
19
20
 
20
- | Name | Description |
21
- | -- | -- |
21
+ | Name | Description |
22
+ | -------------------------------------------------------------------------- | --------------------------------------------- |
22
23
  | [eslint-plugin-depend](https://github.com/es-tooling/eslint-plugin-depend) | ESLint plugin to detect possible replacements |
23
24
 
24
-
25
25
  ## Manifests
26
26
 
27
27
  The manifests can be used via the `module-replacements` npm package.
@@ -82,3 +82,11 @@ open an issue where this can be discussed.
82
82
 
83
83
  Keep in mind, very newly available native features are unlikely to join the
84
84
  list since they are not widely available yet.
85
+
86
+ ## Sponsors
87
+
88
+ <p align="center">
89
+ <a href="https://github.com/sponsors/e18e">
90
+ <img src="https://e18e.dev/sponsors.svg" alt="e18e community sponsors" />
91
+ </a>
92
+ </p>
@@ -25,9 +25,14 @@ const preferredReplacements = JSON.parse((0, node_fs_1.readFileSync)(`${manifest
25
25
  exports.preferredReplacements = preferredReplacements;
26
26
  __exportStar(require("./types.js"), exports);
27
27
  exports.all = {
28
- moduleReplacements: [
29
- ...nativeReplacements.moduleReplacements,
30
- ...microUtilsReplacements.moduleReplacements,
31
- ...preferredReplacements.moduleReplacements
32
- ]
28
+ replacements: {
29
+ ...nativeReplacements.replacements,
30
+ ...microUtilsReplacements.replacements,
31
+ ...preferredReplacements.replacements
32
+ },
33
+ mappings: {
34
+ ...nativeReplacements.mappings,
35
+ ...microUtilsReplacements.mappings,
36
+ ...preferredReplacements.mappings
37
+ }
33
38
  };
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.manifestsDir = void 0;
27
37
  const path = __importStar(require("node:path"));
@@ -1,27 +1,55 @@
1
+ export interface EngineConstraint {
2
+ engine: string;
3
+ minVersion?: string;
4
+ maxVersion?: string;
5
+ }
6
+ export interface KnownUrlDescriptor {
7
+ type: 'mdn' | 'node' | 'e18e';
8
+ id: string;
9
+ }
10
+ export type KnownUrl = KnownUrlDescriptor | string;
1
11
  interface ModuleReplacementLike {
2
- type: string;
3
- moduleName: string;
4
- category?: string;
12
+ id: string;
13
+ engines?: EngineConstraint[];
14
+ preferred?: boolean;
15
+ url?: KnownUrl;
5
16
  }
6
17
  export interface DocumentedModuleReplacement extends ModuleReplacementLike {
7
18
  type: 'documented';
8
- docPath: string;
19
+ url: KnownUrl;
20
+ replacementModule: string;
9
21
  }
10
22
  export interface NativeModuleReplacement extends ModuleReplacementLike {
11
23
  type: 'native';
12
- mdnPath: string;
13
- nodeVersion: string;
14
- replacement: string;
24
+ url: KnownUrl;
25
+ description?: string;
26
+ webFeatureId?: {
27
+ featureId: string;
28
+ compatKey: string;
29
+ };
30
+ nodeFeatureId?: {
31
+ moduleName: string;
32
+ exportName?: string;
33
+ };
15
34
  }
16
35
  export interface SimpleModuleReplacement extends ModuleReplacementLike {
17
36
  type: 'simple';
18
- replacement: string;
37
+ description: string;
38
+ example?: string;
19
39
  }
20
- export interface NoModuleReplacement extends ModuleReplacementLike {
21
- type: 'none';
40
+ export interface RemovalReplacement extends ModuleReplacementLike {
41
+ type: 'removal';
42
+ description: string;
43
+ }
44
+ export type ModuleReplacement = DocumentedModuleReplacement | NativeModuleReplacement | SimpleModuleReplacement | RemovalReplacement;
45
+ export interface ModuleReplacementMapping {
46
+ type: 'module';
47
+ moduleName: string;
48
+ replacements: string[];
49
+ url?: KnownUrl;
22
50
  }
23
- export type ModuleReplacement = DocumentedModuleReplacement | NativeModuleReplacement | SimpleModuleReplacement | NoModuleReplacement;
24
51
  export interface ManifestModule {
25
- moduleReplacements: ModuleReplacement[];
52
+ mappings: Record<string, ModuleReplacementMapping>;
53
+ replacements: Record<string, ModuleReplacement>;
26
54
  }
27
55
  export {};
package/dist/esm/main.js CHANGED
@@ -6,9 +6,14 @@ const preferredReplacements = JSON.parse(readFileSync(`${manifestsDir}/preferred
6
6
  export * from './types.js';
7
7
  export { nativeReplacements, microUtilsReplacements, preferredReplacements };
8
8
  export const all = {
9
- moduleReplacements: [
10
- ...nativeReplacements.moduleReplacements,
11
- ...microUtilsReplacements.moduleReplacements,
12
- ...preferredReplacements.moduleReplacements
13
- ]
9
+ replacements: {
10
+ ...nativeReplacements.replacements,
11
+ ...microUtilsReplacements.replacements,
12
+ ...preferredReplacements.replacements
13
+ },
14
+ mappings: {
15
+ ...nativeReplacements.mappings,
16
+ ...microUtilsReplacements.mappings,
17
+ ...preferredReplacements.mappings
18
+ }
14
19
  };
@@ -1,27 +1,55 @@
1
+ export interface EngineConstraint {
2
+ engine: string;
3
+ minVersion?: string;
4
+ maxVersion?: string;
5
+ }
6
+ export interface KnownUrlDescriptor {
7
+ type: 'mdn' | 'node' | 'e18e';
8
+ id: string;
9
+ }
10
+ export type KnownUrl = KnownUrlDescriptor | string;
1
11
  interface ModuleReplacementLike {
2
- type: string;
3
- moduleName: string;
4
- category?: string;
12
+ id: string;
13
+ engines?: EngineConstraint[];
14
+ preferred?: boolean;
15
+ url?: KnownUrl;
5
16
  }
6
17
  export interface DocumentedModuleReplacement extends ModuleReplacementLike {
7
18
  type: 'documented';
8
- docPath: string;
19
+ url: KnownUrl;
20
+ replacementModule: string;
9
21
  }
10
22
  export interface NativeModuleReplacement extends ModuleReplacementLike {
11
23
  type: 'native';
12
- mdnPath: string;
13
- nodeVersion: string;
14
- replacement: string;
24
+ url: KnownUrl;
25
+ description?: string;
26
+ webFeatureId?: {
27
+ featureId: string;
28
+ compatKey: string;
29
+ };
30
+ nodeFeatureId?: {
31
+ moduleName: string;
32
+ exportName?: string;
33
+ };
15
34
  }
16
35
  export interface SimpleModuleReplacement extends ModuleReplacementLike {
17
36
  type: 'simple';
18
- replacement: string;
37
+ description: string;
38
+ example?: string;
19
39
  }
20
- export interface NoModuleReplacement extends ModuleReplacementLike {
21
- type: 'none';
40
+ export interface RemovalReplacement extends ModuleReplacementLike {
41
+ type: 'removal';
42
+ description: string;
43
+ }
44
+ export type ModuleReplacement = DocumentedModuleReplacement | NativeModuleReplacement | SimpleModuleReplacement | RemovalReplacement;
45
+ export interface ModuleReplacementMapping {
46
+ type: 'module';
47
+ moduleName: string;
48
+ replacements: string[];
49
+ url?: KnownUrl;
22
50
  }
23
- export type ModuleReplacement = DocumentedModuleReplacement | NativeModuleReplacement | SimpleModuleReplacement | NoModuleReplacement;
24
51
  export interface ManifestModule {
25
- moduleReplacements: ModuleReplacement[];
52
+ mappings: Record<string, ModuleReplacementMapping>;
53
+ replacements: Record<string, ModuleReplacement>;
26
54
  }
27
55
  export {};