Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intermittent failures on immediate, subsequent executions of lerna bootstrap in Node 18.6.0 #3259

Open
MasterKale opened this issue Jul 23, 2022 · 2 comments

Comments

@MasterKale
Copy link

MasterKale commented Jul 23, 2022

Current Behavior

SimpleWebAuthn's Node 18 CI pipeline has been intermittently failing lately when it attempts to bootstrap the project. Sometimes the builds completely successfully, and sometimes they fail; simply by re-running the job I can get a failed pipeline to pass, and then see it fail again if I immediately re-re-run the job. There are no changes to the code in between runs.

I was able to recreate the intermittent failures locally, observing 3 of 10 immediate, subsequent executions of lerna bootstrap --hoist failing with similar errors:

Run 1 : OK
Run 2 : OK
Run 3 : OK
Run 4 : OK
Run 5 : OK
Run 6 : lerna ERR! lifecycle "prepublish" errored in "@simplewebauthn/testing", exiting 1
Run 7 : OK
Run 8 : lerna ERR! lifecycle "prepublish" errored in "@simplewebauthn/server", exiting 1
Run 9 : lerna ERR! lifecycle "prepublish" errored in "@simplewebauthn/server", exiting 1
Run 10: OK

Console output from Run 9

$> npm run bootstrap

> bootstrap
> lerna bootstrap --hoist

lerna notice cli v5.2.0
lerna info Bootstrapping 4 packages
lerna info Installing external dependencies
lerna info hoist Pruning hoisted dependencies
lerna info hoist Finished pruning hoisted dependencies
lerna info hoist Finished bootstrapping root
lerna info Symlinking packages and binaries
lerna info lifecycle @simplewebauthn/testing@5.0.0~prepublish: @simplewebauthn/testing@5.0.0

> @simplewebauthn/testing@5.0.0 prepublish /Users/matt/Developer/repro-simplewebauthn/packages/testing
> npm run build

lerna info lifecycle @simplewebauthn/typescript-types@5.3.0~prepublish: @simplewebauthn/typescript-types@5.3.0

> @simplewebauthn/typescript-types@5.3.0 prepublish /Users/matt/Developer/repro-simplewebauthn/packages/typescript-types
> npm run build

