@koine/node 2.0.0-beta.148 → 2.0.0-beta.149

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
@@ -37,6 +37,6 @@
37
37
  "module": "./index.esm.js",
38
38
  "main": "./index.cjs.js",
39
39
  "types": "./index.esm.d.ts",
40
- "version": "2.0.0-beta.148",
40
+ "version": "2.0.0-beta.149",
41
41
  "dependencies": {}
42
42
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- function swcCreateTransform(r,e=!1){return {[`${r}/?(((\\w*)?/?)*)`]:{transform:`${r}/{{ matches.[1] }}/{{member}}`}}}
5
+ function swcCreateTransform(r){let{path:e,flat:t}=r;return t?{[e]:{transform:`${e}/{{member}}`}}:{[`${e}/?(((\\w*)?/?)*)`]:{transform:`${e}/{{ matches.[1] }}/{{member}}`}}}
6
6
 
7
7
  exports.default = swcCreateTransform;
8
8
  exports.swcCreateTransform = swcCreateTransform;
@@ -1,11 +1,23 @@
1
- export type SwcTransform<LibName extends string> = Record<`${LibName}/?(((\\w*)?/?)*)`, {
2
- transform: `${LibName}/{{ matches.[1] }}/{{member}}`;
1
+ /**
2
+ * Definition of a lib to transform with SWC, it consists of:
3
+ *
4
+ * 1) `path`: the library path e.g. `@/components`
5
+ * 2) `flat` flag: `true` for packages where all consumable exports are at the
6
+ * root level (no exports from nested folders), `false` or `undefined` otherwise
7
+ */
8
+ export type SwcTransformingLib = {
9
+ path: string;
10
+ flat?: boolean;
11
+ };
12
+ export type SwcTransform<Path extends string, Flat extends undefined | boolean = false> = Record<`${Path}/?(((\\w*)?/?)*)`, {
13
+ transform: Flat extends true ? `${Path}/{{member}}` : `${Path}/{{ matches.[1] }}/{{member}}`;
3
14
  }>;
4
15
  /**
5
16
  * @category swc
6
- * @param name e.g. `@myorg/mylib` or `@/myprojectlib`
17
+ *
18
+ * @param path e.g. `@myorg/mylib` or `@/myprojectlib`
7
19
  * @param flat Pass `true` for packages where all consumable exports are at the
8
20
  * root level (no exports from nested folders)
9
21
  */
10
- export declare function swcCreateTransform<T extends string>(name: T, _flat?: boolean): SwcTransform<T>;
22
+ export declare function swcCreateTransform<TLib extends SwcTransformingLib>(lib: TLib): SwcTransform<string, true>;
11
23
  export default swcCreateTransform;
@@ -1,3 +1,3 @@
1
- function swcCreateTransform(r,e=!1){return {[`${r}/?(((\\w*)?/?)*)`]:{transform:`${r}/{{ matches.[1] }}/{{member}}`}}}
1
+ function swcCreateTransform(r){let{path:e,flat:t}=r;return t?{[e]:{transform:`${e}/{{member}}`}}:{[`${e}/?(((\\w*)?/?)*)`]:{transform:`${e}/{{ matches.[1] }}/{{member}}`}}}
2
2
 
3
3
  export { swcCreateTransform as default, swcCreateTransform };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var swcCreateTransform = require('./swcCreateTransform.cjs.js');
6
6
 
7
- const swcCreateTransforms=(e,s)=>e.reduce((e,o)=>({...e,...swcCreateTransform.swcCreateTransform(s?`${s}/${o}`:o)}),{});
7
+ const swcCreateTransforms=e=>e.reduce((e,s)=>({...e,...swcCreateTransform.swcCreateTransform(s)}),{});
8
8
 
9
9
  exports.default = swcCreateTransforms;
10
10
  exports.swcCreateTransforms = swcCreateTransforms;
@@ -1,7 +1,7 @@
1
1
  import type { FlatObjectFirstLevel } from "@koine/utils";
2
- import { type SwcTransform } from "./swcCreateTransform";
3
- export type SwcTransforms<Names extends string, Prefix extends string> = FlatObjectFirstLevel<{
4
- [N in Names]: SwcTransform<`${Prefix}${N}`>;
2
+ import { type SwcTransform, type SwcTransformingLib } from "./swcCreateTransform";
3
+ export type SwcTransforms<TLibs extends readonly SwcTransformingLib[]> = FlatObjectFirstLevel<{
4
+ [TLib in TLibs[number] as TLib["path"]]: SwcTransform<TLib["path"], TLib["flat"]>;
5
5
  }>;
6
6
  /**
7
7
  * @see https://www.zhoulujun.net/nextjs/advanced-features/compiler.html#modularize-imports
@@ -9,5 +9,5 @@ export type SwcTransforms<Names extends string, Prefix extends string> = FlatObj
9
9
  * @category tooling
10
10
  * @category swc
11
11
  */
12
- export declare const swcCreateTransforms: <TLibs extends readonly string[], TScope extends string>(libs: TLibs, scope?: TScope) => FlatObjectFirstLevel<{ [N in TLibs[number]]: SwcTransform<`${TScope extends string ? `${TScope}/` : ""}${N}`>; }>;
12
+ export declare const swcCreateTransforms: <TLibs extends readonly SwcTransformingLib[]>(libs: TLibs) => FlatObjectFirstLevel<{ [TLib in TLibs[number] as TLib["path"]]: SwcTransform<TLib["path"], TLib["flat"]>; }>;
13
13
  export default swcCreateTransforms;
@@ -1,5 +1,5 @@
1
1
  import { swcCreateTransform } from './swcCreateTransform.esm.js';
2
2
 
3
- const swcCreateTransforms=(e,s)=>e.reduce((e,o)=>({...e,...swcCreateTransform(s?`${s}/${o}`:o)}),{});
3
+ const swcCreateTransforms=e=>e.reduce((e,s)=>({...e,...swcCreateTransform(s)}),{});
4
4
 
5
5
  export { swcCreateTransforms as default, swcCreateTransforms };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var swcCreateTransforms = require('./swcCreateTransforms.cjs.js');
6
6
 
7
- const swcTransformsKoine=swcCreateTransforms.swcCreateTransforms(["api","browser","dom","i18n","next","node","react","utils"],"@koine");
7
+ const swcTransformsKoine=swcCreateTransforms.swcCreateTransforms([{path:"@koine/api"},{path:"@koine/browser",flat:!0},{path:"@koine/dom",flat:!0},{path:"@koine/i18n"},{path:"@koine/next"},{path:"@koine/node"},{path:"@koine/react"},{path:"@koine/utils",flat:!0}]);
8
8
 
9
9
  exports.default = swcTransformsKoine;
10
10
  exports.swcTransformsKoine = swcTransformsKoine;
@@ -9,10 +9,10 @@ export declare const swcTransformsKoine: {
9
9
  transform: "@koine/api/{{ matches.[1] }}/{{member}}";
10
10
  };
11
11
  "@koine/browser/?(((\\w*)?/?)*)": {
12
- transform: "@koine/browser/{{ matches.[1] }}/{{member}}";
12
+ transform: "@koine/browser/{{member}}";
13
13
  };
14
14
  "@koine/dom/?(((\\w*)?/?)*)": {
15
- transform: "@koine/dom/{{ matches.[1] }}/{{member}}";
15
+ transform: "@koine/dom/{{member}}";
16
16
  };
17
17
  "@koine/i18n/?(((\\w*)?/?)*)": {
18
18
  transform: "@koine/i18n/{{ matches.[1] }}/{{member}}";
@@ -27,7 +27,7 @@ export declare const swcTransformsKoine: {
27
27
  transform: "@koine/react/{{ matches.[1] }}/{{member}}";
28
28
  };
29
29
  "@koine/utils/?(((\\w*)?/?)*)": {
30
- transform: "@koine/utils/{{ matches.[1] }}/{{member}}";
30
+ transform: "@koine/utils/{{member}}";
31
31
  };
32
32
  };
33
33
  export default swcTransformsKoine;
@@ -1,5 +1,5 @@
1
1
  import { swcCreateTransforms } from './swcCreateTransforms.esm.js';
2
2
 
3
- const swcTransformsKoine=swcCreateTransforms(["api","browser","dom","i18n","next","node","react","utils"],"@koine");
3
+ const swcTransformsKoine=swcCreateTransforms([{path:"@koine/api"},{path:"@koine/browser",flat:!0},{path:"@koine/dom",flat:!0},{path:"@koine/i18n"},{path:"@koine/next"},{path:"@koine/node"},{path:"@koine/react"},{path:"@koine/utils",flat:!0}]);
4
4
 
5
5
  export { swcTransformsKoine as default, swcTransformsKoine };
package/swc.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { swcCreateTransform } from "./swc/swcCreateTransform";
2
- export { swcCreateTransforms } from "./swc/swcCreateTransforms";
1
+ export { swcCreateTransform, type SwcTransform, type SwcTransformingLib, } from "./swc/swcCreateTransform";
2
+ export { swcCreateTransforms, type SwcTransforms, } from "./swc/swcCreateTransforms";
3
3
  export { swcTransformsKoine } from "./swc/swcTransformsKoine";