1
1
import * as dnt from "https://deno.land/x/[email protected] /mod.ts" ;
2
- import * as esbuild from "https://deno.land/x/[email protected] /mod.js" ;
2
+ import { copySync } from "https://deno.land/[email protected] /fs/copy.ts" ;
3
+ import { ensureDirSync } from "https://deno.land/[email protected] /fs/ensure_dir.ts" ;
4
+ // import { build } from "https://deno.land/x/[email protected] /mod.js";
3
5
import packageInfo from "./package.json" assert { type : "json" } ;
4
6
5
7
await dnt . emptyDir ( "./dist" ) ;
@@ -18,7 +20,11 @@ await dnt.build({
18
20
scriptModule : false ,
19
21
typeCheck : false ,
20
22
skipSourceOutput : true ,
21
- shims : { } ,
23
+ shims : {
24
+ webSocket : true ,
25
+ undici : true ,
26
+ crypto : true ,
27
+ } ,
22
28
package : {
23
29
...packageInfo
24
30
} ,
@@ -27,101 +33,28 @@ await dnt.build({
27
33
Deno . copyFileSync ( "LICENSE" , "dist/LICENSE" ) ;
28
34
Deno . copyFileSync ( "README.md" , "dist/README.md" ) ;
29
35
30
- // Copy WebAssembly
31
-
32
- Deno . copyFileSync (
33
- "src/core/libs/cardano_multiplatform_lib/cardano_multiplatform_lib_bg.wasm" ,
34
- "dist/esm/src/core/libs/cardano_multiplatform_lib/cardano_multiplatform_lib_bg.wasm" ,
35
- ) ;
36
- Deno . copyFileSync (
37
- "src/core/libs/cardano_message_signing/cardano_message_signing_bg.wasm" ,
38
- "dist/esm/src/core/libs/cardano_message_signing/cardano_message_signing_bg.wasm" ,
39
- ) ;
40
-
41
- //** Web ES Module */
36
+ // Copy WASM Pack files
42
37
43
- const importPathPlugin = {
44
- name : "core-import-path" ,
45
- setup ( build : any ) {
46
- build . onResolve ( {
47
- filter :
48
- / ^ \. \/ l i b s \/ c a r d a n o _ m u l t i p l a t f o r m _ l i b \/ c a r d a n o _ m u l t i p l a t f o r m _ l i b .g e n e r a t e d .j s $ / ,
49
- } , ( args : any ) => {
50
- return {
51
- path :
52
- "../esm/src/core/libs/cardano_multiplatform_lib/cardano_multiplatform_lib.generated.js" ,
53
- external : true ,
54
- } ;
55
- } ) ;
56
- build . onResolve ( {
57
- filter :
58
- / ^ \. \/ l i b s \/ c a r d a n o _ m e s s a g e _ s i g n i n g \/ c a r d a n o _ m e s s a g e _ s i g n i n g .g e n e r a t e d .j s $ / ,
59
- } , ( args : any ) => {
60
- return {
61
- path :
62
- "../esm/src/core/libs/cardano_message_signing/cardano_message_signing.generated.js" ,
63
- external : true ,
64
- } ;
65
- } ) ;
66
- } ,
67
- } ;
68
-
69
- // await esbuild.build({
70
- // bundle: true,
71
- // format: "esm",
72
- // entryPoints: ["./dist/esm/mod.js"],
73
- // outfile: "./dist/web/mod.js",
74
- // minify: true,
75
- // plugins: [
76
- // importPathPlugin,
77
- // ],
78
- // });
79
- // esbuild.stop();
38
+ for ( const pkg of [ "cardano_message_signing" , "cardano_multiplatform_lib" ] ) {
39
+ const files = Deno . readDirSync ( `src/core/libs/${ pkg } /pkg` ) ;
80
40
81
- // /** Add necessary global import statements to NPM ES Module. */
82
- const coreFile = `
83
- const C = await (async () => {
84
- try {
85
- return await import(
86
- /* webpackIgnore: true */ "./libs/cardano_multiplatform_lib/nodejs/cardano_multiplatform_lib.generated.js"
87
- );
88
- } catch (_e) {
89
- // This only ever happens during SSR rendering
90
- return null;
91
- }
92
- })();
93
- const M = await (async () => {
94
- try {
95
- return await import(
96
- /* webpackIgnore: true */ "./libs/cardano_message_signing/nodejs/cardano_message_signing.generated.js"
97
- );
98
- } catch (_e) {
99
- // This only ever happens during SSR rendering
100
- return null;
41
+ for ( const file of files ) {
42
+ if ( file . isFile && ! file . name . endsWith ( ".js" ) ) {
43
+ copySync (
44
+ `src/core/libs/${ pkg } /pkg/${ file . name } ` ,
45
+ `dist/esm/src/core/libs/${ pkg } /pkg/${ file . name } ` ,
46
+ { overwrite : true }
47
+ ) ;
48
+ }
101
49
}
102
- })();
103
- export { C, M };
104
- ` ;
105
- Deno . writeTextFileSync ( "dist/esm/src/core/core.js" , coreFile ) ;
106
50
107
- Deno . mkdirSync ( "dist/esm/ src/core/libs/cardano_message_signing/nodejs" ) ;
108
- Deno . mkdirSync ( "dist/esm/src/core/libs/cardano_multiplatform_lib/nodejs" ) ;
51
+ const packageJson = JSON . parse ( Deno . readTextFileSync ( ` src/core/libs/${ pkg } /pkg/package.json` ) ) ;
52
+ packageJson . type = "commonjs" ;
109
53
110
- Deno . copyFileSync (
111
- "src/core/libs/cardano_message_signing/nodejs/cardano_message_signing.generated.js" ,
112
- "dist/esm/src/core/libs/cardano_message_signing/nodejs/cardano_message_signing.generated.js" ,
113
- ) ;
54
+ Deno . writeTextFile (
55
+ `dist/esm/src/core/libs/${ pkg } /pkg/package.json` ,
56
+ JSON . stringify ( packageJson , null , 2 ) ,
57
+ ) ;
58
+ }
114
59
115
- Deno . copyFileSync (
116
- "src/core/libs/cardano_multiplatform_lib/nodejs/cardano_multiplatform_lib.generated.js" ,
117
- "dist/esm/src/core/libs/cardano_multiplatform_lib/nodejs/cardano_multiplatform_lib.generated.js" ,
118
- ) ;
119
60
120
- Deno . writeTextFile (
121
- "dist/esm/src/core/libs/cardano_message_signing/nodejs/package.json" ,
122
- JSON . stringify ( { type : "commonjs" } ) ,
123
- ) ;
124
- Deno . writeTextFile (
125
- "dist/esm/src/core/libs/cardano_multiplatform_lib/nodejs/package.json" ,
126
- JSON . stringify ( { type : "commonjs" } ) ,
127
- ) ;
0 commit comments