(###############⠂⠂⠂) ⠴ prepublish: info lifecycle @simplewebauthn/typescript-types@5.3.0~prepublish: @simplewebauthn/typescript-types@5.3.0
> @simplewebauthn/testing@5.0.0 build
> rimraf dist && tsc
(################⠂⠂) ⠦ prepublish: sill lifecycle "prepublish" finished in "@simplewebauthn/testing"
> @simplewebauthn/typescript-types@5.3.0 build
> rimraf dist && npm run extract-dom-types && tsc


> @simplewebauthn/typescript-types@5.3.0 extract-dom-types
> ts-node extract-dom-types.ts
lerna info lifecycle @simplewebauthn/browser@5.3.0~prepublish: @simplewebauthn/browser@5.3.0

> @simplewebauthn/browser@5.3.0 prepublish /Users/matt/Developer/repro-simplewebauthn/packages/browser
> npm run build

lerna info lifecycle @simplewebauthn/server@5.3.0~prepublish: @simplewebauthn/server@5.3.0

> @simplewebauthn/server@5.3.0 prepublish /Users/matt/Developer/repro-simplewebauthn/packages/server
> npm run build

lerna ERR! lifecycle "prepublish" errored in "@simplewebauthn/server", exiting 1

The same error as Run 9, but with debug logging enabled:

$> npx lerna bootstrap --hoist --loglevel debug
lerna sill argv {
lerna sill argv   _: [ 'bootstrap' ],
lerna sill argv   hoist: true,
lerna sill argv   loglevel: 'debug',
lerna sill argv   lernaVersion: '5.2.0',
lerna sill argv   '$0': '/Users/matt/Developer/repro-simplewebauthn/node_modules/.bin/lerna'
lerna sill argv }
lerna notice cli v5.2.0
lerna verb rootPath /Users/matt/Developer/repro-simplewebauthn
lerna verb hoist using globs ["**"]
lerna sill npmConfig {
lerna sill npmConfig   registry: undefined,
lerna sill npmConfig   npmClient: 'npm',
lerna sill npmConfig   npmClientArgs: [],
lerna sill npmConfig   mutex: undefined
lerna sill npmConfig }
lerna info Bootstrapping 4 packages
lerna verb lifecycle preinstall
lerna sill lifecycle No script for "preinstall" in "@simplewebauthn/testing", continuing
lerna sill lifecycle No script for "preinstall" in "@simplewebauthn/typescript-types", continuing
lerna sill lifecycle No script for "preinstall" in "@simplewebauthn/browser", continuing
lerna sill lifecycle No script for "preinstall" in "@simplewebauthn/server", continuing
lerna sill hasDependencyInstalled simplewebauthn-monorepo @types/express
lerna sill hasDependencyInstalled simplewebauthn-monorepo @types/jest
lerna sill hasDependencyInstalled simplewebauthn-monorepo @typescript-eslint/eslint-plugin
lerna sill hasDependencyInstalled simplewebauthn-monorepo @typescript-eslint/parser
lerna sill hasDependencyInstalled simplewebauthn-monorepo eslint
lerna sill hasDependencyInstalled simplewebauthn-monorepo husky
lerna sill hasDependencyInstalled simplewebauthn-monorepo jest
lerna sill hasDependencyInstalled simplewebauthn-monorepo jest-environment-jsdom
lerna sill hasDependencyInstalled simplewebauthn-monorepo lerna
lerna sill hasDependencyInstalled simplewebauthn-monorepo lint-staged
lerna sill hasDependencyInstalled simplewebauthn-monorepo nx
lerna sill hasDependencyInstalled simplewebauthn-monorepo prettier
lerna sill hasDependencyInstalled simplewebauthn-monorepo rimraf
lerna sill hasDependencyInstalled simplewebauthn-monorepo semver
lerna sill hasDependencyInstalled simplewebauthn-monorepo ts-jest
lerna sill hasDependencyInstalled simplewebauthn-monorepo ts-morph
lerna sill hasDependencyInstalled simplewebauthn-monorepo ts-node
lerna sill hasDependencyInstalled simplewebauthn-monorepo typedoc
lerna sill hasDependencyInstalled simplewebauthn-monorepo typedoc-plugin-missing-exports
lerna sill hasDependencyInstalled simplewebauthn-monorepo typescript
lerna sill hasDependencyInstalled simplewebauthn-monorepo @rollup/plugin-node-resolve
lerna sill hasDependencyInstalled simplewebauthn-monorepo @rollup/plugin-typescript
lerna sill hasDependencyInstalled simplewebauthn-monorepo rollup
lerna sill hasDependencyInstalled simplewebauthn-monorepo rollup-plugin-terser
lerna sill hasDependencyInstalled simplewebauthn-monorepo rollup-plugin-version-injector
lerna sill hasDependencyInstalled simplewebauthn-monorepo @types/cbor
lerna sill hasDependencyInstalled simplewebauthn-monorepo @types/debug
lerna sill hasDependencyInstalled simplewebauthn-monorepo @types/elliptic
lerna sill hasDependencyInstalled simplewebauthn-monorepo @types/jsrsasign
lerna sill hasDependencyInstalled simplewebauthn-monorepo @types/jwk-to-pem
lerna sill hasDependencyInstalled simplewebauthn-monorepo @types/node-fetch
lerna sill hasDependencyInstalled simplewebauthn-monorepo @types/node-rsa
lerna sill hasDependencyInstalled simplewebauthn-monorepo @peculiar/asn1-android
lerna sill hasDependencyInstalled simplewebauthn-monorepo @peculiar/asn1-schema
lerna sill hasDependencyInstalled simplewebauthn-monorepo @peculiar/asn1-x509
lerna sill hasDependencyInstalled simplewebauthn-monorepo base64url
lerna sill hasDependencyInstalled simplewebauthn-monorepo cbor
lerna sill hasDependencyInstalled simplewebauthn-monorepo debug
lerna sill hasDependencyInstalled simplewebauthn-monorepo elliptic
lerna sill hasDependencyInstalled simplewebauthn-monorepo jsrsasign
lerna sill hasDependencyInstalled simplewebauthn-monorepo jwk-to-pem
lerna sill hasDependencyInstalled simplewebauthn-monorepo node-fetch
lerna sill hasDependencyInstalled simplewebauthn-monorepo node-rsa
lerna sill root dependencies {}
lerna sill leaf dependencies {}
lerna info Installing external dependencies
lerna verb actions 2 actions, concurrency 10
lerna info hoist Installing hoisted dependencies into root
lerna sill npmInstallDependencies simplewebauthn-monorepo [
lerna sill npmInstallDependencies   '@types/express@^4.17.9',
lerna sill npmInstallDependencies   '@types/jest@^27.0.1',
lerna sill npmInstallDependencies   '@typescript-eslint/eslint-plugin@^4.17.0',
lerna sill npmInstallDependencies   '@typescript-eslint/parser@^4.17.0',
lerna sill npmInstallDependencies   'eslint@^7.21.0',
lerna sill npmInstallDependencies   'husky@^7.0.2',
lerna sill npmInstallDependencies   'jest@^27.0.6',
lerna sill npmInstallDependencies   'jest-environment-jsdom@^27.0.6',
lerna sill npmInstallDependencies   'lerna@^5.1.2',
lerna sill npmInstallDependencies   'lint-staged@^11.1.2',
lerna sill npmInstallDependencies   'nx@^14.3.2',
lerna sill npmInstallDependencies   'prettier@^2.2.1',
lerna sill npmInstallDependencies   'rimraf@^3.0.2',
lerna sill npmInstallDependencies   'semver@^7.3.2',
lerna sill npmInstallDependencies   'ts-jest@^27.0.5',
lerna sill npmInstallDependencies   'ts-morph@^11.0.3',
lerna sill npmInstallDependencies   'ts-node@^10.2.1',
lerna sill npmInstallDependencies   'typedoc@^0.22.15',
lerna sill npmInstallDependencies   'typedoc-plugin-missing-exports@^0.22.6',
lerna sill npmInstallDependencies   'typescript@^4.6.3',
lerna sill npmInstallDependencies   '@rollup/plugin-node-resolve@^13.0.0',
lerna sill npmInstallDependencies   '@rollup/plugin-typescript@^8.2.1',
lerna sill npmInstallDependencies   'rollup@^2.52.1',
lerna sill npmInstallDependencies   'rollup-plugin-terser@^7.0.2',
lerna sill npmInstallDependencies   'rollup-plugin-version-injector@^1.3.3',
lerna sill npmInstallDependencies   '@types/cbor@^5.0.1',
lerna sill npmInstallDependencies   '@types/debug@^4.1.7',
lerna sill npmInstallDependencies   '@types/elliptic@^6.4.13',
lerna sill npmInstallDependencies   '@types/jsrsasign@^8.0.13',
lerna sill npmInstallDependencies   '@types/jwk-to-pem@^2.0.1',
lerna sill npmInstallDependencies   '@types/node-fetch@^2.5.12',
lerna sill npmInstallDependencies   '@types/node-rsa@^1.1.1',
lerna sill npmInstallDependencies   '@peculiar/asn1-android@^2.1.7',
lerna sill npmInstallDependencies   '@peculiar/asn1-schema@^2.1.7',
lerna sill npmInstallDependencies   '@peculiar/asn1-x509@^2.1.7',
lerna sill npmInstallDependencies   'base64url@^3.0.1',
lerna sill npmInstallDependencies   'cbor@^5.1.0',
lerna sill npmInstallDependencies   'debug@^4.3.2',
lerna sill npmInstallDependencies   'elliptic@^6.5.3',
lerna sill npmInstallDependencies   'jsrsasign@^10.4.0',
lerna sill npmInstallDependencies   'jwk-to-pem@^2.0.4',
lerna sill npmInstallDependencies   'node-fetch@^2.6.0',
lerna sill npmInstallDependencies   'node-rsa@^1.1.1'
lerna sill npmInstallDependencies ]
lerna sill npmInstallDependencies backup /Users/matt/Developer/repro-simplewebauthn/package.json
lerna info hoist Pruning hoisted dependencies
lerna sill prune [
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/@rollup/plugin-node-resolve',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/@rollup/plugin-typescript',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/rollup',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/rollup-plugin-terser',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/rollup-plugin-version-injector',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/cbor',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/debug',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/elliptic',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/jsrsasign',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/jwk-to-pem',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/node-fetch',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/node-rsa',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@peculiar/asn1-android',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@peculiar/asn1-schema',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@peculiar/asn1-x509',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/base64url',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/cbor',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/debug',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/elliptic',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/jsrsasign',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/jwk-to-pem',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/node-fetch',
lerna sill prune   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/node-rsa'
lerna sill prune ]
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/@rollup/plugin-node-resolve
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/@rollup/plugin-typescript
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/rollup
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/rollup-plugin-terser
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/rollup-plugin-version-injector
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/cbor
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/debug
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/elliptic
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/jsrsasign
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/jwk-to-pem
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/@rollup/plugin-node-resolve
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/node-fetch
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/@rollup/plugin-typescript
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/node-rsa
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/rollup
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@peculiar/asn1-android
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/rollup-plugin-terser
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@peculiar/asn1-schema
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/rollup-plugin-version-injector
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@peculiar/asn1-x509
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/cbor
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/base64url
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/debug
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/cbor
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/elliptic
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/debug
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/jsrsasign
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/elliptic
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/jwk-to-pem
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/jsrsasign
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/node-fetch
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/jwk-to-pem
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@types/node-rsa
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/node-fetch
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@peculiar/asn1-android
lerna sill rimrafDir /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/node-rsa
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@peculiar/asn1-schema
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@peculiar/asn1-x509
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/base64url
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/cbor
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/debug
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/elliptic
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/jsrsasign
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/jwk-to-pem
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/node-fetch
lerna verb prune /Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/node-rsa
lerna info hoist Finished pruning hoisted dependencies
lerna sill npmInstallDependencies writing tempJson {
lerna sill npmInstallDependencies   name: 'simplewebauthn-monorepo',
lerna sill npmInstallDependencies   private: true,
lerna sill npmInstallDependencies   devDependencies: {
lerna sill npmInstallDependencies     '@types/express': '^4.17.9',
lerna sill npmInstallDependencies     '@types/jest': '^27.0.1',
lerna sill npmInstallDependencies     '@typescript-eslint/eslint-plugin': '^4.17.0',
lerna sill npmInstallDependencies     '@typescript-eslint/parser': '^4.17.0',
lerna sill npmInstallDependencies     eslint: '^7.21.0',
lerna sill npmInstallDependencies     husky: '^7.0.2',
lerna sill npmInstallDependencies     jest: '^27.0.6',
lerna sill npmInstallDependencies     'jest-environment-jsdom': '^27.0.6',
lerna sill npmInstallDependencies     lerna: '^5.1.2',
lerna sill npmInstallDependencies     'lint-staged': '^11.1.2',
lerna sill npmInstallDependencies     nx: '^14.3.2',
lerna sill npmInstallDependencies     prettier: '^2.2.1',
lerna sill npmInstallDependencies     rimraf: '^3.0.2',
lerna sill npmInstallDependencies     semver: '^7.3.2',
lerna sill npmInstallDependencies     'ts-jest': '^27.0.5',
lerna sill npmInstallDependencies     'ts-morph': '^11.0.3',
lerna sill npmInstallDependencies     'ts-node': '^10.2.1',
lerna sill npmInstallDependencies     typedoc: '^0.22.15',
lerna sill npmInstallDependencies     'typedoc-plugin-missing-exports': '^0.22.6',
lerna sill npmInstallDependencies     typescript: '^4.6.3'
lerna sill npmInstallDependencies   },
lerna sill npmInstallDependencies   husky: { hooks: { 'pre-commit': 'lint-staged' } },
lerna sill npmInstallDependencies   'lint-staged': { '*.{ts,js}': [ 'prettier --write', 'eslint --fix', 'git add' ] },
lerna sill npmInstallDependencies   dependencies: {
lerna sill npmInstallDependencies     '@rollup/plugin-node-resolve': '^13.0.0',
lerna sill npmInstallDependencies     '@rollup/plugin-typescript': '^8.2.1',
lerna sill npmInstallDependencies     rollup: '^2.52.1',
lerna sill npmInstallDependencies     'rollup-plugin-terser': '^7.0.2',
lerna sill npmInstallDependencies     'rollup-plugin-version-injector': '^1.3.3',
lerna sill npmInstallDependencies     '@types/cbor': '^5.0.1',
lerna sill npmInstallDependencies     '@types/debug': '^4.1.7',
lerna sill npmInstallDependencies     '@types/elliptic': '^6.4.13',
lerna sill npmInstallDependencies     '@types/jsrsasign': '^8.0.13',
lerna sill npmInstallDependencies     '@types/jwk-to-pem': '^2.0.1',
lerna sill npmInstallDependencies     '@types/node-fetch': '^2.5.12',
lerna sill npmInstallDependencies     '@types/node-rsa': '^1.1.1',
lerna sill npmInstallDependencies     '@peculiar/asn1-android': '^2.1.7',
lerna sill npmInstallDependencies     '@peculiar/asn1-schema': '^2.1.7',
lerna sill npmInstallDependencies     '@peculiar/asn1-x509': '^2.1.7',
lerna sill npmInstallDependencies     base64url: '^3.0.1',
lerna sill npmInstallDependencies     cbor: '^5.1.0',
lerna sill npmInstallDependencies     debug: '^4.3.2',
lerna sill npmInstallDependencies     elliptic: '^6.5.3',
lerna sill npmInstallDependencies     jsrsasign: '^10.4.0',
lerna sill npmInstallDependencies     'jwk-to-pem': '^2.0.4',
lerna sill npmInstallDependencies     'node-fetch': '^2.6.0',
lerna sill npmInstallDependencies     'node-rsa': '^1.1.1'
lerna sill npmInstallDependencies   }
lerna sill npmInstallDependencies }
lerna sill getNpmExecOpts /Users/matt/Developer/repro-simplewebauthn undefined
lerna sill npmInstall [ 'npm', [ 'install' ] ]
lerna sill npmInstallDependencies cleanup /Users/matt/Developer/repro-simplewebauthn/package.json
lerna sill createSymlink [
lerna sill createSymlink   '/Users/matt/Developer/repro-simplewebauthn/node_modules/rollup/dist/bin/rollup',
lerna sill createSymlink   '/Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/.bin/rollup',
lerna sill createSymlink   'exec'
lerna sill createSymlink ]
lerna sill createSymbolicLink [
lerna sill createSymbolicLink   '../../../../node_modules/rollup/dist/bin/rollup',
lerna sill createSymbolicLink   '/Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/.bin/rollup',
lerna sill createSymbolicLink   'file'
lerna sill createSymbolicLink ]
lerna info hoist Finished bootstrapping root
lerna info Symlinking packages and binaries
lerna sill createSymlink [
lerna sill createSymlink   '/Users/matt/Developer/repro-simplewebauthn/packages/typescript-types',
lerna sill createSymlink   '/Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/@simplewebauthn/typescript-types',
lerna sill createSymlink   'junction'
lerna sill createSymlink ]
lerna sill createSymbolicLink [
lerna sill createSymbolicLink   '../../../typescript-types',
lerna sill createSymbolicLink   '/Users/matt/Developer/repro-simplewebauthn/packages/browser/node_modules/@simplewebauthn/typescript-types',
lerna sill createSymbolicLink   'junction'
lerna sill createSymbolicLink ]
lerna sill actions finished @simplewebauthn/browser
lerna sill createSymlink [
lerna sill createSymlink   '/Users/matt/Developer/repro-simplewebauthn/packages/typescript-types',
lerna sill createSymlink   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@simplewebauthn/typescript-types',
lerna sill createSymlink   'junction'
lerna sill createSymlink ]
lerna sill createSymbolicLink [
lerna sill createSymbolicLink   '../../../typescript-types',
lerna sill createSymbolicLink   '/Users/matt/Developer/repro-simplewebauthn/packages/server/node_modules/@simplewebauthn/typescript-types',
lerna sill createSymbolicLink   'junction'
lerna sill createSymbolicLink ]
lerna sill actions finished @simplewebauthn/server
lerna sill actions finished @simplewebauthn/testing
lerna sill actions finished @simplewebauthn/typescript-types
lerna verb lifecycle install
lerna sill lifecycle No script for "install" in "@simplewebauthn/testing", continuing
lerna sill lifecycle No script for "install" in "@simplewebauthn/typescript-types", continuing
lerna sill lifecycle No script for "install" in "@simplewebauthn/browser", continuing
lerna sill lifecycle No script for "install" in "@simplewebauthn/server", continuing
lerna verb lifecycle postinstall
lerna sill lifecycle No script for "postinstall" in "@simplewebauthn/testing", continuing
lerna sill lifecycle No script for "postinstall" in "@simplewebauthn/typescript-types", continuing
lerna sill lifecycle No script for "postinstall" in "@simplewebauthn/browser", continuing
lerna sill lifecycle No script for "postinstall" in "@simplewebauthn/server", continuing
lerna verb lifecycle prepublish
lerna sill lifecycle "prepublish" starting in "@simplewebauthn/testing"
lerna info lifecycle @simplewebauthn/testing@5.0.0~prepublish: @simplewebauthn/testing@5.0.0

> @simplewebauthn/testing@5.0.0 prepublish /Users/matt/Developer/repro-simplewebauthn/packages/testing
> npm run build

lerna sill lifecycle "prepublish" starting in "@simplewebauthn/typescript-types"
lerna info lifecycle @simplewebauthn/typescript-types@5.3.0~prepublish: @simplewebauthn/typescript-types@5.3.0

> @simplewebauthn/typescript-types@5.3.0 prepublish /Users/matt/Developer/repro-simplewebauthn/packages/typescript-types
> npm run build

(###############⠂⠂⠂) ⠼ prepublish: info lifecycle @simplewebauthn/typescript-types@5.3.0~prepublish: @simplewebauthn/typescript-types@5.3.0
> @simplewebauthn/testing@5.0.0 build
> rimraf dist && tsc
lerna sill lifecycle "prepublish" finished in "@simplewebauthn/testing"
(################⠂⠂) ⠴ prepublish: sill lifecycle "prepublish" finished in "@simplewebauthn/testing"
> @simplewebauthn/typescript-types@5.3.0 build
> rimraf dist && npm run extract-dom-types && tsc


> @simplewebauthn/typescript-types@5.3.0 extract-dom-types
> ts-node extract-dom-types.ts
lerna sill lifecycle "prepublish" finished in "@simplewebauthn/typescript-types"
lerna sill lifecycle "prepublish" starting in "@simplewebauthn/browser"
lerna info lifecycle @simplewebauthn/browser@5.3.0~prepublish: @simplewebauthn/browser@5.3.0

> @simplewebauthn/browser@5.3.0 prepublish /Users/matt/Developer/repro-simplewebauthn/packages/browser
> npm run build

lerna sill lifecycle "prepublish" starting in "@simplewebauthn/server"
lerna info lifecycle @simplewebauthn/server@5.3.0~prepublish: @simplewebauthn/server@5.3.0

> @simplewebauthn/server@5.3.0 prepublish /Users/matt/Developer/repro-simplewebauthn/packages/server
> npm run build

lerna ERR! lifecycle "prepublish" errored in "@simplewebauthn/server", exiting 1

I'm calling out Node 18 specifically because when I clone a fresh copy of my repo and re-run the reproduction steps below using Node 16 I observe 10 successful runs, with no issues of any kind.

Expected Behavior

I expect every execution of lerna bootstrap --hoist with Node 18 to successfully complete when no changes to code have been made since the last successful run.

Steps to Reproduce

  1. git clone https://github.com/MasterKale/SimpleWebAuthn.git repro-simplewebauthn
  2. Confirm Node 18.6.0 (e.g. nvm use 18.6.0)
  3. npm install
  4. npx lerna --version and confirm 5.2.0
  5. npx nx --version and confirm 14.4.3
  6. npm run bootstrap x 10

Failure Logs / Configuration

lerna.json

{
  "version": "5.3.0",
  "npmClient": "npm",
  "useNx": true,
  "command": {
    "publish": {
      "ignoreChanges": [
        "*.config.js",
        ".eslintrc.js",
        ".prettierignore",
        ".gitignore",
        ".eslintignore"
      ],
      "message": "chore(release): publish %s"
    }
  },
  "packages": [
    "packages/*"
  ]
}

nx.json

{
  "implicitDependencies": {
    "package.json": "*"
  },
  "tasksRunnerOptions": {
    "default": {
      "runner": "nx/tasks-runners/default",
      "options": {
        "cacheableOperations": ["build", "test"]
      }
    }
  },
  "targetDefaults": {
    "build": {
      "outputs": ["./dist"]
    }
  },
  "pluginsConfig": {
    "@nrwl/js": {
      "analyzeSourceFiles": false
    }
  }
}

Environment

Environment info:

System:
  OS: macOS 12.4
  CPU: (10) arm64 Apple M1 Pro
Binaries:
  Node: 18.6.0 - ~/.nvm/versions/node/v18.6.0/bin/node
  npm: 8.13.2 - ~/.nvm/versions/node/v18.6.0/bin/npm
Utilities:
  Git: 2.32.1 - /usr/bin/git
npmPackages:
  lerna: ^5.1.2 => 5.2.0
MasterKale added a commit to MasterKale/SimpleWebAuthn that referenced this issue Jul 28, 2022
I'll re-enable once lerna/lerna#3259 gets solved
@MasterKale
Copy link
Author

Oh, interesting, I noticed 5.3.0 dropped with a fix (#3262) for an issue that the ionic-framework repo was having (ionic-team/ionic-framework#25497):

lerna ERR! lifecycle "prepublishOnly" errored in "@ionic/angular-server", exiting 1

This looks suspiciously similar to the error I noted above. I'll take 5.3.0 out for a spin and see if it doesn't fix my problem too.

@tommymarshall
Copy link

Running into this as well on my M3 Macbook Pro

Versions
node: v20.11.0
lerna: v6.0.3
nx: v15.3.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants