Coder Social home page Coder Social logo

Comments (24)

jamesmoschou avatar jamesmoschou commented on June 11, 2024 8

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.

rcb4t2 avatar rcb4t2 commented on June 11, 2024 5

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!

@philsturgeon

from json-schema-ref-parser.

monkpit avatar monkpit commented on June 11, 2024 5

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!

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.

emrysal avatar emrysal commented on June 11, 2024 4

@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.

khevamann avatar khevamann commented on June 11, 2024 4

@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.

julianlam avatar julianlam commented on June 11, 2024 4

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.

JEGardner avatar JEGardner commented on June 11, 2024 3

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.

mikeharder avatar mikeharder commented on June 11, 2024 2

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.

fperaltalitebox avatar fperaltalitebox commented on June 11, 2024 1

@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 avatar monkpit commented on June 11, 2024 1

@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.

jqn avatar jqn commented on June 11, 2024 1

This is also breaking Gitlab's CI because it doesn't respect the provided solution in package.json

from json-schema-ref-parser.

sesam avatar sesam commented on June 11, 2024 1

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.

shassett avatar shassett commented on June 11, 2024 1

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.

CiaranMn avatar CiaranMn commented on June 11, 2024 1

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.

viper707 avatar viper707 commented on June 11, 2024

@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.

khevamann avatar khevamann commented on June 11, 2024

Also causing issues here!

from json-schema-ref-parser.

danielsalles avatar danielsalles commented on June 11, 2024

Same

from json-schema-ref-parser.

jamesmoschou avatar jamesmoschou commented on June 11, 2024

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.

mikeharder avatar mikeharder commented on June 11, 2024

@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.

jamesmoschou avatar jamesmoschou commented on June 11, 2024

@mikeharder I'm not a maintainer, just an external contributor

from json-schema-ref-parser.

monkpit avatar monkpit commented on June 11, 2024

@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.

Psycarlo avatar Psycarlo commented on June 11, 2024

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.

kariem avatar kariem commented on June 11, 2024

See also this comment related to installing firebase-tools globally

yarn install --ignore-engines

from json-schema-ref-parser.

rcb4t2 avatar rcb4t2 commented on June 11, 2024

Thank you @jamesmoschou !

from json-schema-ref-parser.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.