-
Notifications
You must be signed in to change notification settings - Fork 148
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
failed to build with node 23 #731
Comments
\o hey @chenrui333 -- as the GitHub Release and the website both mention, the Web UI is not currently supported and is blocked on several outstanding issues. I would not recommend Homebrew ship the UI until they are resolved. |
interesting, we did not see the ui build issue after switching to node 22 other than the refs to the hashicorp stuff, can you elaborate a bit how UI build is being blocked? |
@chenrui333 It seems like the UI might be Linux only at the moment; we've had reports that it doesn't build well on Windows and Mac. Besides the explicit copyright violations, we had references to plugins and features not present in OpenBao (which I think @bozzo has done a great job starting to address; I need to take inventory of what is left), and the test suite still fails last I checked. I suspect that means at some point you might be able to build the UI on Linux (like we do all our releases), but not sure if that'll prevent local Mac builds from working. Or, maybe it was outside the homebrew ecosystem (Xcode only?) that builds didn't work. Sadly I don't have a Mac so I can't test. |
It's also working on Mac using |
@chenrui333 @bozzo Ahh, I was misremembering I think I must've been thinking of https://github.com/orgs/openbao/discussions/371. In general, I do agree, MacOS should be similar enough to Linux from a NodeJS perspective that things should build fine. Looks like tests are working better, but still got a bit of work to do before they're green again. |
the build fails to due deprecated use of "utils.isRegExp" in nodejs, anyway, switching back to nodejs version 22 works. nvm is pretty helpfull for that case
|
I think this is out of our control, as vault/openbao ui is build upon emberJs, which does not support node 23 for now: |
Based on our
I think that means we should be using Node 12.x per @arminfelder's table:
...which ended security support back in 2022. So while we may not get all the way to Node 23, we definitely want to jump to at least a supported NodeJS version. |
at the moment it is using Node 16, as seen in Line 222 in 88945c0
I guess, we should just try setting it to 22 and run the tests there are also quite some packages, which haven't seen a new version in 5 years, but many of them are not security relevant, as e.g. sass code does not matter, as it is only used to build static CSS files to be served via the go application. |
settting node to version 22 like this will remove deprecated code generation "util.types.isRegExp" instead of "util.isRegExp"
|
hmm right, there is quite a list of matches for the depricated util.is* methods, so I guess we could then go to node 20 which still has LTS support for next 1,5 years. and meanwhile we must fight our way through the dependency hell Usage of Node 23 deprecated utils.is* helpersgrep "util\.is" ./* -R -c -o | grep ":[1-9][0-9]*"
./@babel/core/lib/config/caching.js:1
./@embroider/core/node_modules/@babel/core/lib/config/caching.js:1
./@glimmer/reference/dist/amd/es5/glimmer-reference.js:6
./@glimmer/reference/dist/commonjs/es2017/lib/property.js:3
./@glimmer/reference/dist/commonjs/es2017/lib/tags.js:3
./@glimmer/reference/dist/commonjs/es5/lib/property.js:3
./@glimmer/reference/dist/commonjs/es5/lib/tags.js:3
./@glimmer/runtime/dist/amd/es5/glimmer-runtime.js:1
./@glimmer/runtime/dist/commonjs/es2017/lib/vm/append.js:1
./@glimmer/runtime/dist/commonjs/es5/lib/vm/append.js:1
./@hashicorp/design-system-components/node_modules/ember-auto-import/node_modules/@babel/core/lib/config/caching.js:1
./@hashicorp/design-system-components/node_modules/json5/dist/index.js:21
./@hashicorp/design-system-components/node_modules/json5/dist/index.min.mjs:1
./@hashicorp/design-system-components/node_modules/json5/dist/index.mjs:21
./@hashicorp/design-system-components/node_modules/json5/lib/parse.js:18
./@hashicorp/design-system-components/node_modules/json5/lib/stringify.js:3
./@hashicorp/design-system-components/node_modules/regenerator-transform/lib/emit.js:1
./@hashicorp/design-system-components/node_modules/regenerator-transform/lib/visit.js:1
./@hashicorp/design-system-components/node_modules/regenerator-transform/src/emit.js:1
./@hashicorp/design-system-components/node_modules/regenerator-transform/src/visit.js:1
./@prettier/eslint/node_modules/eslint/lib/rules/block-spacing.js:1
./@prettier/eslint/node_modules/prettier/index.js:21
./@types/node/util.d.ts:56
./@typescript-eslint/eslint-plugin/dist/rules/array-type.js:2
./@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js:2
./@typescript-eslint/eslint-plugin/dist/rules/comma-dangle.js:2
./@typescript-eslint/eslint-plugin/dist/rules/consistent-type-exports.js:2
./@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js:12
./@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js:1
./@typescript-eslint/eslint-plugin/dist/rules/func-call-spacing.js:3
./@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js:3
./@typescript-eslint/eslint-plugin/dist/rules/no-array-constructor.js:1
./@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js:3
./@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js:1
./@typescript-eslint/eslint-plugin/dist/rules/no-extra-parens.js:21
./@typescript-eslint/eslint-plugin/dist/rules/no-for-in-array.js:1
./@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js:1
./@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js:2
./@typescript-eslint/eslint-plugin/dist/rules/no-redundant-type-constituents.js:7
./@typescript-eslint/eslint-plugin/dist/rules/no-throw-literal.js:2
./@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js:1
./@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js:5
./@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js:5
./@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js:9
./@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js:2
./@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js:3
./@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js:5
./@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js:2
./@typescript-eslint/eslint-plugin/dist/rules/padding-line-between-statements.js:8
./@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js:7
./@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js:2
./@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js:1
./@typescript-eslint/eslint-plugin/dist/rules/prefer-reduce-type-parameter.js:1
./@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js:1
./@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js:1
./@typescript-eslint/eslint-plugin/dist/rules/require-await.js:3
./@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js:1
./@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js:5
./@typescript-eslint/eslint-plugin/dist/rules/return-await.js:3
./@typescript-eslint/eslint-plugin/dist/rules/space-before-blocks.js:1
./@typescript-eslint/eslint-plugin/dist/rules/space-before-function-paren.js:2
./@typescript-eslint/eslint-plugin/dist/rules/space-infix-ops.js:1
./@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js:2
./@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js:1
./assert/assert.js:6
./autoprefixer/node_modules/source-map/dist/source-map.debug.js:1
./autoprefixer/node_modules/source-map/dist/source-map.js:1
./autoprefixer/node_modules/source-map/dist/source-map.min.js.map:1
./autoprefixer/node_modules/source-map/lib/source-map-consumer.js:1
./babel-plugin-transform-regenerator/node_modules/regenerator-transform/lib/emit.js:1
./babel-plugin-transform-regenerator/node_modules/regenerator-transform/lib/visit.js:1
./babel-plugin-transform-regenerator/node_modules/regenerator-transform/src/emit.js:1
./babel-plugin-transform-regenerator/node_modules/regenerator-transform/src/visit.js:1
./bluebird/js/browser/bluebird.core.js:18
./bluebird/js/browser/bluebird.js:26
./bluebird/js/release/call_get.js:1
./bluebird/js/release/cancel.js:1
./bluebird/js/release/catch_filter.js:1
./bluebird/js/release/debuggability.js:6
./bluebird/js/release/finally.js:1
./bluebird/js/release/map.js:1
./bluebird/js/release/method.js:1
./bluebird/js/release/nodeify.js:1
./bluebird/js/release/promise_array.js:1
./bluebird/js/release/promise.js:4
./bluebird/js/release/promisify.js:3
./bluebird/js/release/props.js:1
./bluebird/js/release/schedule.js:2
./bluebird/js/release/some.js:1
./bluebird/js/release/thenables.js:1
./broccoli-autoprefixer/node_modules/source-map/dist/source-map.debug.js:1
./broccoli-autoprefixer/node_modules/source-map/dist/source-map.js:1
./broccoli-autoprefixer/node_modules/source-map/dist/source-map.min.js.map:1
./broccoli-autoprefixer/node_modules/source-map/lib/source-map-consumer.js:1
./broccoli-terser-sourcemap/node_modules/source-map/dist/source-map.js:1
./broccoli-terser-sourcemap/node_modules/source-map/lib/source-map-consumer.js:1
./clean-css/lib/utils/compatibility.js:1
./core-util-is/package.json:1
./core-util-is/README.md:1
./ember-auto-import/node_modules/@babel/core/lib/config/caching.js:1
./ember-auto-import/node_modules/regenerator-transform/lib/emit.js:1
./ember-auto-import/node_modules/regenerator-transform/lib/visit.js:1
./ember-auto-import/node_modules/regenerator-transform/src/emit.js:1
./ember-auto-import/node_modules/regenerator-transform/src/visit.js:1
./ember-auto-import/node_modules/json5/dist/index.js:21
./ember-auto-import/node_modules/json5/dist/index.min.mjs:1
./ember-auto-import/node_modules/json5/dist/index.mjs:21
./ember-auto-import/node_modules/json5/lib/parse.js:18
./ember-auto-import/node_modules/json5/lib/stringify.js:3
./ember-cli/node_modules/@babel/core/lib/config/caching.js:1
./ember-cli/node_modules/json5/dist/index.js:21
./ember-cli/node_modules/json5/dist/index.min.mjs:1
./ember-cli/node_modules/json5/dist/index.mjs:21
./ember-cli/node_modules/json5/lib/parse.js:18
./ember-cli/node_modules/json5/lib/stringify.js:3
./ember-cli-clipboard/node_modules/@babel/core/lib/config/caching.js:1
./ember-cli-clipboard/node_modules/terser-webpack-plugin/node_modules/source-map/dist/source-map.debug.js:1
./ember-cli-clipboard/node_modules/terser-webpack-plugin/node_modules/source-map/dist/source-map.js:1
./ember-cli-clipboard/node_modules/terser-webpack-plugin/node_modules/source-map/dist/source-map.min.js.map:1
./ember-cli-clipboard/node_modules/terser-webpack-plugin/node_modules/source-map/lib/source-map-consumer.js:1
./ember-cli-mirage/node_modules/@babel/core/lib/config/caching.js:1
./ember-cli-mirage/node_modules/terser-webpack-plugin/node_modules/source-map/dist/source-map.debug.js:1
./ember-cli-mirage/node_modules/terser-webpack-plugin/node_modules/source-map/dist/source-map.js:1
./ember-cli-mirage/node_modules/terser-webpack-plugin/node_modules/source-map/dist/source-map.min.js.map:1
./ember-cli-mirage/node_modules/terser-webpack-plugin/node_modules/source-map/lib/source-map-consumer.js:1
./ember-cli-string-helpers/node_modules/@babel/core/lib/config/caching.js:1
./ember-source/dist/ember-template-compiler.js:15
./ember-source/dist/ember.debug.js:13
./ember-source/dist/ember-template-compiler.map:1
./ember-source/dist/ember.debug.map:1
./ember-template-recast/node_modules/@glimmer/reference/dist/amd/es5/glimmer-reference.js:5
./ember-template-recast/node_modules/@glimmer/reference/dist/commonjs/es2017/lib/iterable.js:2
./ember-template-recast/node_modules/@glimmer/reference/dist/commonjs/es2017/lib/reference.js:3
./ember-template-recast/node_modules/@glimmer/reference/dist/commonjs/es5/lib/iterable.js:2
./ember-template-recast/node_modules/@glimmer/reference/dist/commonjs/es5/lib/reference.js:3
./ember-template-recast/node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v1/public-builders.js:1
./ember-template-recast/node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/normalize.js:6
./ember-template-recast/node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/location.js:1
./ember-template-recast/node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/loc/match.js:2
./ember-template-recast/node_modules/@glimmer/syntax/dist/commonjs/es5/lib/v1/public-builders.js:1
./ember-template-recast/node_modules/@glimmer/syntax/dist/commonjs/es5/lib/v2-a/normalize.js:6
./ember-template-recast/node_modules/@glimmer/syntax/dist/commonjs/es5/lib/source/location.js:1
./ember-template-recast/node_modules/@glimmer/syntax/dist/commonjs/es5/lib/source/loc/match.js:2
./ember-template-recast/node_modules/@glimmer/syntax/dist/amd/es5/glimmer-syntax.js:8
./ember-tether/node_modules/@babel/core/lib/config/caching.js:1
./ember-tether/node_modules/terser-webpack-plugin/node_modules/source-map/dist/source-map.debug.js:1
./ember-tether/node_modules/terser-webpack-plugin/node_modules/source-map/dist/source-map.js:1
./ember-tether/node_modules/terser-webpack-plugin/node_modules/source-map/dist/source-map.min.js.map:1
./ember-tether/node_modules/terser-webpack-plugin/node_modules/source-map/lib/source-map-consumer.js:1
./engine.io/node_modules/@types/node/util.d.ts:56
./error/wrapped.js:1
./escodegen/node_modules/source-map/dist/source-map.debug.js:1
./escodegen/node_modules/source-map/dist/source-map.js:1
./escodegen/node_modules/source-map/dist/source-map.min.js.map:1
./escodegen/node_modules/source-map/lib/source-map-consumer.js:1
./eslint/lib/rules/block-spacing.js:1
./esm/esm/loader.js:1
./fast-deep-equal/README.md:1
./form-data/lib/form_data.js:1
./handlebars/node_modules/source-map/dist/source-map.debug.js:1
./handlebars/node_modules/source-map/dist/source-map.js:1
./handlebars/node_modules/source-map/dist/source-map.min.js.map:1
./handlebars/node_modules/source-map/lib/source-map-consumer.js:1
./json5/lib/parse.js:18
./json5/lib/stringify.js:3
./json5/dist/index.js:21
./json5/dist/index.min.mjs:1
./json5/dist/index.mjs:21
./loader-utils/node_modules/json5/lib/parse.js:1
./loader-utils/node_modules/json5/lib/stringify.js:1
./lodash/fp/_baseConvert.js:4
./memory-streams/node_modules/readable-stream/lib/_stream_readable.js:1
./object-hash/dist/object_hash_test.js:10
./path-posix/index.js:1
./prettier/index.js:21
./prettier-eslint-cli/node_modules/eslint/lib/rules/block-spacing.js:1
./recast/lib/printer.js:6
./recast/node_modules/source-map/dist/source-map.debug.js:1
./recast/node_modules/source-map/dist/source-map.js:1
./recast/node_modules/source-map/dist/source-map.min.js.map:1
./recast/node_modules/source-map/lib/source-map-consumer.js:1
./regenerator-transform/lib/emit.js:1
./regenerator-transform/lib/visit.js:1
./regenerator-transform/src/emit.js:1
./regenerator-transform/src/visit.js:1
./remove-types/node_modules/@babel/core/lib/config/caching.js:1
./remove-types/node_modules/json5/lib/parse.js:18
./remove-types/node_modules/json5/lib/stringify.js:3
./remove-types/node_modules/json5/dist/index.js:21
./remove-types/node_modules/json5/dist/index.min.mjs:1
./remove-types/node_modules/json5/dist/index.mjs:21
./remove-types/node_modules/prettier/index.js:21
./source-map/dist/source-map.debug.js:1
./source-map/dist/source-map.js:1
./source-map/dist/source-map.min.js.map:1
./source-map/lib/source-map-consumer.js:1
./source-map-js/lib/source-map-consumer.js:1
./source-map-support/node_modules/source-map/dist/source-map.debug.js:1
./source-map-support/node_modules/source-map/dist/source-map.js:1
./source-map-support/node_modules/source-map/dist/source-map.min.js.map:1
./source-map-support/node_modules/source-map/lib/source-map-consumer.js:1
./swagger-ui-dist/swagger-ui-bundle.js.map:1
./swagger-ui-dist/swagger-ui-es-bundle.js.map:1
./terser/node_modules/source-map/dist/source-map.debug.js:1
./terser/node_modules/source-map/dist/source-map.js:1
./terser/node_modules/source-map/dist/source-map.min.js.map:1
./terser/node_modules/source-map/lib/source-map-consumer.js:1
./terser-webpack-plugin/node_modules/source-map/dist/source-map.debug.js:1
./terser-webpack-plugin/node_modules/source-map/dist/source-map.js:1
./terser-webpack-plugin/node_modules/source-map/dist/source-map.min.js.map:1
./terser-webpack-plugin/node_modules/source-map/lib/source-map-consumer.js:1
./url/url.js:8
./util/test/browser/is.js:45
./util/test/node/util.js:38
./verror/node_modules/core-util-is/package.json:1
./verror/node_modules/core-util-is/README.md:1
./webpack-sources/node_modules/source-map/lib/source-map-consumer.js:1
./webpack-sources/node_modules/source-map/dist/source-map.debug.js:1
./webpack-sources/node_modules/source-map/dist/source-map.js:1
./webpack-sources/node_modules/source-map/dist/source-map.min.js.map:1 Edited for clarity by @cipherboy |
@arminfelder @omichels Also problematic is this: https://deprecations.emberjs.com/id/deprecate-array-prototype-extensions/ -- our main codebase uses several of these array helpers that have been deprecated. I have a partial branch here but likely won't work on it much more: https://github.com/cipherboy/openbao/pull/new/cipherboy-upgrade-ember |
👋 trying to build the latest 2.0.3 release, but run into some build issue using node 23 (node 22 works fine). The error log is as below:
error build log
relates to Homebrew/homebrew-core#197830
The text was updated successfully, but these errors were encountered: