[Pkg-javascript-devel] Bug#1057707: eslint is incompatible with node-ajv >= 8
Yadd
yadd at debian.org
Thu Dec 7 11:43:35 GMT 2023
Package: eslint
Version: 6.4.0~dfsg+~6.1.9-7
Severity: important
Tags: ftbfs upstream
Hi,
eslint depends on node-ajv 6 and is incompatible with node-ajv 8
(available in exeprimental branch). All is in lib/shared/ajv.js:
- eslint requires 'ajv/lib/refs/json-schema-draft-04.json' which is no
more available
- eslint tries to set `ajv._opts.defaultMeta` which is
`ajv.opts.defaultMeta` in node-ajv 8.
Changing "ajv/lib/refs/json-schema-draft-04.json" to
"ajv/lib/refs/json-schema-draft-06.json" doesn't work. I tried this
patch which looks to work but 27 tests fail (not the good error string).
It uses default ajv schemas.
Help needed here ;-)
--- a/lib/shared/ajv.js
+++ b/lib/shared/ajv.js
@@ -8,8 +8,7 @@
// Requirements
//------------------------------------------------------------------------------
-const Ajv = require("ajv"),
- metaSchema = require("ajv/lib/refs/json-schema-draft-04.json");
+const Ajv = require("ajv");
//------------------------------------------------------------------------------
// Public Interface
@@ -17,6 +16,7 @@
module.exports = (additionalOptions = {}) => {
const ajv = new Ajv({
+ strict: false,
meta: false,
useDefaults: true,
validateSchema: false,
@@ -26,9 +26,5 @@
...additionalOptions
});
- ajv.addMetaSchema(metaSchema);
- // eslint-disable-next-line no-underscore-dangle
- ajv._opts.defaultMeta = metaSchema.id;
-
return ajv;
};
More information about the Pkg-javascript-devel
mailing list