@prosopo/scripts 3.0.11 → 3.0.13

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.
Files changed (118) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/cjs/cli/index.cjs +105 -0
  3. package/dist/cjs/contract/import.cjs +183 -0
  4. package/dist/cjs/contract/index.cjs +4 -0
  5. package/dist/cjs/index.cjs +25 -0
  6. package/dist/cjs/scripts/setVersion.cjs +132 -0
  7. package/dist/cjs/setup/index.cjs +7 -0
  8. package/dist/cjs/setup/provider.cjs +11 -0
  9. package/dist/cjs/setup/setup.cjs +138 -0
  10. package/dist/cjs/setup/site.cjs +25 -0
  11. package/dist/cjs/util/exec.cjs +46 -0
  12. package/dist/cjs/util/fluxLogDappDetails.cjs +18 -0
  13. package/dist/cjs/util/index.cjs +13 -0
  14. package/dist/cjs/util/loadContractFiles.cjs +44 -0
  15. package/dist/cjs/util/updateEnv.cjs +71 -0
  16. package/dist/cli/index.js +96 -99
  17. package/dist/contract/import.js +169 -149
  18. package/dist/contract/index.js +4 -2
  19. package/dist/index.js +25 -5
  20. package/dist/scripts/setVersion.js +115 -121
  21. package/dist/setup/index.js +7 -3
  22. package/dist/setup/provider.js +8 -6
  23. package/dist/setup/setup.js +113 -113
  24. package/dist/setup/site.js +23 -19
  25. package/dist/util/exec.js +42 -41
  26. package/dist/util/fluxLogDappDetails.js +17 -15
  27. package/dist/util/index.js +13 -5
  28. package/dist/util/loadContractFiles.js +34 -30
  29. package/dist/util/updateEnv.js +59 -54
  30. package/package.json +29 -21
  31. package/vite.cjs.config.ts +19 -0
  32. package/vite.esm.config.ts +20 -0
  33. package/dist/cli/index.d.ts +0 -2
  34. package/dist/cli/index.d.ts.map +0 -1
  35. package/dist/cli/index.js.map +0 -1
  36. package/dist/contract/import.d.ts +0 -3
  37. package/dist/contract/import.d.ts.map +0 -1
  38. package/dist/contract/import.js.map +0 -1
  39. package/dist/contract/index.d.ts +0 -2
  40. package/dist/contract/index.d.ts.map +0 -1
  41. package/dist/contract/index.js.map +0 -1
  42. package/dist/index.d.ts +0 -5
  43. package/dist/index.d.ts.map +0 -1
  44. package/dist/index.js.map +0 -1
  45. package/dist/scripts/bytesToHex.d.ts +0 -2
  46. package/dist/scripts/bytesToHex.d.ts.map +0 -1
  47. package/dist/scripts/bytesToHex.js +0 -7
  48. package/dist/scripts/bytesToHex.js.map +0 -1
  49. package/dist/scripts/convertAccount.d.ts +0 -2
  50. package/dist/scripts/convertAccount.d.ts.map +0 -1
  51. package/dist/scripts/convertAccount.js +0 -24
  52. package/dist/scripts/convertAccount.js.map +0 -1
  53. package/dist/scripts/encodeDecode.d.ts +0 -2
  54. package/dist/scripts/encodeDecode.d.ts.map +0 -1
  55. package/dist/scripts/encodeDecode.js +0 -108
  56. package/dist/scripts/encodeDecode.js.map +0 -1
  57. package/dist/scripts/findUnused.d.ts +0 -2
  58. package/dist/scripts/findUnused.d.ts.map +0 -1
  59. package/dist/scripts/findUnused.js +0 -80
  60. package/dist/scripts/findUnused.js.map +0 -1
  61. package/dist/scripts/generateMnemonic.d.ts +0 -2
  62. package/dist/scripts/generateMnemonic.d.ts.map +0 -1
  63. package/dist/scripts/generateMnemonic.js +0 -26
  64. package/dist/scripts/generateMnemonic.js.map +0 -1
  65. package/dist/scripts/getBlock.d.ts +0 -2
  66. package/dist/scripts/getBlock.d.ts.map +0 -1
  67. package/dist/scripts/getBlock.js +0 -17
  68. package/dist/scripts/getBlock.js.map +0 -1
  69. package/dist/scripts/getContractInfoOf.d.ts +0 -2
  70. package/dist/scripts/getContractInfoOf.d.ts.map +0 -1
  71. package/dist/scripts/getContractInfoOf.js +0 -40
  72. package/dist/scripts/getContractInfoOf.js.map +0 -1
  73. package/dist/scripts/hash.d.ts +0 -2
  74. package/dist/scripts/hash.d.ts.map +0 -1
  75. package/dist/scripts/hash.js +0 -41
  76. package/dist/scripts/hash.js.map +0 -1
  77. package/dist/scripts/hexToBytes.d.ts +0 -2
  78. package/dist/scripts/hexToBytes.d.ts.map +0 -1
  79. package/dist/scripts/hexToBytes.js +0 -6
  80. package/dist/scripts/hexToBytes.js.map +0 -1
  81. package/dist/scripts/setVersion.d.ts +0 -2
  82. package/dist/scripts/setVersion.d.ts.map +0 -1
  83. package/dist/scripts/setVersion.js.map +0 -1
  84. package/dist/scripts/sign.d.ts +0 -2
  85. package/dist/scripts/sign.d.ts.map +0 -1
  86. package/dist/scripts/sign.js +0 -41
  87. package/dist/scripts/sign.js.map +0 -1
  88. package/dist/scripts/testImport.d.ts +0 -2
  89. package/dist/scripts/testImport.d.ts.map +0 -1
  90. package/dist/scripts/testImport.js +0 -13
  91. package/dist/scripts/testImport.js.map +0 -1
  92. package/dist/setup/index.d.ts +0 -3
  93. package/dist/setup/index.d.ts.map +0 -1
  94. package/dist/setup/index.js.map +0 -1
  95. package/dist/setup/provider.d.ts +0 -3
  96. package/dist/setup/provider.d.ts.map +0 -1
  97. package/dist/setup/provider.js.map +0 -1
  98. package/dist/setup/setup.d.ts +0 -3
  99. package/dist/setup/setup.d.ts.map +0 -1
  100. package/dist/setup/setup.js.map +0 -1
  101. package/dist/setup/site.d.ts +0 -4
  102. package/dist/setup/site.d.ts.map +0 -1
  103. package/dist/setup/site.js.map +0 -1
  104. package/dist/util/exec.d.ts +0 -10
  105. package/dist/util/exec.d.ts.map +0 -1
  106. package/dist/util/exec.js.map +0 -1
  107. package/dist/util/fluxLogDappDetails.d.ts +0 -2
  108. package/dist/util/fluxLogDappDetails.d.ts.map +0 -1
  109. package/dist/util/fluxLogDappDetails.js.map +0 -1
  110. package/dist/util/index.d.ts +0 -5
  111. package/dist/util/index.d.ts.map +0 -1
  112. package/dist/util/index.js.map +0 -1
  113. package/dist/util/loadContractFiles.d.ts +0 -4
  114. package/dist/util/loadContractFiles.d.ts.map +0 -1
  115. package/dist/util/loadContractFiles.js.map +0 -1
  116. package/dist/util/updateEnv.d.ts +0 -5
  117. package/dist/util/updateEnv.d.ts.map +0 -1
  118. package/dist/util/updateEnv.js.map +0 -1
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const node_child_process = require("node:child_process");
4
+ const node_process = require("node:process");
5
+ const exec = (command, options) => {
6
+ let { pipe, printCmd } = options || {};
7
+ pipe = pipe === void 0 || pipe;
8
+ printCmd = printCmd === void 0 || printCmd;
9
+ if (printCmd) {
10
+ console.log(`[exec] ${command}`);
11
+ }
12
+ const prc = node_child_process.spawn(command, {
13
+ shell: true
14
+ });
15
+ if (pipe || pipe === void 0) {
16
+ prc.stdout.pipe(process.stdout);
17
+ prc.stderr.pipe(process.stderr);
18
+ }
19
+ node_process.stdin.pipe(prc.stdin);
20
+ const stdoutData = [];
21
+ const stderrData = [];
22
+ prc.stdout.on("data", (data) => {
23
+ stdoutData.push(data.toString());
24
+ });
25
+ prc.stderr.on("data", (data) => {
26
+ stderrData.push(data.toString());
27
+ });
28
+ return new Promise((resolve, reject) => {
29
+ prc.on("close", (code) => {
30
+ if (pipe || pipe === void 0) {
31
+ console.log("");
32
+ }
33
+ const output = {
34
+ stdout: stdoutData.join(""),
35
+ stderr: stderrData.join(""),
36
+ code
37
+ };
38
+ if (code === 0) {
39
+ resolve(output);
40
+ } else {
41
+ reject(output);
42
+ }
43
+ });
44
+ });
45
+ };
46
+ exports.exec = exec;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function extractReferrersFromLogs(logsText) {
4
+ const urls = [
5
+ ...logsText.split("\n").reduce((accumulator, line) => {
6
+ const matches = line.match(/"(https?:\/\/[^"]+)"/g);
7
+ if (matches) {
8
+ for (const match of matches) {
9
+ const url = match.substring(1, match.length - 1);
10
+ accumulator.add(url);
11
+ }
12
+ }
13
+ return accumulator;
14
+ }, /* @__PURE__ */ new Set())
15
+ ];
16
+ return urls.join(" ");
17
+ }
18
+ exports.extractReferrersFromLogs = extractReferrersFromLogs;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const loadContractFiles = require("./loadContractFiles.cjs");
4
+ const updateEnv = require("./updateEnv.cjs");
5
+ const exec = require("./exec.cjs");
6
+ const fluxLogDappDetails = require("./fluxLogDappDetails.cjs");
7
+ exports.AbiJSON = loadContractFiles.AbiJSON;
8
+ exports.Wasm = loadContractFiles.Wasm;
9
+ exports.findEnvFiles = updateEnv.findEnvFiles;
10
+ exports.updateDemoHTMLFiles = updateEnv.updateDemoHTMLFiles;
11
+ exports.updateEnvFiles = updateEnv.updateEnvFiles;
12
+ exports.exec = exec.exec;
13
+ exports.extractReferrersFromLogs = fluxLogDappDetails.extractReferrersFromLogs;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const path = require("node:path");
4
+ const apiContract = require("@polkadot/api-contract");
5
+ const util = require("@polkadot/util");
6
+ const common = require("@prosopo/common");
7
+ const fse = require("fs-extra");
8
+ const __dirname$1 = path.resolve();
9
+ async function AbiJSON(filePath) {
10
+ const resolvedFilePath = path.resolve(__dirname$1, filePath);
11
+ await fse.ensureFile(resolvedFilePath);
12
+ const fileExists = await fse.pathExists(resolvedFilePath);
13
+ if (fileExists) {
14
+ const json = JSON.parse(
15
+ await fse.readFile(resolvedFilePath, {
16
+ encoding: "utf8"
17
+ })
18
+ );
19
+ return new apiContract.Abi(json);
20
+ }
21
+ throw new common.ProsopoError("FS.FILE_NOT_FOUND", {
22
+ context: { error: `File ${filePath} does not exist` }
23
+ });
24
+ }
25
+ async function Wasm(filePath) {
26
+ const resolvedFilePath = path.resolve(__dirname$1, filePath);
27
+ await fse.ensureFile(resolvedFilePath);
28
+ const fileExists = await fse.pathExists(resolvedFilePath);
29
+ if (fileExists) {
30
+ const wasm = `0x${fse.readFileSync(resolvedFilePath).toString("hex")}`;
31
+ const wasmBytes = util.hexToU8a(wasm);
32
+ if (util.isWasm(wasmBytes)) {
33
+ return wasmBytes;
34
+ }
35
+ console.error(`Error loading contract wasm: ${wasm.slice(0, 10)}...`);
36
+ process.exit(1);
37
+ } else {
38
+ throw new common.ProsopoError("FS.FILE_NOT_FOUND", {
39
+ context: { error: `File ${filePath} does not exist` }
40
+ });
41
+ }
42
+ }
43
+ exports.AbiJSON = AbiJSON;
44
+ exports.Wasm = Wasm;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const fs = require("node:fs");
4
+ const path = require("node:path");
5
+ const dotenv = require("@prosopo/dotenv");
6
+ const util = require("@prosopo/util");
7
+ const dotenv$1 = require("dotenv");
8
+ const fg = require("fast-glob");
9
+ const ignore = [
10
+ "**/node_modules/**",
11
+ "node_modules/**",
12
+ "../../**/node_modules/**",
13
+ "../node_modules/**",
14
+ "../../node_modules/**"
15
+ ];
16
+ const __dirname$1 = path.resolve();
17
+ async function findEnvFiles(logger, cwd) {
18
+ const env = dotenv.getEnv();
19
+ const fileName = `.env.${env}`;
20
+ logger.info(() => ({ msg: "Searching for files" }));
21
+ return await fg(`${cwd || "../.."}/**/${fileName}`, {
22
+ ignore
23
+ });
24
+ }
25
+ async function updateDemoHTMLFiles(varMatchers, varValue, logger) {
26
+ const files = await fg("../../demos/**/*.html", {
27
+ ignore
28
+ });
29
+ logger.info(() => ({ data: { files }, msg: "HTML files found" }));
30
+ files.forEach((file) => {
31
+ const filePath = path.resolve(process.cwd(), file);
32
+ const contents = fs.readFileSync(filePath).toString();
33
+ let newContents = contents;
34
+ for (const varMatcher of varMatchers) {
35
+ const matches = contents.match(varMatcher);
36
+ if (matches) {
37
+ const matchedVar = util.at(matches, 1);
38
+ logger.info(() => ({ data: { matchedVar }, msg: "matchedVar" }));
39
+ newContents = contents.replaceAll(matchedVar, varValue);
40
+ break;
41
+ }
42
+ }
43
+ if (newContents !== contents) {
44
+ fs.writeFileSync(path.resolve(__dirname$1, filePath), newContents);
45
+ }
46
+ });
47
+ }
48
+ async function updateEnvFiles(varNames, varValue, logger, cwd) {
49
+ const files = await findEnvFiles(logger, cwd);
50
+ logger.info(() => ({ data: { files }, msg: "Env files found" }));
51
+ files.forEach((file) => {
52
+ let write = false;
53
+ const filePath = path.resolve(cwd || process.cwd(), file);
54
+ const envConfig = dotenv$1.parse(fs.readFileSync(filePath));
55
+ for (const varName of varNames) {
56
+ if (varName in envConfig) {
57
+ envConfig[varName] = varValue;
58
+ write = true;
59
+ }
60
+ }
61
+ if (write) {
62
+ fs.writeFileSync(
63
+ path.resolve(__dirname$1, filePath),
64
+ Object.keys(envConfig).map((k) => `${k}=${envConfig[k]}`).join("\n")
65
+ );
66
+ }
67
+ });
68
+ }
69
+ exports.findEnvFiles = findEnvFiles;
70
+ exports.updateDemoHTMLFiles = updateDemoHTMLFiles;
71
+ exports.updateEnvFiles = updateEnvFiles;
package/dist/cli/index.js CHANGED
@@ -1,108 +1,105 @@
1
1
  import path from "node:path";
