update sdk build scripts

This commit is contained in:
fmtabbara
2024-07-01 11:43:08 +01:00
parent 1655933678
commit 579ed7bb6e
8 changed files with 56 additions and 31 deletions
+3
View File
@@ -24,6 +24,9 @@ jobs:
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
run_install: |
- recursive: true
- name: Install Rust stable
uses: actions-rs/toolchain@v1
+2 -1
View File
@@ -33,9 +33,10 @@
"dev:off": "node sdk/typescript/scripts/dev-mode-remove.mjs"
},
"devDependencies": {
"npm-run-all": "^4.1.5",
"@npmcli/node-gyp": "^3.0.0",
"js-yaml": "^4.1.0",
"node-gyp": "^9.3.1",
"npm-run-all": "^4.1.5",
"tslog": "3.3.3"
},
"packageManager": "pnpm@9.4.0+sha256.b6fd0bfda555e7e584ad7e56b30c68b01d5a04f9ee93989f4b93ca8473c49c74"
+3
View File
@@ -11,6 +11,9 @@ importers:
'@npmcli/node-gyp':
specifier: ^3.0.0
version: 3.0.0
js-yaml:
specifier: ^4.1.0
version: 4.1.0
node-gyp:
specifier: ^9.3.1
version: 9.4.1
+11 -11
View File
@@ -1,12 +1,12 @@
packages:
- "dist/wasm/**"
- "dist/node/**"
- "dist/ts/**"
- "sdk/typescript/packages/mui-theme"
- "sdk/typescript/packages/react-components"
- "sdk/typescript/packages/validator-client"
- "ts-packages/*"
- "nym-wallet"
- "explorer-nextjs"
- "types"
- "clients/validator"
- dist/wasm/**
- dist/node/**
- dist/ts/**
- sdk/typescript/packages/mui-theme
- sdk/typescript/packages/react-components
- sdk/typescript/packages/validator-client
- ts-packages/*
- nym-wallet
- explorer-nextjs
- types
- clients/validator
+6 -6
View File
@@ -11,17 +11,17 @@ rm -rf dist || true
##---------------------------------------------------------------------------
# use wasm-pack to build packages
yarn build:wasm
pnpm build:wasm
# enable dev mode and then install dev packages
yarn dev:on
yarn
pnpm dev:on
pnpm
# build the Typescript SDK packages
yarn build:ci:sdk
pnpm build:ci:sdk
# build documentation
yarn docs:prod:build
pnpm docs:prod:build
# turn dev mode off
yarn dev:off
pnpm dev:off
+17 -6
View File
@@ -1,12 +1,23 @@
import fs from 'fs';
import yaml from 'js-yaml';
const packageJson = JSON.parse(fs.readFileSync('package.json').toString());
// Load the pnpm-workspace.yaml file
const pnpmWorkspaceYamlPath = 'pnpm-workspace.yaml';
const pnpmWorkspaceContent = fs.readFileSync(pnpmWorkspaceYamlPath, 'utf8');
const pnpmWorkspace = yaml.load(pnpmWorkspaceContent);
// Define the workspaces to add
const devWorkspace = ['sdk/typescript/packages/**', 'sdk/typescript/examples/**', 'sdk/typescript/codegen/**'];
if (!packageJson.workspaces.includes(devWorkspace)) {
// add
packageJson.workspaces.push(...devWorkspace);
// write out modified file
fs.writeFileSync('package.json', JSON.stringify(packageJson, null, 2));
// Check if the workspaces are already included, if not, add them
if (!pnpmWorkspace.packages) {
pnpmWorkspace.packages = [];
}
const missingWorkspaces = devWorkspace.filter((ws) => !pnpmWorkspace.packages.includes(ws));
if (missingWorkspaces.length > 0) {
pnpmWorkspace.packages.push(...missingWorkspaces);
// Write out the modified pnpm-workspace.yaml file
const newYamlContent = yaml.dump(pnpmWorkspace);
fs.writeFileSync(pnpmWorkspaceYamlPath, newYamlContent, 'utf8');
}
+12 -5
View File
@@ -1,11 +1,18 @@
import fs from 'fs';
import yaml from 'js-yaml';
const packageJson = JSON.parse(fs.readFileSync('package.json').toString());
// Load the pnpm-workspace.yaml file
const pnpmWorkspaceYamlPath = 'pnpm-workspace.yaml';
const pnpmWorkspaceContent = fs.readFileSync(pnpmWorkspaceYamlPath, 'utf8');
const pnpmWorkspace = yaml.load(pnpmWorkspaceContent);
const devWorkspace = ['sdk/typescript/packages/**', 'sdk/typescript/examples/**', 'sdk/typescript/codegen/**'];
// remove
packageJson.workspaces = packageJson.workspaces.filter((w) => !devWorkspace.includes(w));
// Remove specified workspaces
pnpmWorkspace.packages = pnpmWorkspace.packages.filter((w) => !devWorkspace.includes(w));
// write out modified file
fs.writeFileSync('package.json', JSON.stringify(packageJson, null, 2));
// Convert the modified object back to YAML
const newYamlContent = yaml.dump(pnpmWorkspace);
// Write out the modified pnpm-workspace.yaml file
fs.writeFileSync(pnpmWorkspaceYamlPath, newYamlContent, 'utf8');
+2 -2
View File
@@ -8,8 +8,8 @@ set -o pipefail
make sdk-wasm-build
# Build Typescript packages
yarn
yarn build:sdk
pnpm i
pnpm build:sdk
# Publish to NPM
./sdk/typescript/scripts/publish.sh