Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -364,6 +364,48 @@ jobs:
- name: Verify all packages exist on npm
uses: ./.github/actions/verify-npm-packages

npm-install-compatibility:
name: npm install / ${{ matrix.label }}
runs-on: ubuntu-latest
needs: [unit-test, code-quality, license-analysis, browser-test, docker-build, verify-npm-packages, dockerfile-check]
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
include:
- label: Node.js v25.8.2 (latest stable)
node-version: v25.8.2
node-dist-url: https://nodejs.org/dist/v25.8.2/node-v25.8.2-linux-x64.tar.gz
node-checksum: e06c7069012d40914c57b31157c69d4ce83ea1fe9d63bbb7d26e0509a4535d21
experimental: false
- label: Node.js v26.0.0-nightly2026032874509b166a
node-version: v26.0.0-nightly2026032874509b166a
node-dist-url: https://nodejs.org/download/nightly/v26.0.0-nightly2026032874509b166a/node-v26.0.0-nightly2026032874509b166a-linux-x64.tar.gz
node-checksum: 6ad71e251fb934af5657e71b1af9eaa403706303ff40ad030d1c485497c8583e
experimental: true

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Install Node.js ${{ matrix.node-version }}
run: |
FILENAME="$(basename '${{ matrix.node-dist-url }}')"
curl -fsSL "${{ matrix.node-dist-url }}" -o "${FILENAME}"
echo "${{ matrix.node-checksum }} ${FILENAME}" | sha256sum --check
mkdir -p "${HOME}/node-install"
tar -xz -C "${HOME}/node-install" --strip-components=1 < "${FILENAME}"
echo "${HOME}/node-install/bin" >> "$GITHUB_PATH"

- name: Node/npm info
run: |
node --version
npm --version

- name: npm install
run: npm install --ignore-scripts

dockerfile-check:
runs-on: ubuntu-latest

Expand Down
12 changes: 6 additions & 6 deletions modules/web-demo/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,16 +69,16 @@
"lodash": "^4.17.15",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"react-json-view": "^1.21.3",
"react-json-view-lite": "^2.5.0",
"react-router-dom": "6.3.0",
"styled-components": "^5.3.5"
},
"devDependencies": {
"@cypress/react": "^8.0.0",
"@cypress/react": "^9.0.0",
"@cypress/webpack-dev-server": "^4.0.0",
"@testing-library/cypress": "^10.0.1",
"@types/react": "17.0.24",
"@types/react-dom": "17.0.16",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"@types/styled-components": "5.1.25",
"chai": "^4.3.6",
"clean-webpack-plugin": "^4.0.0",
Expand Down Expand Up @@ -108,7 +108,7 @@
]
},
"resolutions": {
"@types/react": "17.0.24",
"@types/react-dom": "17.0.16"
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0"
}
}
5 changes: 3 additions & 2 deletions modules/web-demo/src/components/BitGoAPI/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from 'react';
import ReactJson from 'react-json-view';
import { JsonView } from 'react-json-view-lite';
import 'react-json-view-lite/dist/index.css';
import { BitGoAPI } from '@bitgo/sdk-api';

const sdk = new BitGoAPI();
Expand All @@ -9,7 +10,7 @@ const BGApi = () => {
<React.Fragment>
<h3>BitGo SDK API</h3>
<br />
<ReactJson src={sdk} />
<JsonView data={sdk} />
</React.Fragment>
);
};
Expand Down
5 changes: 3 additions & 2 deletions modules/web-demo/src/components/BitGoJS/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from 'react';
import ReactJson from 'react-json-view';
import { JsonView } from 'react-json-view-lite';
import 'react-json-view-lite/dist/index.css';

import { BitGo } from 'bitgo';

Expand All @@ -10,7 +11,7 @@ const BitGoJS = () => {
<React.Fragment>
<h3>BitGoJS SDK</h3>
<br />
<ReactJson src={sdk} />
<JsonView data={sdk} />
</React.Fragment>
);
};
Expand Down
9 changes: 3 additions & 6 deletions modules/web-demo/src/components/EcdsaChallenge/index.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import React, { useState } from 'react';
import { EcdsaTypes, EcdsaRangeProof } from '@bitgo/sdk-lib-mpc';
import ReactJson from 'react-json-view';
import { JsonView } from 'react-json-view-lite';
import 'react-json-view-lite/dist/index.css';

const EcdsaChallenge = () => {
const [challenge, setChallenge] = useState<
Expand Down Expand Up @@ -28,11 +29,7 @@ const EcdsaChallenge = () => {
<br />
{challenge ? (
<div>
<ReactJson
src={challenge}
displayDataTypes={true}
enableClipboard={true}
/>
<JsonView data={challenge} />
<h4>Time to generate (s)</h4>
<h5>{totalTime}</h5>
</div>
Expand Down
2 changes: 1 addition & 1 deletion modules/web-demo/src/components/Layout/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React, { FunctionComponent } from 'react';
import Navbar from '../Navbar/index';
import { AppContainer, RouteContainer } from './styles';

const Layout: FunctionComponent = ({ children }) => {
const Layout: FunctionComponent<React.PropsWithChildren> = ({ children }) => {
return (
<AppContainer>
<Navbar />
Expand Down
8 changes: 8 additions & 0 deletions modules/web-demo/webpack/base.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,10 @@ const rules = [

const devRules = [
...rules,
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
},
{
test: /\.scss$/,
use: [
Expand All @@ -118,6 +122,10 @@ const devRules = [

const prodRules = [
...rules,
{
test: /\.css$/,
use: [MiniCssExtractPlugin.loader, 'css-loader'],
},
{
test: /\.scss$/,
use: [
Expand Down
21 changes: 19 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@
"jspdf": ">=4.2.1",
"@ethereumjs/util": "8.0.3",
"@types/keyv": "3.1.4",
"@types/react": "17.0.24",
"@types/react-dom": "17.0.16",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"@solana/web3.js": "1.95.8",
"**/nise/**/path-to-regexp": "8.4.0",
"**/express/**/path-to-regexp": "0.1.13",
Expand Down Expand Up @@ -118,6 +118,11 @@
"**/avalanche/store2": "2.14.4",
"webpack-dev-server": "5.2.1",
"memfs": "4.46.0",
"// html-webpack-plugin": "cooldown check fails for yarn alias html-webpack-plugin-5 on npm due to unpublished package format; pin to previous version",
"html-webpack-plugin": "5.6.4",
"html-webpack-plugin-5": "npm:html-webpack-plugin@5.6.4",
"// @iota/iota-sdk": "1.11.0 raised engines to >=24; pin to 1.10.1 until CI baseline moves to Node 24",
"@iota/iota-sdk": "1.10.1",
"**/iota-sdk/**/valibot": "1.2.0",
"**/tronweb/**/validator": "13.15.23",
"@isaacs/brace-expansion": "5.0.1",
Expand All @@ -126,6 +131,18 @@
"sjcl": "npm:@bitgo/sjcl@1.0.1",
"picomatch": ">=2.3.2"
},
"overrides": {
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"@solana/web3.js": "1.95.8",
"handlebars": "4.7.9",
"nise": {
"path-to-regexp": "8.4.0"
},
"express": {
"path-to-regexp": "0.1.13"
}
},
"workspaces": [
"modules/*"
],
Expand Down
Loading
Loading