From c211a9856b0c0b9a48e1056162721aa1f376eba6 Mon Sep 17 00:00:00 2001 From: Serhii Volovyk Date: Fri, 4 Nov 2022 16:00:57 +0200 Subject: [PATCH] cli bash replaced with node --- lib/cli/cli.js | 14 ++++++++------ src/cli/cli.ts | 18 +++++++++--------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/lib/cli/cli.js b/lib/cli/cli.js index 21862db06..e1edd2ef5 100755 --- a/lib/cli/cli.js +++ b/lib/cli/cli.js @@ -1,5 +1,5 @@ #!/usr/bin/env node -import fs from "fs/promises"; +import fs from "fs"; import path, { basename, dirname } from "path"; import { nodeResolve } from "@rollup/plugin-node-resolve"; import sourcemaps from "rollup-plugin-sourcemaps"; @@ -44,8 +44,10 @@ export async function buildCom(source, target, { verbose = false }) { await checkTsBuildWithTsc(source, verbose); } signale.await(`Creating ${TARGET_DIR} directory...`); - await executeCommand(`mkdir -p ${TARGET_DIR}`, verbose); - signal.await(`Validating ${source} contract...`); + if (!fs.existsSync(TARGET_DIR)) { + fs.mkdirSync(TARGET_DIR, {}); + } + signal.await(`Validatig ${source} contract...`); if (!await validateContract(source, verbose)) { process.exit(1); } @@ -103,7 +105,7 @@ async function createMethodsHeaderFile(rollupTarget, verbose = false) { const mod = await import(`${PROJECT_DIR}/${rollupTarget}`); const exportNames = Object.keys(mod); const methods = exportNames.reduce((result, key) => `${result}DEFINE_NEAR_METHOD(${key})\n`, ""); - await fs.writeFile(`${buildPath}/methods.h`, methods); + fs.writeFileSync(`${buildPath}/methods.h`, methods); } async function createWasmContract(qjscTarget, contractTarget, verbose = false) { const WASI_SDK_PATH = `${NEAR_SDK_JS}/lib/cli/deps/wasi-sdk`; @@ -118,8 +120,8 @@ async function createWasmContract(qjscTarget, contractTarget, verbose = false) { const SOURCES = `${NEW_BUILDER_PATH} ${QJSC_DIR}/quickjs.c ${QJSC_DIR}/libregexp.c ${QJSC_DIR}/libunicode.c ${QJSC_DIR}/cutils.c ${QJSC_DIR}/quickjs-libc-min.c ${QJSC_DIR}/libbf.c`; const LIBS = `-lm`; // copying builder.c file to the build folder - await executeCommand(`cp ${ORIGINAL_BUILDER_PATH} ${NEW_BUILDER_PATH}`, verbose); - await executeCommand(`mv ${qjscTarget} build/code.h`, verbose); + fs.cpSync(ORIGINAL_BUILDER_PATH, NEW_BUILDER_PATH); + fs.renameSync(qjscTarget, "build/code.h"); await executeCommand(`${CC} --target=wasm32-wasi -nostartfiles -Oz -flto ${DEFS} ${INCLUDES} ${SOURCES} ${LIBS} -Wl,--no-entry -Wl,--allow-undefined -Wl,-z,stack-size=${256 * 1024} -Wl,--lto-O3 -o ${contractTarget}`, verbose); } async function wasiStubContract(contractTarget, verbose = false) { diff --git a/src/cli/cli.ts b/src/cli/cli.ts index c863eee40..aac775239 100644 --- a/src/cli/cli.ts +++ b/src/cli/cli.ts @@ -1,6 +1,6 @@ #!/usr/bin/env node -import fs from "fs/promises"; +import fs from "fs"; import path, { basename, dirname } from "path"; import { nodeResolve } from "@rollup/plugin-node-resolve"; @@ -64,9 +64,11 @@ export async function buildCom( } signale.await(`Creating ${TARGET_DIR} directory...`); - await executeCommand(`mkdir -p ${TARGET_DIR}`, verbose); + if (!fs.existsSync(TARGET_DIR)) { + fs.mkdirSync(TARGET_DIR, {}); + } - signal.await(`Validating ${source} contract...`); + signal.await(`Validatig ${source} contract...`); if (!await validateContract(source, verbose)) { process.exit(1); } @@ -160,7 +162,7 @@ async function createMethodsHeaderFile(rollupTarget: string, verbose = false) { "" ); - await fs.writeFile(`${buildPath}/methods.h`, methods); + fs.writeFileSync(`${buildPath}/methods.h`, methods); } async function createWasmContract( @@ -184,11 +186,9 @@ async function createWasmContract( const LIBS = `-lm`; // copying builder.c file to the build folder - await executeCommand( - `cp ${ORIGINAL_BUILDER_PATH} ${NEW_BUILDER_PATH}`, - verbose - ); - await executeCommand(`mv ${qjscTarget} build/code.h`, verbose); + fs.cpSync(ORIGINAL_BUILDER_PATH, NEW_BUILDER_PATH); + + fs.renameSync(qjscTarget, "build/code.h"); await executeCommand( `${CC} --target=wasm32-wasi -nostartfiles -Oz -flto ${DEFS} ${INCLUDES} ${SOURCES} ${LIBS} -Wl,--no-entry -Wl,--allow-undefined -Wl,-z,stack-size=${256 * 1024