1 #!/usr/bin/env node
2
3 const fs = require("fs");
4 const path = require("path");
5
6 const [outputPath, version] = process.argv.slice(2);
7
8 if (!outputPath || !version) {
9 throw new Error("Usage: render-main-package.cjs <output-path> <version>");
10 }
11
12 const packageJson = {
13 name: "@smbcloud/cli",
14 version,
15 keywords: [
16 "smbcloud",
17 "cli",
18 "smb",
19 "pndk",
20 "smbcloud-cli",
21 "cloud",
22 "smbcloud",
23 "developer",
24 "tools",
25 "web3",
26 "web3js",
27 "web3.js",
28 "web3js",
29 "bitcoin",
30 "btc",
31 "ethereum",
32 "solana",
33 "eth",
34 "sol",
35 "blockchain",
36 "smart-contracts",
37 "dapps",
38 "dapp",
39 "dapp-tools",
40 "dapp-tool",
41 "dapp-toolkit",
42 "dapp-toolkit-cli",
43 ],
44 bin: {
45 smb: "lib/index.js",
46 },
47 files: ["lib", "README.md"],
48 description: "A CLI for accessing the smbCloud platform.",
49 license: "Apache-2.0",
50 repository: {
51 type: "git",
52 url: "git+https://github.com/smbcloudXYZ/smbcloud-cli.git",
53 },
54 scripts: {
55 typecheck: "tsc --noEmit",
56 lint: "eslint .",
57 "lint:fix": "eslint . --fix",
58 build: "tsc",
59 dev: "npm run build && node lib/index.js",
60 },
61 devDependencies: {
62 "@types/node": "^18.15.11",
63 "@typescript-eslint/eslint-plugin": "^5.48.0",
64 "@typescript-eslint/parser": "^5.48.0",
65 eslint: "^8.31.0",
66 typescript: "^5.0.0",
67 },
68 optionalDependencies: {
69 "@smbcloud/cli-darwin-arm64": version,
70 "@smbcloud/cli-darwin-x64": version,
71 "@smbcloud/cli-linux-x64": version,
72 "@smbcloud/cli-windows-arm64": version,
73 "@smbcloud/cli-windows-x64": version,
74 },
75 };
76
77 fs.writeFileSync(path.resolve(outputPath), `${JSON.stringify(packageJson, null, 2)}
78 `);