Comments (24)
Hi all,
v9.1.2 has been released to npm which reverts the breaking changes (which were intended for v10.x but accidentally got released here).
v9.1.2 is effectively the same as v9.1.0 so any systems that were working with that version should be working again after an npm install
.
from json-schema-ref-parser.
We're having problems from this too, it's breaking https://github.com/firebase/firebase-tools on our Node 14 CI system
Please roll back as soon as possible, thank you!
from json-schema-ref-parser.
Hey I wrote the PR that broke this. It hadn't hit me that it would autorelease a patch version upon merge since I didn't annotate the relevant commit message as a breaking change.
Suggest pinning to the exact version
9.1.0
if you haven't already, until a9.1.2
can be released.Sorry about this!
For our use case, we canβt pin the dependency because itβs a dependency of another dependency, and we are consuming it in a package within our own private NPM registry, so lock files are not honored when the package is installed (which is how npm/yarn work).
from json-schema-ref-parser.
@monkpit (and others) you can resolve sub dependencies to a desired version with package.json resolutions.
"resolutions": {
"@apidevtools/json-schema-ref-parser": "9.1.0",
...
},
from json-schema-ref-parser.
@emrysal firebase-tools is installed as a global package. I'm not sure there is a way to add resolutions for that. Especially through CI runners like GitHub actions
from json-schema-ref-parser.
In my case, json-schema-ref-parser
was a subdependency of @apidevtools/swagger-parser
. I am unable to use the latest version as it is not compatible with older Node.js versions. That older version specifies the dependency via semver range ^9.0.6
, as do all prior versions along the v10.x line of swagger-parser
.
I had to downgrade all the way to [email protected]
in order to have @apidevtools/[email protected]
to be installed.
I would, however, mention that @emrysal's solution worked just fine. However, our GitHub Actions-based test runner seems to ignore the resolutions
block in package.json
π
Being an OSS maintainer myself, I understand that fixing this is not high on the priority list for @philsturgeon, but I do appreciate that this library is being looked at, so it can get to a level where others can take over. It seems an npm deprecate @apidevtools/[email protected]
will resolve this issue nicely. We'll just have to wait patiently π
from json-schema-ref-parser.
Also broke my CI due to globally installing firebase-tools. After resolutions didn't work, my fix is:
yarn global add --ignore-engines firebase-tools @apidevtools/[email protected]
Which is ugly but seems to work for me. If there is any way to rollback this change, that would be ideal.
from json-schema-ref-parser.
The title is slightly incorrect. The breaking change was introduced between 9.1.0
and 9.1.1
(a patch version rather than a minor version).
from json-schema-ref-parser.
@monkpit (and others) you can resolve sub dependencies to a desired version with package.json resolutions.
"resolutions": { "@apidevtools/json-schema-ref-parser": "9.1.0", ... },
This does not appear to work in cases when the consumer of the dependency is a package as opposed to a project with a lockfile (we tried).
This works for me, but take a look at your resolutions version, it's 9.1.0 but the previous release is 9.0.9. This should fix your issue:
"resolutions": {
"@apidevtools/json-schema-ref-parser": "9.0.9"
}
PLUS: If you are using a monorepo, add it to the package json in the root of your project.
from json-schema-ref-parser.
@monkpit (and others) you can resolve sub dependencies to a desired version with package.json resolutions.
"resolutions": { "@apidevtools/json-schema-ref-parser": "9.1.0", ... },
This does not appear to work in cases when the consumer of the dependency is a package as opposed to a project with a lockfile (we tried).
This works for me, but take a look at your resolutions version, it's 9.1.0 but the previous release is 9.0.9. This should fix your issue:
"resolutions": { "@apidevtools/json-schema-ref-parser": "9.0.9" }
PLUS: If you are using a monorepo, add it to the package json in the root of your project.
It does not work (for us - we tried it) when the package.json containing resolutions is within another package that you are publishing. When you consume the published package, resolutions block seems to be ignored.
EDIT: when we tried it, we did use 9.0.9 also.
from json-schema-ref-parser.
This is also breaking Gitlab's CI because it doesn't respect the provided solution in package.json
from json-schema-ref-parser.
With the release of 10.x there's no longer any simple automated way to get a patch released to solve this, so the options now are to wait for firebase-tools to lock to the previous version and/or ask nicely to get the 9.1.1 (potentially also then 9.1.0) unpublished. And maybe donate some trees :) for speediness.
from json-schema-ref-parser.
Hi all,
v9.1.2 has been released to npm which reverts the breaking changes (which were intended for v10.x but accidentally got released here).
v9.1.2 is effectively the same as v9.1.0 so any systems that were working with that version should be working again after an
npm install
.
Thank you so much!
-- someone with a child dependency caret-pinned to 9.x.x that couldn't get yarn resolutions to override v9.1.1
from json-schema-ref-parser.
Using this closed issue as it's where people will end up for 'engine incompatible'.
Are there reasons to impose a minimum version of Node 17 other than tests?
If not, it seems a shame to prevent anyone using the package unless they can use Node 18. Personally I can't in a project due to other dependencies (which is intended for use by others, otherwise I'd consider just --ignore-engines
locally).
One alternative would be to have a script that checks Node version when tests are run and bailing if it is insufficient. Then the requirements for development don't propagate to package users.
Appreciate that Node 16 is end of life this year but thought I'd suggest it anyway.
Thanks for a great package!
from json-schema-ref-parser.
@philsturgeon did you mean to check in:
"engines": { "node": ">= 17" },
to version 9.1.1? I see your disclaimer on version 10. Maybe these lines were meant for version 10?
from json-schema-ref-parser.
Also causing issues here!
from json-schema-ref-parser.
Same
from json-schema-ref-parser.
Hey I wrote the PR that broke this. It hadn't hit me that it would autorelease a patch version upon merge since I didn't annotate the relevant commit message as a breaking change.
Suggest pinning to the exact version 9.1.0
if you haven't already, until a 9.1.2
can be released.
Sorry about this!
from json-schema-ref-parser.
@jamesmoschou: Can you unpublish or deprecate 9.1.1
? This might be faster and easier than releasing a 9.1.2
, and would fix packages depending on ^9.0.0
.
from json-schema-ref-parser.
@mikeharder I'm not a maintainer, just an external contributor
from json-schema-ref-parser.
@monkpit (and others) you can resolve sub dependencies to a desired version with package.json resolutions.
"resolutions": { "@apidevtools/json-schema-ref-parser": "9.1.0", ... },
This does not appear to work in cases when the consumer of the dependency is a package as opposed to a project with a lockfile (we tried).
from json-schema-ref-parser.
Installing firebase-tools
globally in Github Actions and getting this error
error @apidevtools/[email protected]: The engine "node" is incompatible with this module. Expected version ">= 17". Got "16.19.0"
from json-schema-ref-parser.
See also this comment related to installing firebase-tools
globally
yarn install --ignore-engines
from json-schema-ref-parser.
Thank you @jamesmoschou !
from json-schema-ref-parser.
Related Issues (20)
- Breaking Firebase Tools HOT 3
- Absolute and some relative paths broken in 10.0.1 HOT 6
- The automated release is failing π¨
- Default export is brocken (ES Modules)
- Many missing exported types since #300 HOT 2
- Fail to parse circular reference defined in external file: wrong file path is updated to ref value
- `Could not resolve "node-fetch"` error with sveltekit & vite HOT 2
- References to existing but null values fail as missing HOT 2
- Incorrect path resolving for absolut paths under windows HOT 5
- isExcludedPath is not a function. HOT 1
- TypeError: (0 , path_1.join) is not a function HOT 1
- merge the resolved value and the original reference HOT 3
- Browser is trying to require `fs/promises` HOT 3
- Changelog for version 10.0.0 seems to be missing HOT 1
- Types ResolverOptions and FileInfo are no longer exported in v11 HOT 1
- Numbers being appended to the TypeScript interface names when using the same $ref multiple times HOT 1
- unwanted
- clonedeep vs structuredClone HOT 2
- win32 not available when using webpack 5 and path-browserify polyfill HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from json-schema-ref-parser.