2
2
  import { isHex } from "@polkadot/util";
3
- import { LogLevel, getLogger } from "@prosopo/common";
4
- import { parseLogLevel } from "@prosopo/common";
5
- import { getScriptsPkgDir } from "@prosopo/config";
6
- import { getEnv, loadEnv } from "@prosopo/dotenv";
7
- import { decodeProcaptchaOutput, encodeProcaptchaOutput } from "@prosopo/types";
3
+ import { LogLevel, getLogger, parseLogLevel } from "@prosopo/common";
4
+ import { loadEnv, getEnv } from "@prosopo/dotenv";
5
+ import { encodeProcaptchaOutput, decodeProcaptchaOutput } from "@prosopo/types";
6
+ import { getScriptsPkgDir } from "@prosopo/workspace";
8
7
  import yargs from "yargs";
9
8
  import { hideBin } from "yargs/helpers";
10
- import { importContract } from "../contract/index.js";
9
+ import "../contract/index.js";
11
10
  import setVersion from "../scripts/setVersion.js";
12
- import { setup } from "../setup/index.js";
13
- import { exec } from "../util/index.js";
11
+ import "../setup/index.js";
12
+ import "../util/index.js";
13
+ import { exec } from "../util/exec.js";
14
+ import { setup } from "../setup/setup.js";
15
+ import importContract from "../contract/import.js";
14
16
  const rootDir = path.resolve(".");
