-
-
Notifications
You must be signed in to change notification settings - Fork 141
/
Copy pathbuild.ts
96 lines (92 loc) · 2.66 KB
/
build.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import { copySync, moveSync } from "https://deno.land/[email protected]/fs/mod.ts";
import denoJson from "./deno.json" with { type: "json" };
import * as dnt from "jsr:@deno/dnt";
await dnt.emptyDir("./dist");
try {
moveSync("./lib/core/core.backup.ts", "./lib/core/core.ts", {
overwrite: true,
});
} catch (_) {}
copySync("./lib/core/core.ts", "./lib/core/core.backup.ts");
const coreFile = await Deno.readTextFile("./lib/core/core.ts");
Deno.writeTextFileSync(
"./lib/core/core.ts",
coreFile.replace(
`import * as Core from "../../rs_lib/pkg/lucid_core.js";`,
"const Core = {};",
).replace(
`import * as MessageSigningInstance from "../../rs_lib/message_signing/pkg/message_signing.js";`,
"const MessageSigningInstance = {};",
),
);
try {
await dnt.build({
entryPoints: ["./mod.ts"],
skipNpmInstall: true,
outDir: "./dist",
test: false,
scriptModule: false,
esModule: true,
typeCheck: false,
skipSourceOutput: true,
shims: {},
package: {
name: "lucid-cardano",
version: denoJson.version,
license: denoJson.license,
author: denoJson.author,
description: denoJson.description,
repository: denoJson.repository,
type: "module",
main: "./esm/mod.js",
engines: {
node: ">=20",
},
},
postBuild: async () => {
const coreFileEsm = await Deno.readTextFile(
"./dist/esm/lib/core/core.js",
);
Deno.writeTextFileSync(
"./dist/esm/lib/core/core.js",
coreFileEsm
.replace(
"const Core = {};",
`import * as Core from "./libs/lucid_core/pkg/lucid_core.js";`,
)
.replace(
"const MessageSigningInstance = {};",
`import * as MessageSigningInstance from "./libs/message_signing/pkg/message_signing.js";`,
),
);
const coreTypesFileEsm = await Deno.readTextFile(
"./dist/esm/lib/core/core.d.ts",
);
Deno.writeTextFileSync(
"./dist/esm/lib/core/core.d.ts",
coreTypesFileEsm
.replaceAll(
"../../rs_lib/pkg/lucid_core",
"./libs/lucid_core/pkg/lucid_core",
)
.replace(
"../../rs_lib/message_signing/pkg/message_signing",
"./libs/message_signing/pkg/message_signing",
),
);
copySync(
"./rs_lib/message_signing/pkg/",
"./dist/esm/lib/core/libs/message_signing/pkg",
);
copySync(
"./rs_lib/pkg/",
"./dist/esm/lib/core/libs/lucid_core/pkg",
);
},
});
} catch (e) {
console.log(e);
}
moveSync("./lib/core/core.backup.ts", "./lib/core/core.ts", {
overwrite: true,
});