15
17
  loadEnv(rootDir);
16
- export async function processArgs(args) {
17
- const parsed = await yargs(hideBin(args)).option("logLevel", {
18
- describe: "set log level",
19
- choices: Object.keys(LogLevel.enum),
20
- }).argv;
21
- const log = getLogger(parseLogLevel(parsed.logLevel), "CLI");
22
- await yargs(hideBin(args))
23
- .usage("Usage: $0 [global options] <command> [options]")
24
- .command("create_env_files", "Copies the env.xyz files to .env.xyz", (yargs) => yargs, async () => {
25
- const env = getEnv();
26
- const scripts = getScriptsPkgDir();
27
- await exec(`cp -v ${scripts}/env.${env} ${scripts}/.env.${env}`);
28
- }, [])
29
- .command({
30
- command: "setup",
31
- describe: "Setup the development environment by registering a provider, staking, loading a data set and then registering a dapp and staking.",
32
- builder: (yargs) => yargs
33
- .option("sites", {
34
- type: "boolean",
35
- demandOption: false,
36
- default: true,
37
- desc: "Set up sites",
38
- })
39
- .option("provider", {
40
- type: "boolean",
41
- demandOption: false,
42
- default: true,
43
- desc: "Set up the provider",
44
- }),
45
- handler: async (argv) => {
46
- log.info(() => ({ msg: "Running setup scripts" }));
47
- await setup(argv.provider, argv.sites);
48
- },
49
- })
50
- .command({
51
- command: "import_contract",
52
- describe: "Import a contract into the contract package.",
53
- builder: (yargs) => yargs
54
- .option("in", {
55
- type: "string",
56
- demandOption: true,
57
- desc: "The path to the contract's abi",
58
- })
59
- .option("out", {
60
- type: "string",
61
- demandOption: true,
62
- desc: "The path to the output directory",
63
- }),
64
- handler: async (argv) => {
65
- await importContract(argv.in, argv.out);
66
- },
67
- })
68
- .command({
69
- command: "version",
70
- describe: "Set the version of packages",
71
- builder: (yargs) => yargs.option("v", { type: "string", demandOption: true }),
72
- handler: async (argv) => {
73
- await setVersion(String(argv.v));
74
- },
75
- })
76
- .command({
77
- command: "token <token>",
78
- describe: "Encode or Decode a Procaptcha token to the JSON output format",
79
- builder: (yargs) => yargs.positional("token", {
80
- describe: "a Procaptcha token to decode",
81
- type: "string",
82
- demandOption: true,
83
- }),
84
- handler: async (argv) => {
85
- if (!isHex(argv.token)) {
86
- log.debug(() => ({ msg: "Encoding token to hex" }));
87
- log.info(() => ({
88
- data: { result: encodeProcaptchaOutput(JSON.parse(argv.token)) },
89
- }));
90
- }
91
- else {
92
- log.debug(() => ({ msg: "Decoding token from hex" }));
93
- log.info(() => ({
94
- data: { result: decodeProcaptchaOutput(argv.token) },
95
- }));
96
- }
97
- },
98
- }).argv;
18
+ async function processArgs(args) {
19
+ const parsed = await yargs(hideBin(args)).option("logLevel", {
20
+ describe: "set log level",
21
+ choices: Object.keys(LogLevel.enum)
22
+ }).argv;
23
+ const log = getLogger(parseLogLevel(parsed.logLevel), "CLI");
24
+ await yargs(hideBin(args)).usage("Usage: $0 [global options] <command> [options]").command(
25
+ "create_env_files",
26
+ "Copies the env.xyz files to .env.xyz",
27
+ (yargs2) => yargs2,
28
+ async () => {
29
+ const env = getEnv();
30
+ const scripts = getScriptsPkgDir();
31
+ await exec(`cp -v ${scripts}/env.${env} ${scripts}/.env.${env}`);
32
+ },
33
+ []
34
+ ).command({
35
+ command: "setup",
36
+ describe: "Setup the development environment by registering a provider, staking, loading a data set and then registering a dapp and staking.",
37
+ builder: (yargs2) => yargs2.option("sites", {
38
+ type: "boolean",
39
+ demandOption: false,
40
+ default: true,
41
+ desc: "Set up sites"
42
+ }).option("provider", {
43
+ type: "boolean",
44
+ demandOption: false,
45
+ default: true,
46
+ desc: "Set up the provider"
47
+ }),
48
+ handler: async (argv) => {
49
+ log.info(() => ({ msg: "Running setup scripts" }));
50
+ await setup(argv.provider, argv.sites);
51
+ }
52
+ }).command({
53
+ command: "import_contract",
54
+ describe: "Import a contract into the contract package.",
55
+ builder: (yargs2) => yargs2.option("in", {
56
+ type: "string",
57
+ demandOption: true,
58
+ desc: "The path to the contract's abi"
59
+ }).option("out", {
60
+ type: "string",
61
+ demandOption: true,
62
+ desc: "The path to the output directory"
63
+ }),
64
+ handler: async (argv) => {
65
+ await importContract(argv.in, argv.out);
66
+ }
67
+ }).command({
68
+ command: "version",
69
+ describe: "Set the version of packages",
70
+ builder: (yargs2) => yargs2.option("v", { type: "string", demandOption: true }),
71
+ handler: async (argv) => {
72
+ await setVersion(String(argv.v));
73
+ }
74
+ }).command({
75
+ command: "token <token>",
76
+ describe: "Encode or Decode a Procaptcha token to the JSON output format",
77
+ builder: (yargs2) => yargs2.positional("token", {
78
+ describe: "a Procaptcha token to decode",
79
+ type: "string",
80
+ demandOption: true
81
+ }),
82
+ handler: async (argv) => {
83
+ if (!isHex(argv.token)) {
84
+ log.debug(() => ({ msg: "Encoding token to hex" }));
85
+ log.info(() => ({
86
+ data: { result: encodeProcaptchaOutput(JSON.parse(argv.token)) }
87
+ }));
88
+ } else {
89
+ log.debug(() => ({ msg: "Decoding token from hex" }));
90
+ log.info(() => ({
91
+ data: { result: decodeProcaptchaOutput(argv.token) }
92
+ }));
93
+ }
94
+ }
95
+ }).argv;
99
96
  }
100
- processArgs(process.argv)
101
- .then(() => {
102
- process.exit(0);
103
- })
104
- .catch((error) => {
105
- console.error(error);
106
- process.exit(1);
97
+ processArgs(process.argv).then(() => {
98
+ process.exit(0);
99
+ }).catch((error) => {
100
+ console.error(error);
101
+ process.exit(1);
107
102
  });
108
- //# sourceMappingURL=index.js.map
103
+ export {
104
+ processArgs
105
+ };