diff --git a/.github/workflows/nodejs-ci.yml b/.github/workflows/nodejs-ci.yml index d29532d05..254e5be2a 100644 --- a/.github/workflows/nodejs-ci.yml +++ b/.github/workflows/nodejs-ci.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/setup-node@v4 with: - node-version: 16.x + node-version: 22.x - name: Install production dependencies, check node engine compatibility run: yarn install --production=true @@ -50,7 +50,7 @@ jobs: strategy: matrix: - node-version: [14.x, 16.x, 18.x, 20.x] + node-version: [16.x, 18.x, 20.x, 22.x] steps: diff --git a/lib/matroska/MatroskaParser.ts b/lib/matroska/MatroskaParser.ts index 86e367298..1cd824709 100644 --- a/lib/matroska/MatroskaParser.ts +++ b/lib/matroska/MatroskaParser.ts @@ -246,7 +246,7 @@ export class MatroskaParser extends BasicParser { private async readString(e: IHeader): Promise { const rawString = await this.tokenizer.readToken(new StringType(e.len, 'utf-8')); - return rawString.replace(/\00.*$/g, ''); + return rawString.replace(/\x00.*$/g, ''); } private async readBuffer(e: IHeader): Promise { diff --git a/package.json b/package.json index f613bbdcf..b7a9849ce 100644 --- a/package.json +++ b/package.json @@ -98,36 +98,36 @@ "token-types": "^5.0.1" }, "devDependencies": { - "@types/chai": "^4.3.9", + "@types/chai": "^4.3.16", "@types/chai-as-promised": "^7.1.8", "@types/debug": "^4.1.12", "@types/file-type": "^10.9.1", - "@types/mocha": "^10.0.3", - "@types/node": "^20.12.12", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", - "c8": "^9.1.0", - "chai": "^4.3.10", - "chai-as-promised": "^7.1.1", - "del-cli": "5.1.0", + "@types/mocha": "^10.0.7", + "@types/node": "^20.14.9", + "@typescript-eslint/eslint-plugin": "^7.14.1", + "@typescript-eslint/parser": "^7.14.1", + "c8": "^10.1.2", + "chai": "^5.1.1", + "chai-as-promised": "^8.0.0", + "del-cli": "^5.1.0", "eslint": "^8.57.0", - "eslint-config-prettier": "^9.0.0", + "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.1", - "eslint-plugin-import": "^2.29.0", - "eslint-plugin-jsdoc": "^46.8.2", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-jsdoc": "^48.5.0", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-unicorn": "^49.0.0", + "eslint-plugin-unicorn": "^54.0.0", "mime": "^4.0.3", - "mocha": "^10.2.0", + "mocha": "^10.5.2", "npm-run-all": "^4.1.5", - "prettier": "^3.2.5", - "remark-cli": "^12.0.0", - "remark-preset-lint-markdown-style-guide": "^5.1.3", - "ts-node": "^10.9.1", - "typescript": "^5.4.5" + "prettier": "^3.3.2", + "remark-cli": "^12.0.1", + "remark-preset-lint-markdown-style-guide": "^6.0.0", + "ts-node": "^10.9.2", + "typescript": "^5.5.2" }, "engines": { - "node": "^14.13.1 || >=16.0.0" + "node": ">=16.0.0" }, "repository": { "type": "git", diff --git a/test/test-file-mp4.ts b/test/test-file-mp4.ts index 55b7ac816..4a4f4bd77 100644 --- a/test/test-file-mp4.ts +++ b/test/test-file-mp4.ts @@ -6,8 +6,6 @@ import * as mm from '../lib/index.js'; import { Parsers } from './metadata-parsers.js'; import { samplePath } from './util.js'; -const t = assert; - const mp4Samples = path.join(samplePath, 'mp4'); describe('Parse MPEG-4 files with iTunes metadata', () => { @@ -28,45 +26,45 @@ describe('Parse MPEG-4 files with iTunes metadata', () => { } function checkCommon(common) { - t.strictEqual(common.title, 'Voodoo People (Pendulum Remix)', 'title'); - t.strictEqual(common.artist, 'The Prodigy', 'artist'); - t.strictEqual(common.albumartist, 'Pendulum', 'albumartist'); - t.strictEqual(common.album, 'Voodoo People', 'album'); - t.strictEqual(common.year, 2005, 'year'); - t.strictEqual(common.track.no, 1, 'track no'); - t.strictEqual(common.track.of, 12, 'track of'); - t.strictEqual(common.disk.no, 1, 'disk no'); - t.strictEqual(common.disk.of, 1, 'disk of'); - t.strictEqual(common.genre[0], 'Electronic', 'genre'); - t.strictEqual(common.picture[0].format, 'image/jpeg', 'picture 0 format'); - t.strictEqual(common.picture[0].data.length, 196450, 'picture 0 length'); - t.strictEqual(common.picture[1].format, 'image/jpeg', 'picture 1 format'); - t.strictEqual(common.picture[1].data.length, 196450, 'picture 1 length'); + assert.strictEqual(common.title, 'Voodoo People (Pendulum Remix)', 'title'); + assert.strictEqual(common.artist, 'The Prodigy', 'artist'); + assert.strictEqual(common.albumartist, 'Pendulum', 'albumartist'); + assert.strictEqual(common.album, 'Voodoo People', 'album'); + assert.strictEqual(common.year, 2005, 'year'); + assert.strictEqual(common.track.no, 1, 'track no'); + assert.strictEqual(common.track.of, 12, 'track of'); + assert.strictEqual(common.disk.no, 1, 'disk no'); + assert.strictEqual(common.disk.of, 1, 'disk of'); + assert.strictEqual(common.genre[0], 'Electronic', 'genre'); + assert.strictEqual(common.picture[0].format, 'image/jpeg', 'picture 0 format'); + assert.strictEqual(common.picture[0].data.length, 196450, 'picture 0 length'); + assert.strictEqual(common.picture[1].format, 'image/jpeg', 'picture 1 format'); + assert.strictEqual(common.picture[1].data.length, 196450, 'picture 1 length'); } function checkNativeTags(native) { - t.ok(native, 'Native m4a tags should be present'); - - t.deepEqual(native.trkn, ['1/12'], 'm4a.trkn'); - t.deepEqual(native.disk, ['1/1'], 'm4a.disk'); - t.deepEqual(native.tmpo, [0], 'm4a.tmpo'); - t.deepEqual(native.gnre, ['Electronic'], 'm4a.gnre'); - t.deepEqual(native.stik, [1], 'm4a.stik'); - t.deepEqual(native['©alb'], ['Voodoo People'], 'm4a.©alb'); - t.deepEqual(native.aART, ['Pendulum'], 'm4a.aART'); - t.deepEqual(native['©ART'], ['The Prodigy'], 'm4a.©ART'); - t.deepEqual(native['©cmt'], ['(Pendulum Remix)'], 'm4a.©cmt'); - t.deepEqual(native['©wrt'], ['Liam Howlett'], 'm4a.©wrt'); - t.deepEqual(native['----:com.apple.iTunes:iTunNORM'], [' 0000120A 00001299 00007365 0000712F 0002D88B 0002D88B 00007F2B 00007F2C 0003C770 0001F5C7'], 'm4a.----:com.apple.iTunes:iTunNORM'); - t.deepEqual(native['©nam'], ['Voodoo People (Pendulum Remix)'], 'm4a.©nam'); - t.deepEqual(native['©too'], ['Lavf52.36.0'], 'm4a.©too'); - t.deepEqual(native['©day'], ['2005'], 'm4a.@day'); + assert.ok(native, 'Native m4a tags should be present'); + + assert.deepEqual(native.trkn, ['1/12'], 'm4a.trkn'); + assert.deepEqual(native.disk, ['1/1'], 'm4a.disk'); + assert.deepEqual(native.tmpo, [0], 'm4a.tmpo'); + assert.deepEqual(native.gnre, ['Electronic'], 'm4a.gnre'); + assert.deepEqual(native.stik, [1], 'm4a.stik'); + assert.deepEqual(native['©alb'], ['Voodoo People'], 'm4a.©alb'); + assert.deepEqual(native.aART, ['Pendulum'], 'm4a.aART'); + assert.deepEqual(native['©ART'], ['The Prodigy'], 'm4a.©ART'); + assert.deepEqual(native['©cmt'], ['(Pendulum Remix)'], 'm4a.©cmt'); + assert.deepEqual(native['©wrt'], ['Liam Howlett'], 'm4a.©wrt'); + assert.deepEqual(native['----:com.apple.iTunes:iTunNORM'], [' 0000120A 00001299 00007365 0000712F 0002D88B 0002D88B 00007F2B 00007F2C 0003C770 0001F5C7'], 'm4a.----:com.apple.iTunes:iTunNORM'); + assert.deepEqual(native['©nam'], ['Voodoo People (Pendulum Remix)'], 'm4a.©nam'); + assert.deepEqual(native['©too'], ['Lavf52.36.0'], 'm4a.©too'); + assert.deepEqual(native['©day'], ['2005'], 'm4a.@day'); // Check album art - t.isDefined(native.covr); - t.strictEqual(native.covr[0].format, 'image/jpeg', 'm4a.covr.format'); - t.strictEqual(native.covr[0].data.length, 196450, 'm4a.covr.data.length'); + assert.isDefined(native.covr); + assert.strictEqual(native.covr[0].format, 'image/jpeg', 'm4a.covr.format'); + assert.strictEqual(native.covr[0].data.length, 196450, 'm4a.covr.data.length'); } Parsers.forEach(parser => { @@ -76,7 +74,7 @@ describe('Parse MPEG-4 files with iTunes metadata', () => { const metadata = await parser.initParser(filePath, 'audio/mp4'); const native = metadata.native.iTunes; - t.ok(native, 'Native m4a tags should be present'); + assert.ok(native, 'Native m4a tags should be present'); checkFormat(metadata.format); checkCommon(metadata.common); diff --git a/test/test-id3v2.4.ts b/test/test-id3v2.4.ts index fdaca1fd0..206c40e5d 100644 --- a/test/test-id3v2.4.ts +++ b/test/test-id3v2.4.ts @@ -4,8 +4,6 @@ import path from 'node:path'; import * as mm from '../lib/index.js'; import { samplePath } from './util.js'; -const t = assert; - describe("Decode MP3/ID3v2.4", () => { it("should decode id3v2.4", () => { @@ -14,29 +12,29 @@ describe("Decode MP3/ID3v2.4", () => { const filePath = path.join(samplePath, filename); return mm.parseFile(filePath, {duration: true}).then(metadata => { - t.deepEqual(metadata.format.tagTypes, ["ID3v2.4", "ID3v1"], 'format.tagTypes'); - t.strictEqual(metadata.format.duration, 0.7836734693877551, 'format.format.duration'); - t.strictEqual(metadata.format.sampleRate, 44100, 'format.sampleRate = 44.1 kHz'); - t.strictEqual(metadata.format.bitrate, 128000, 'format.bitrate = 128 kbit/sec'); - t.strictEqual(metadata.format.codecProfile, 'CBR', 'format.codecProfile = CBR'); - t.strictEqual(metadata.format.container, 'MPEG', 'format.container'); - t.strictEqual(metadata.format.codec, 'MPEG 1 Layer 3', 'format.codec'); - t.strictEqual(metadata.format.tool, 'LAME 3.98r', 'format.tool'); - t.strictEqual(metadata.format.numberOfChannels, 2, 'format.numberOfChannels = 2'); - - t.strictEqual(metadata.common.title, 'Home', 'title'); - t.strictEqual(metadata.common.artist, 'Explo', 'common.artist'); - t.deepEqual(metadata.common.artists, ['Explo', 'ions', 'nodejsftws'], 'common.artists'); - t.strictEqual(metadata.common.albumartist, 'Soundtrack', 'albumartist'); - t.strictEqual(metadata.common.album, 'Friday Night Lights [Original Movie Soundtrack]', 'album'); - t.strictEqual(metadata.common.year, 2004, 'year'); - t.deepEqual(metadata.common.track, {no: 5, of: null}, 'common.track'); - t.deepEqual(metadata.common.disk, {no: 1, of: 1}, 'common.disk'); - t.deepEqual(metadata.common.genre, ['Soundtrack', 'OST'], 'common.genres'); - t.strictEqual(metadata.common.picture[0].format, 'image/jpeg', 'common.picture 0 format'); - t.strictEqual(metadata.common.picture[0].data.length, 80938, 'common.picture 0 length'); - t.strictEqual(metadata.common.picture[1].format, 'image/jpeg', 'common.picture 1 format'); - t.strictEqual(metadata.common.picture[1].data.length, 80938, 'common.picture 1 length'); + assert.deepEqual(metadata.format.tagTypes, ["ID3v2.4", "ID3v1"], 'format.tagTypes'); + assert.strictEqual(metadata.format.duration, 0.7836734693877551, 'format.format.duration'); + assert.strictEqual(metadata.format.sampleRate, 44100, 'format.sampleRate = 44.1 kHz'); + assert.strictEqual(metadata.format.bitrate, 128000, 'format.bitrate = 128 kbit/sec'); + assert.strictEqual(metadata.format.codecProfile, 'CBR', 'format.codecProfile = CBR'); + assert.strictEqual(metadata.format.container, 'MPEG', 'format.container'); + assert.strictEqual(metadata.format.codec, 'MPEG 1 Layer 3', 'format.codec'); + assert.strictEqual(metadata.format.tool, 'LAME 3.98r', 'format.tool'); + assert.strictEqual(metadata.format.numberOfChannels, 2, 'format.numberOfChannels = 2'); + + assert.strictEqual(metadata.common.title, 'Home', 'title'); + assert.strictEqual(metadata.common.artist, 'Explo', 'common.artist'); + assert.deepEqual(metadata.common.artists, ['Explo', 'ions', 'nodejsftws'], 'common.artists'); + assert.strictEqual(metadata.common.albumartist, 'Soundtrack', 'albumartist'); + assert.strictEqual(metadata.common.album, 'Friday Night Lights [Original Movie Soundtrack]', 'album'); + assert.strictEqual(metadata.common.year, 2004, 'year'); + assert.deepEqual(metadata.common.track, {no: 5, of: null}, 'common.track'); + assert.deepEqual(metadata.common.disk, {no: 1, of: 1}, 'common.disk'); + assert.deepEqual(metadata.common.genre, ['Soundtrack', 'OST'], 'common.genres'); + assert.strictEqual(metadata.common.picture[0].format, 'image/jpeg', 'common.picture 0 format'); + assert.strictEqual(metadata.common.picture[0].data.length, 80938, 'common.picture 0 length'); + assert.strictEqual(metadata.common.picture[1].format, 'image/jpeg', 'common.picture 1 format'); + assert.strictEqual(metadata.common.picture[1].data.length, 80938, 'common.picture 1 length'); }); }); @@ -46,7 +44,7 @@ describe("Decode MP3/ID3v2.4", () => { const filePath = path.join(samplePath, 'mp3', 'issue-502.mp3'); const {common} = await mm.parseFile(filePath); - t.deepEqual(common.comment, ['CLEAN'], 'common.comment'); + assert.deepEqual(common.comment, ['CLEAN'], 'common.comment'); }); it("should respect skipCovers-flag", () => { @@ -55,7 +53,7 @@ describe("Decode MP3/ID3v2.4", () => { const filePath = path.join(samplePath, filename); return mm.parseFile(filePath, {duration: true, skipCovers: true}).then(result => { - t.isUndefined(result.common.picture, 'common.picture should be undefined'); + assert.isUndefined(result.common.picture, 'common.picture should be undefined'); }); }); @@ -67,10 +65,10 @@ describe("Decode MP3/ID3v2.4", () => { const {common, native} = await mm.parseFile(filePath); const id3v24 = native['ID3v2.4']; - t.isDefined(id3v24, 'ID3v2.4 presence'); - t.strictEqual(id3v24.filter(tag => { return tag.id === 'TSRC'; }).length, 0, 'ID3v2.4 tag TSRC not defined'); - t.strictEqual(id3v24.filter(tag => { return tag.id === 'TXXX:ISRC'; }).length, 1, 'ID3v2.4 tag TXXX:ISRC to be defined'); - t.includeDeepMembers(common.isrc, ['DEAE61300058'], 'ISRC'); + assert.isDefined(id3v24, 'ID3v2.4 presence'); + assert.strictEqual(id3v24.filter(tag => { return tag.id === 'TSRC'; }).length, 0, 'ID3v2.4 tag TSRC not defined'); + assert.strictEqual(id3v24.filter(tag => { return tag.id === 'TXXX:ISRC'; }).length, 1, 'ID3v2.4 tag TXXX:ISRC to be defined'); + assert.includeDeepMembers(common.isrc, ['DEAE61300058'], 'ISRC'); }); // https://id3.org/id3v2.4.0-frame diff --git a/test/test-mime.ts b/test/test-mime.ts index a0859f5d2..628388999 100644 --- a/test/test-mime.ts +++ b/test/test-mime.ts @@ -6,8 +6,6 @@ import fs from 'node:fs'; import * as mm from '../lib/index.js'; import { SourceStream, samplePath } from './util.js'; -const t = assert; - describe('MIME & extension mapping', () => { const buf = Buffer.alloc(30).fill(0); @@ -21,7 +19,7 @@ describe('MIME & extension mapping', () => { case '.flac': case '.wav': case '.ogg': - t.ok(err.message.startsWith('FourCC'), `Only FourCC error allowed, got: ${err.message}`); + assert.ok(err.message.startsWith('FourCC'), `Only FourCC error allowed, got: ${err.message}`); break; default: @@ -32,9 +30,9 @@ describe('MIME & extension mapping', () => { it('should reject an unknown file', () => { return mm.parseFile(path.join(samplePath, 'flac.flac.jpg')) - .then(() => t.fail('Should reject extension')) + .then(() => assert.fail('Should reject extension')) .catch(err => { - t.strictEqual(err.message, 'Guessed MIME-type not supported: image/jpeg'); + assert.strictEqual(err.message, 'Guessed MIME-type not supported: image/jpeg'); }); }); @@ -45,7 +43,7 @@ describe('MIME & extension mapping', () => { const streamReader = new SourceStream(buf); // Convert extension to MIME-Type const mimeType = mime.getType(extension); - t.isNotNull(mimeType, 'extension: ' + extension); + assert.isNotNull(mimeType, 'extension: ' + extension); return mm.parseStream(streamReader, mimeType) .catch(err => { diff --git a/test/test-picard-parsing.ts b/test/test-picard-parsing.ts index a88922442..b30882aef 100644 --- a/test/test-picard-parsing.ts +++ b/test/test-picard-parsing.ts @@ -7,8 +7,6 @@ import { TagType } from '../lib/common/GenericTagTypes.js'; import { ICommonTagsResult, IFormat, INativeTagDict, parseFile, orderTags } from '../lib/index.js'; import { samplePath } from './util.js'; -const t = assert; - /** * Check if different header formats map to the same common output. * Ref: https://picard.musicbrainz.org/docs/mappings/ @@ -56,68 +54,68 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { */ function checkCommonMapping(inputTagType: TagType, common: ICommonTagsResult) { // Compare expectedCommonTags with result.common - t.strictEqual(common.title, 'Sinner\'s Prayer', inputTagType + ' => common.title'); - t.strictEqual(common.artist, 'Beth Hart & Joe Bonamassa', inputTagType + ' => common.artist'); + assert.strictEqual(common.title, 'Sinner\'s Prayer', inputTagType + ' => common.title'); + assert.strictEqual(common.artist, 'Beth Hart & Joe Bonamassa', inputTagType + ' => common.artist'); if (inputTagType === 'asf') { - t.deepEqual(common.artists, ['Joe Bonamassa', 'Beth Hart'], inputTagType + ' => common.artists'); - t.deepEqual(common.musicbrainz_artistid, ['984f8239-8fe1-4683-9c54-10ffb14439e9', '3fe817fc-966e-4ece-b00a-76be43e7e73c'], inputTagType + ' => common.musicbrainz_artistid'); + assert.deepEqual(common.artists, ['Joe Bonamassa', 'Beth Hart'], inputTagType + ' => common.artists'); + assert.deepEqual(common.musicbrainz_artistid, ['984f8239-8fe1-4683-9c54-10ffb14439e9', '3fe817fc-966e-4ece-b00a-76be43e7e73c'], inputTagType + ' => common.musicbrainz_artistid'); } else { - t.deepEqual(common.artists, ['Beth Hart', 'Joe Bonamassa'], inputTagType + ' => common.artists'); - t.deepEqual(common.musicbrainz_artistid, ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], inputTagType + ' => common.musicbrainz_artistid'); + assert.deepEqual(common.artists, ['Beth Hart', 'Joe Bonamassa'], inputTagType + ' => common.artists'); + assert.deepEqual(common.musicbrainz_artistid, ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], inputTagType + ' => common.musicbrainz_artistid'); } - t.strictEqual(common.albumartist, 'Beth Hart & Joe Bonamassa', 'common.albumartist'); // ToDo: this is not set - t.deepEqual(common.albumartistsort, 'Hart, Beth & Bonamassa, Joe', inputTagType + ' => common.albumartistsort'); - t.strictEqual(common.album, 'Don\'t Explain', inputTagType + ' => common.album = Don\'t Explain'); + assert.strictEqual(common.albumartist, 'Beth Hart & Joe Bonamassa', 'common.albumartist'); // ToDo: this is not set + assert.deepEqual(common.albumartistsort, 'Hart, Beth & Bonamassa, Joe', inputTagType + ' => common.albumartistsort'); + assert.strictEqual(common.album, 'Don\'t Explain', inputTagType + ' => common.album = Don\'t Explain'); if (inputTagType === 'asf') { - t.deepEqual(common.track, {no: 1, of: null}, inputTagType + ' => common.track'); + assert.deepEqual(common.track, {no: 1, of: null}, inputTagType + ' => common.track'); } else { - t.deepEqual(common.track, {no: 1, of: 10}, inputTagType + ' => common.track'); + assert.deepEqual(common.track, {no: 1, of: 10}, inputTagType + ' => common.track'); } - t.deepEqual(common.disk, {no: 1, of: 1}, inputTagType + ' => common.disk'); + assert.deepEqual(common.disk, {no: 1, of: 1}, inputTagType + ' => common.disk'); if (hasOriginalData(inputTagType)) { - t.strictEqual(common.originaldate, '2011-09-26', inputTagType + ' => common.originaldate = 2011-09-26'); + assert.strictEqual(common.originaldate, '2011-09-26', inputTagType + ' => common.originaldate = 2011-09-26'); } if (hasReleaseData(inputTagType)) { - t.strictEqual(common.date, '2011-09-27', inputTagType + ' => common.date'); + assert.strictEqual(common.date, '2011-09-27', inputTagType + ' => common.date'); } - t.strictEqual(common.year, 2011, inputTagType + ' => common.year'); - t.strictEqual(common.originalyear, 2011, inputTagType + ' => common.year'); - t.strictEqual(common.media, 'CD', inputTagType + ' => common.media = CD'); - t.strictEqual(common.barcode, '804879313915', inputTagType + ' => common.barcode'); - // ToDo?? t.deepEqual(common.producer, ['Roy Weisman'], 'common.producer = Roy Weisman') - t.deepEqual(common.label, ['J&R Adventures'], inputTagType + ' => common.label = \'J&R Adventures\''); - t.deepEqual(common.catalognumber, ['PRAR931391'], inputTagType + ' => common.catalognumber = PRAR931391'); - t.strictEqual(common.originalyear, 2011, inputTagType + ' => common.originalyear = 2011'); - t.strictEqual(common.releasestatus, 'official', inputTagType + ' => common.releasestatus = official'); - t.deepEqual(common.releasetype, ['album'], inputTagType + ' => common.releasetype'); - t.strictEqual(common.musicbrainz_albumid, 'e7050302-74e6-42e4-aba0-09efd5d431d8', inputTagType + ' => common.musicbrainz_albumid'); - t.strictEqual(common.musicbrainz_recordingid, 'f151cb94-c909-46a8-ad99-fb77391abfb8', inputTagType + ' => common.musicbrainz_recordingid'); + assert.strictEqual(common.year, 2011, inputTagType + ' => common.year'); + assert.strictEqual(common.originalyear, 2011, inputTagType + ' => common.year'); + assert.strictEqual(common.media, 'CD', inputTagType + ' => common.media = CD'); + assert.strictEqual(common.barcode, '804879313915', inputTagType + ' => common.barcode'); + // ToDo?? assert.deepEqual(common.producer, ['Roy Weisman'], 'common.producer = Roy Weisman') + assert.deepEqual(common.label, ['J&R Adventures'], inputTagType + ' => common.label = \'J&R Adventures\''); + assert.deepEqual(common.catalognumber, ['PRAR931391'], inputTagType + ' => common.catalognumber = PRAR931391'); + assert.strictEqual(common.originalyear, 2011, inputTagType + ' => common.originalyear = 2011'); + assert.strictEqual(common.releasestatus, 'official', inputTagType + ' => common.releasestatus = official'); + assert.deepEqual(common.releasetype, ['album'], inputTagType + ' => common.releasetype'); + assert.strictEqual(common.musicbrainz_albumid, 'e7050302-74e6-42e4-aba0-09efd5d431d8', inputTagType + ' => common.musicbrainz_albumid'); + assert.strictEqual(common.musicbrainz_recordingid, 'f151cb94-c909-46a8-ad99-fb77391abfb8', inputTagType + ' => common.musicbrainz_recordingid'); if (inputTagType === 'asf') { - t.deepEqual(common.musicbrainz_albumartistid, ['984f8239-8fe1-4683-9c54-10ffb14439e9', '3fe817fc-966e-4ece-b00a-76be43e7e73c'], inputTagType + ' => common.musicbrainz_albumartistid'); + assert.deepEqual(common.musicbrainz_albumartistid, ['984f8239-8fe1-4683-9c54-10ffb14439e9', '3fe817fc-966e-4ece-b00a-76be43e7e73c'], inputTagType + ' => common.musicbrainz_albumartistid'); } else { - t.deepEqual(common.musicbrainz_albumartistid, ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], inputTagType + ' => common.musicbrainz_albumartistid'); + assert.deepEqual(common.musicbrainz_albumartistid, ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], inputTagType + ' => common.musicbrainz_albumartistid'); } - t.strictEqual(common.musicbrainz_releasegroupid, 'e00305af-1c72-469b-9a7c-6dc665ca9adc', inputTagType + ' => common.musicbrainz_releasegroupid'); - t.strictEqual(common.musicbrainz_trackid, 'd062f484-253c-374b-85f7-89aab45551c7', inputTagType + ' => common.musicbrainz_trackid'); - t.strictEqual(common.asin, 'B005NPEUB2', inputTagType + ' => common.asin'); - t.strictEqual(common.acoustid_id, '09c06fac-679a-45b1-8ea0-6ce532318363', inputTagType + ' => common.acoustid_id'); + assert.strictEqual(common.musicbrainz_releasegroupid, 'e00305af-1c72-469b-9a7c-6dc665ca9adc', inputTagType + ' => common.musicbrainz_releasegroupid'); + assert.strictEqual(common.musicbrainz_trackid, 'd062f484-253c-374b-85f7-89aab45551c7', inputTagType + ' => common.musicbrainz_trackid'); + assert.strictEqual(common.asin, 'B005NPEUB2', inputTagType + ' => common.asin'); + assert.strictEqual(common.acoustid_id, '09c06fac-679a-45b1-8ea0-6ce532318363', inputTagType + ' => common.acoustid_id'); // Check front cover - t.strictEqual(common.picture[0].format, 'image/jpeg', 'picture format'); - t.strictEqual(common.picture[0].data.length, 98008, 'picture length'); - t.strictEqual(calcHash(common.picture[0].data), 'c57bec49b36ebf422018f82273d1995a', 'hash front cover data'); + assert.strictEqual(common.picture[0].format, 'image/jpeg', 'picture format'); + assert.strictEqual(common.picture[0].data.length, 98008, 'picture length'); + assert.strictEqual(calcHash(common.picture[0].data), 'c57bec49b36ebf422018f82273d1995a', 'hash front cover data'); // Check back cover - t.strictEqual(common.picture[1].format, 'image/png', 'picture format'); - t.strictEqual(common.picture[1].data.length, 120291, 'picture length'); - t.strictEqual(calcHash(common.picture[1].data), '90ec686eb82e745e737b2c7aa706eeaa', 'hash back cover data'); + assert.strictEqual(common.picture[1].format, 'image/png', 'picture format'); + assert.strictEqual(common.picture[1].data.length, 120291, 'picture length'); + assert.strictEqual(calcHash(common.picture[1].data), '90ec686eb82e745e737b2c7aa706eeaa', 'hash back cover data'); // ISRC - t.deepEqual(common.isrc, ['NLB931100460', 'USMH51100098'], 'ISRC\'s'); + assert.deepEqual(common.isrc, ['NLB931100460', 'USMH51100098'], 'ISRC\'s'); // Rating switch (inputTagType) { @@ -127,8 +125,8 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { break; // Skip rating tests for mapping type default: - t.isDefined(common.rating, `'${inputTagType}' has rating`); - t.approximately(common.rating[0].rating, 0.6, 0.1, `'${inputTagType}': rating=3.0`); + assert.isDefined(common.rating, `'${inputTagType}' has rating`); + assert.approximately(common.rating[0].rating, 0.6, 0.1, `'${inputTagType}': rating=3.0`); } } @@ -140,44 +138,44 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { */ function checkVorbisTags(vorbis: INativeTagDict) { // Compare expectedCommonTags with result.common - t.deepEqual(vorbis.TITLE, ['Sinner\'s Prayer'], 'vorbis.TITLE'); - t.deepEqual(vorbis.ALBUM, ['Don\'t Explain'], 'vorbis.TITLE'); - t.deepEqual(vorbis.DATE, ['2011-09-27'], 'vorbis.DATE'); - t.deepEqual(vorbis.TRACKNUMBER, ['1'], 'vorbis.TRACKNUMBER'); - t.deepEqual(vorbis.PRODUCER, ['Roy Weisman'], 'vorbis.PRODUCER'); - t.deepEqual(vorbis.ENGINEER, ['James McCullagh', 'Jared Kvitka'], 'vorbis.ENGINEER'); - t.deepEqual(vorbis.LABEL, ['J&R Adventures'], 'vorbis.LABEL'); - t.deepEqual(vorbis.CATALOGNUMBER, ['PRAR931391'], 'vorbis.CATALOGNUMBER'); - t.deepEqual(vorbis.ACOUSTID_ID, ['09c06fac-679a-45b1-8ea0-6ce532318363'], 'vorbis.ACOUSTID_ID'); - t.deepEqual(vorbis.ARTIST, ['Beth Hart & Joe Bonamassa'], 'vorbis.ARTIST'); - t.deepEqual(vorbis.ARTISTS, ['Beth Hart', 'Joe Bonamassa'], 'vorbis.ARTISTS'); - t.deepEqual(vorbis.ARTISTSORT, ['Hart, Beth & Bonamassa, Joe'], 'vorbis.ARTISTSORT'); - t.deepEqual(vorbis.ALBUMARTIST, ['Beth Hart & Joe Bonamassa'], 'vorbis.ALBUMARTIST'); - t.deepEqual(vorbis.ALBUMARTISTSORT, ['Hart, Beth & Bonamassa, Joe'], 'vorbis.ALBUMARTISTSORT'); - t.deepEqual(vorbis.ORIGINALDATE, ['2011-09-26'], 'vorbis.ORIGINALDATE'); - t.deepEqual(vorbis.SCRIPT, ['Latn'], 'vorbis.SCRIPT'); - t.deepEqual(vorbis.MEDIA, ['CD'], 'vorbis.MEDIA'); - t.deepEqual(vorbis.MUSICBRAINZ_ALBUMID, ['e7050302-74e6-42e4-aba0-09efd5d431d8'], 'vorbis.MUSICBRAINZ_ALBUMID'); - t.deepEqual(vorbis.MUSICBRAINZ_ALBUMARTISTID, ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'vorbis.MUSICBRAINZ_ALBUMARTISTID'); - t.deepEqual(vorbis.MUSICBRAINZ_ARTISTID, ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'vorbis.MUSICBRAINZ_ARTISTID'); - t.deepEqual(vorbis.PERFORMER, performers, 'vorbis.PERFORMER'); - t.deepEqual(vorbis.ARRANGER, ['Jeff Bova'], 'vorbis.ARRANGER'); - t.deepEqual(vorbis.MUSICBRAINZ_ALBUMID, ['e7050302-74e6-42e4-aba0-09efd5d431d8'], 'vorbis.MUSICBRAINZ_ALBUMID'); - t.deepEqual(vorbis.MUSICBRAINZ_RELEASETRACKID, ['d062f484-253c-374b-85f7-89aab45551c7'], 'vorbis.MUSICBRAINZ_RELEASETRACKID'); - t.deepEqual(vorbis.MUSICBRAINZ_RELEASEGROUPID, ['e00305af-1c72-469b-9a7c-6dc665ca9adc'], 'vorbis.MUSICBRAINZ_RELEASEGROUPID'); - t.deepEqual(vorbis.MUSICBRAINZ_TRACKID, ['f151cb94-c909-46a8-ad99-fb77391abfb8'], 'vorbis.MUSICBRAINZ_TRACKID'); - t.deepEqual(vorbis.NOTES, ['Medieval CUE Splitter (www.medieval.it)'], 'vorbis.NOTES'); - t.deepEqual(vorbis.BARCODE, ['804879313915'], 'vorbis.BARCODE'); - t.deepEqual(vorbis.ASIN, ['B005NPEUB2'], 'vorbis.ASIN'); - t.deepEqual(vorbis.RELEASECOUNTRY, ['US'], 'vorbis.RELEASECOUNTRY'); - t.deepEqual(vorbis.RELEASESTATUS, ['official'], 'vorbis.RELEASESTATUS'); - - t.strictEqual(vorbis.METADATA_BLOCK_PICTURE[0].format, 'image/jpeg', 'vorbis.METADATA_BLOCK_PICTURE.format = \'image/jpeg\''); - t.strictEqual(vorbis.METADATA_BLOCK_PICTURE[0].type, 'Cover (front)', 'vorbis.METADATA_BLOCK_PICTURE.type = \'Cover (front)\''); // ToDo: description?? - - t.strictEqual(vorbis.METADATA_BLOCK_PICTURE[0].description, '', 'vorbis.METADATA_BLOCK_PICTURE.description'); - t.strictEqual(vorbis.METADATA_BLOCK_PICTURE[0].data.length, 98008, 'vorbis.METADATA_BLOCK_PICTURE.data.length = 98008 bytes'); - t.strictEqual(calcHash(vorbis.METADATA_BLOCK_PICTURE[0].data), 'c57bec49b36ebf422018f82273d1995a', 'Picture content'); + assert.deepEqual(vorbis.TITLE, ['Sinner\'s Prayer'], 'vorbis.TITLE'); + assert.deepEqual(vorbis.ALBUM, ['Don\'t Explain'], 'vorbis.TITLE'); + assert.deepEqual(vorbis.DATE, ['2011-09-27'], 'vorbis.DATE'); + assert.deepEqual(vorbis.TRACKNUMBER, ['1'], 'vorbis.TRACKNUMBER'); + assert.deepEqual(vorbis.PRODUCER, ['Roy Weisman'], 'vorbis.PRODUCER'); + assert.deepEqual(vorbis.ENGINEER, ['James McCullagh', 'Jared Kvitka'], 'vorbis.ENGINEER'); + assert.deepEqual(vorbis.LABEL, ['J&R Adventures'], 'vorbis.LABEL'); + assert.deepEqual(vorbis.CATALOGNUMBER, ['PRAR931391'], 'vorbis.CATALOGNUMBER'); + assert.deepEqual(vorbis.ACOUSTID_ID, ['09c06fac-679a-45b1-8ea0-6ce532318363'], 'vorbis.ACOUSTID_ID'); + assert.deepEqual(vorbis.ARTIST, ['Beth Hart & Joe Bonamassa'], 'vorbis.ARTIST'); + assert.deepEqual(vorbis.ARTISTS, ['Beth Hart', 'Joe Bonamassa'], 'vorbis.ARTISTS'); + assert.deepEqual(vorbis.ARTISTSORT, ['Hart, Beth & Bonamassa, Joe'], 'vorbis.ARTISTSORT'); + assert.deepEqual(vorbis.ALBUMARTIST, ['Beth Hart & Joe Bonamassa'], 'vorbis.ALBUMARTIST'); + assert.deepEqual(vorbis.ALBUMARTISTSORT, ['Hart, Beth & Bonamassa, Joe'], 'vorbis.ALBUMARTISTSORT'); + assert.deepEqual(vorbis.ORIGINALDATE, ['2011-09-26'], 'vorbis.ORIGINALDATE'); + assert.deepEqual(vorbis.SCRIPT, ['Latn'], 'vorbis.SCRIPT'); + assert.deepEqual(vorbis.MEDIA, ['CD'], 'vorbis.MEDIA'); + assert.deepEqual(vorbis.MUSICBRAINZ_ALBUMID, ['e7050302-74e6-42e4-aba0-09efd5d431d8'], 'vorbis.MUSICBRAINZ_ALBUMID'); + assert.deepEqual(vorbis.MUSICBRAINZ_ALBUMARTISTID, ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'vorbis.MUSICBRAINZ_ALBUMARTISTID'); + assert.deepEqual(vorbis.MUSICBRAINZ_ARTISTID, ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'vorbis.MUSICBRAINZ_ARTISTID'); + assert.deepEqual(vorbis.PERFORMER, performers, 'vorbis.PERFORMER'); + assert.deepEqual(vorbis.ARRANGER, ['Jeff Bova'], 'vorbis.ARRANGER'); + assert.deepEqual(vorbis.MUSICBRAINZ_ALBUMID, ['e7050302-74e6-42e4-aba0-09efd5d431d8'], 'vorbis.MUSICBRAINZ_ALBUMID'); + assert.deepEqual(vorbis.MUSICBRAINZ_RELEASETRACKID, ['d062f484-253c-374b-85f7-89aab45551c7'], 'vorbis.MUSICBRAINZ_RELEASETRACKID'); + assert.deepEqual(vorbis.MUSICBRAINZ_RELEASEGROUPID, ['e00305af-1c72-469b-9a7c-6dc665ca9adc'], 'vorbis.MUSICBRAINZ_RELEASEGROUPID'); + assert.deepEqual(vorbis.MUSICBRAINZ_TRACKID, ['f151cb94-c909-46a8-ad99-fb77391abfb8'], 'vorbis.MUSICBRAINZ_TRACKID'); + assert.deepEqual(vorbis.NOTES, ['Medieval CUE Splitter (www.medieval.it)'], 'vorbis.NOTES'); + assert.deepEqual(vorbis.BARCODE, ['804879313915'], 'vorbis.BARCODE'); + assert.deepEqual(vorbis.ASIN, ['B005NPEUB2'], 'vorbis.ASIN'); + assert.deepEqual(vorbis.RELEASECOUNTRY, ['US'], 'vorbis.RELEASECOUNTRY'); + assert.deepEqual(vorbis.RELEASESTATUS, ['official'], 'vorbis.RELEASESTATUS'); + + assert.strictEqual(vorbis.METADATA_BLOCK_PICTURE[0].format, 'image/jpeg', 'vorbis.METADATA_BLOCK_PICTURE.format = \'image/jpeg\''); + assert.strictEqual(vorbis.METADATA_BLOCK_PICTURE[0].type, 'Cover (front)', 'vorbis.METADATA_BLOCK_PICTURE.type = \'Cover (front)\''); // ToDo: description?? + + assert.strictEqual(vorbis.METADATA_BLOCK_PICTURE[0].description, '', 'vorbis.METADATA_BLOCK_PICTURE.description'); + assert.strictEqual(vorbis.METADATA_BLOCK_PICTURE[0].data.length, 98008, 'vorbis.METADATA_BLOCK_PICTURE.data.length = 98008 bytes'); + assert.strictEqual(calcHash(vorbis.METADATA_BLOCK_PICTURE[0].data), 'c57bec49b36ebf422018f82273d1995a', 'Picture content'); } it('should map FLAC/Vorbis', async () => { @@ -185,19 +183,19 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { const filename = 'MusicBrainz - Beth Hart - Sinner\'s Prayer.flac'; function checkFormat(format) { - t.strictEqual(format.container, 'FLAC', 'format.container'); - t.strictEqual(format.codec, 'FLAC', 'format.codec'); - t.strictEqual(format.duration, 2.1229931972789116, 'format.duration = 2.123 seconds'); - t.strictEqual(format.sampleRate, 44100, 'format.sampleRate = 44100 samples/sec'); - t.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample = 16 bits'); - t.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels = 2 channels'); + assert.strictEqual(format.container, 'FLAC', 'format.container'); + assert.strictEqual(format.codec, 'FLAC', 'format.codec'); + assert.strictEqual(format.duration, 2.1229931972789116, 'format.duration = 2.123 seconds'); + assert.strictEqual(format.sampleRate, 44100, 'format.sampleRate = 44100 samples/sec'); + assert.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample = 16 bits'); + assert.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels = 2 channels'); } // Parse flac/Vorbis file const metadata = await parseFile(path.join(samplePath, filename)); - t.isDefined(metadata, 'should return metadata'); - t.isDefined(metadata.native, 'should return metadata.native'); - t.isDefined(metadata.native.vorbis, 'should return metadata.native.vorbis'); + assert.isDefined(metadata, 'should return metadata'); + assert.isDefined(metadata.native, 'should return metadata.native'); + assert.isDefined(metadata.native.vorbis, 'should return metadata.native.vorbis'); checkFormat(metadata.format); checkVorbisTags(orderTags(metadata.native.vorbis)); checkCommonMapping('vorbis', metadata.common); @@ -209,9 +207,9 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { // Parse ogg/Vorbis file const metadata = await parseFile(filePath); - t.isDefined(metadata, 'should return metadata'); - t.isDefined(metadata.native, 'should return metadata.native'); - t.isDefined(metadata.native.vorbis, 'should return metadata.native.vorbis'); + assert.isDefined(metadata, 'should return metadata'); + assert.isDefined(metadata.native, 'should return metadata.native'); + assert.isDefined(metadata.native.vorbis, 'should return metadata.native.vorbis'); // Check Vorbis native tags checkVorbisTags(orderTags(metadata.native.vorbis)); // Check common mappings @@ -224,54 +222,54 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { function checkApeTags(APEv2: INativeTagDict) { // Compare expectedCommonTags with result.common - t.deepEqual(APEv2.Title, ['Sinner\'s Prayer'], 'APEv2.Title'); - t.deepEqual(APEv2.Album, ['Don\'t Explain'], 'APEv2.Album'); - t.deepEqual(APEv2.Year, ['2011-09-27'], 'APEv2.Year'); - t.deepEqual(APEv2.Track, ['1/10'], 'APEv2.Track'); - t.deepEqual(APEv2.Disc, ['1/1'], 'APEv2.Disc'); - t.deepEqual(APEv2.Originalyear, ['2011'], 'APEv2.Year'); - t.deepEqual(APEv2.Originaldate, ['2011-09-26'], 'APEv2.Originaldate'); - t.deepEqual(APEv2.Label, ['J&R Adventures'], 'APEv2.LABEL'); - t.deepEqual(APEv2.CatalogNumber, ['PRAR931391'], 'APEv2.CatalogNumber'); - t.deepEqual(APEv2.Acoustid_Id, ['09c06fac-679a-45b1-8ea0-6ce532318363'], 'APEv2.Acoustid_Id'); - t.deepEqual(APEv2.Artist, ['Beth Hart & Joe Bonamassa'], 'APEv2.Artist'); - t.deepEqual(APEv2.Artists, ['Beth Hart', 'Joe Bonamassa'], 'APEv2.Artists'); - t.deepEqual(APEv2.Artistsort, ['Hart, Beth & Bonamassa, Joe'], 'APEv2.Artistsort'); - t.deepEqual(APEv2['Album Artist'], ['Beth Hart & Joe Bonamassa'], 'APEv2.ALBUMARTIST'); - t.deepEqual(APEv2.Albumartistsort, ['Hart, Beth & Bonamassa, Joe'], 'APEv2.Albumartistsort'); - t.deepEqual(APEv2.Originaldate, ['2011-09-26'], 'APEv2.ORIGINALDATE'); - t.deepEqual(APEv2.Script, ['Latn'], 'APEv2.Script'); - t.deepEqual(APEv2.Media, ['CD'], 'APEv2.Media'); - t.deepEqual(APEv2.Musicbrainz_Albumid, ['e7050302-74e6-42e4-aba0-09efd5d431d8'], 'APEv2.Musicbrainz_Albumid'); - t.deepEqual(APEv2.Musicbrainz_Albumartistid, ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'APEv2.Musicbrainz_Albumartistid'); - t.deepEqual(APEv2.Musicbrainz_Artistid, ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'APEv2.Musicbrainz_Artistid'); - - t.deepEqual(APEv2.Performer, performers, 'APEv2.Performer'); - t.deepEqual(APEv2.Producer, ['Roy Weisman'], 'APEv2.PRODUCER'); - t.deepEqual(APEv2.Engineer, ['James McCullagh', 'Jared Kvitka'], 'APEv2.ENGINEER'); - t.deepEqual(APEv2.Arranger, ['Jeff Bova'], 'APEv2.ARRANGER'); - - t.deepEqual(APEv2.Musicbrainz_Albumid, ['e7050302-74e6-42e4-aba0-09efd5d431d8'], 'APEv2.Musicbrainz_Albumid'); - t.deepEqual(APEv2.musicbrainz_releasetrackid, ['d062f484-253c-374b-85f7-89aab45551c7'], 'APEv2.musicbrainz_releasetrackid'); - t.deepEqual(APEv2.Musicbrainz_Releasegroupid, ['e00305af-1c72-469b-9a7c-6dc665ca9adc'], 'APEv2.Musicbrainz_Releasegroupid'); - t.deepEqual(APEv2.musicbrainz_trackid, ['f151cb94-c909-46a8-ad99-fb77391abfb8'], 'APEv2.musicbrainz_trackid'); - - // t.deepEqual(APEv2.NOTES, ['Medieval CUE Splitter (www.medieval.it)'], 'APEv2.NOTES') - t.deepEqual(APEv2.Barcode, ['804879313915'], 'APEv2.Barcode'); - // ToDo: not set??? t.deepEqual(APEv2.ASIN, 'B005NPEUB2', 'APEv2.ASIN'); - // ToDo: not set??? t.deepEqual(APEv2.RELEASECOUNTRY, 'GB', 'APEv2.RELEASECOUNTRY'); - t.deepEqual(APEv2.MUSICBRAINZ_ALBUMSTATUS, ['official'], 'APEv2.MUSICBRAINZ_ALBUMSTATUS'); - - t.deepEqual(APEv2.Arranger, ['Jeff Bova'], 'APEv2.Arranger'); + assert.deepEqual(APEv2.Title, ['Sinner\'s Prayer'], 'APEv2.Title'); + assert.deepEqual(APEv2.Album, ['Don\'t Explain'], 'APEv2.Album'); + assert.deepEqual(APEv2.Year, ['2011-09-27'], 'APEv2.Year'); + assert.deepEqual(APEv2.Track, ['1/10'], 'APEv2.Track'); + assert.deepEqual(APEv2.Disc, ['1/1'], 'APEv2.Disc'); + assert.deepEqual(APEv2.Originalyear, ['2011'], 'APEv2.Year'); + assert.deepEqual(APEv2.Originaldate, ['2011-09-26'], 'APEv2.Originaldate'); + assert.deepEqual(APEv2.Label, ['J&R Adventures'], 'APEv2.LABEL'); + assert.deepEqual(APEv2.CatalogNumber, ['PRAR931391'], 'APEv2.CatalogNumber'); + assert.deepEqual(APEv2.Acoustid_Id, ['09c06fac-679a-45b1-8ea0-6ce532318363'], 'APEv2.Acoustid_Id'); + assert.deepEqual(APEv2.Artist, ['Beth Hart & Joe Bonamassa'], 'APEv2.Artist'); + assert.deepEqual(APEv2.Artists, ['Beth Hart', 'Joe Bonamassa'], 'APEv2.Artists'); + assert.deepEqual(APEv2.Artistsort, ['Hart, Beth & Bonamassa, Joe'], 'APEv2.Artistsort'); + assert.deepEqual(APEv2['Album Artist'], ['Beth Hart & Joe Bonamassa'], 'APEv2.ALBUMARTIST'); + assert.deepEqual(APEv2.Albumartistsort, ['Hart, Beth & Bonamassa, Joe'], 'APEv2.Albumartistsort'); + assert.deepEqual(APEv2.Originaldate, ['2011-09-26'], 'APEv2.ORIGINALDATE'); + assert.deepEqual(APEv2.Script, ['Latn'], 'APEv2.Script'); + assert.deepEqual(APEv2.Media, ['CD'], 'APEv2.Media'); + assert.deepEqual(APEv2.Musicbrainz_Albumid, ['e7050302-74e6-42e4-aba0-09efd5d431d8'], 'APEv2.Musicbrainz_Albumid'); + assert.deepEqual(APEv2.Musicbrainz_Albumartistid, ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'APEv2.Musicbrainz_Albumartistid'); + assert.deepEqual(APEv2.Musicbrainz_Artistid, ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'APEv2.Musicbrainz_Artistid'); + + assert.deepEqual(APEv2.Performer, performers, 'APEv2.Performer'); + assert.deepEqual(APEv2.Producer, ['Roy Weisman'], 'APEv2.PRODUCER'); + assert.deepEqual(APEv2.Engineer, ['James McCullagh', 'Jared Kvitka'], 'APEv2.ENGINEER'); + assert.deepEqual(APEv2.Arranger, ['Jeff Bova'], 'APEv2.ARRANGER'); + + assert.deepEqual(APEv2.Musicbrainz_Albumid, ['e7050302-74e6-42e4-aba0-09efd5d431d8'], 'APEv2.Musicbrainz_Albumid'); + assert.deepEqual(APEv2.musicbrainz_releasetrackid, ['d062f484-253c-374b-85f7-89aab45551c7'], 'APEv2.musicbrainz_releasetrackid'); + assert.deepEqual(APEv2.Musicbrainz_Releasegroupid, ['e00305af-1c72-469b-9a7c-6dc665ca9adc'], 'APEv2.Musicbrainz_Releasegroupid'); + assert.deepEqual(APEv2.musicbrainz_trackid, ['f151cb94-c909-46a8-ad99-fb77391abfb8'], 'APEv2.musicbrainz_trackid'); + + // assert.deepEqual(APEv2.NOTES, ['Medieval CUE Splitter (www.medieval.it)'], 'APEv2.NOTES') + assert.deepEqual(APEv2.Barcode, ['804879313915'], 'APEv2.Barcode'); + // ToDo: not set??? assert.deepEqual(APEv2.ASIN, 'B005NPEUB2', 'APEv2.ASIN'); + // ToDo: not set??? assert.deepEqual(APEv2.RELEASECOUNTRY, 'GB', 'APEv2.RELEASECOUNTRY'); + assert.deepEqual(APEv2.MUSICBRAINZ_ALBUMSTATUS, ['official'], 'APEv2.MUSICBRAINZ_ALBUMSTATUS'); + + assert.deepEqual(APEv2.Arranger, ['Jeff Bova'], 'APEv2.Arranger'); // ToDo: - t.deepEqual(APEv2['Cover Art (Front)'][0].format, 'image/jpeg', 'picture.format'); - t.deepEqual(APEv2['Cover Art (Front)'][0].description, 'front', 'picture.description'); - t.deepEqual(APEv2['Cover Art (Front)'][0].data.length, 98008, 'picture.data.length'); + assert.deepEqual(APEv2['Cover Art (Front)'][0].format, 'image/jpeg', 'picture.format'); + assert.deepEqual(APEv2['Cover Art (Front)'][0].description, 'front', 'picture.description'); + assert.deepEqual(APEv2['Cover Art (Front)'][0].data.length, 98008, 'picture.data.length'); - t.deepEqual(APEv2['Cover Art (Back)'][0].format, 'image/png', 'picture.format'); - t.deepEqual(APEv2['Cover Art (Back)'][0].description, 'back', 'picture.description'); - t.deepEqual(APEv2['Cover Art (Back)'][0].data.length, 120291, 'picture.data.length'); + assert.deepEqual(APEv2['Cover Art (Back)'][0].format, 'image/png', 'picture.format'); + assert.deepEqual(APEv2['Cover Art (Back)'][0].description, 'back', 'picture.description'); + assert.deepEqual(APEv2['Cover Art (Back)'][0].data.length, 120291, 'picture.data.length'); } it('should map Monkey\'s Audio / APEv2', async () => { @@ -279,18 +277,18 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { const filePath = path.join(samplePath, 'MusicBrainz - Beth Hart - Sinner\'s Prayer.ape'); function checkFormat(format) { - t.strictEqual(format.duration, 2.1229931972789116, 'format.duration = 2.123 seconds'); - t.strictEqual(format.sampleRate, 44100, 'format.sampleRate'); - t.strictEqual(format.sampleRate, 44100, 'format.sampleRate'); - t.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample'); - t.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels'); + assert.strictEqual(format.duration, 2.1229931972789116, 'format.duration = 2.123 seconds'); + assert.strictEqual(format.sampleRate, 44100, 'format.sampleRate'); + assert.strictEqual(format.sampleRate, 44100, 'format.sampleRate'); + assert.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample'); + assert.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels'); } // Run with default options const metadata = await parseFile(filePath); - t.isDefined(metadata, 'should return metadata'); - t.isDefined(metadata.native, 'should return metadata.native'); - t.isDefined(metadata.native['APEv2'], 'should include native APEv2 tags'); + assert.isDefined(metadata, 'should return metadata'); + assert.isDefined(metadata.native, 'should return metadata.native'); + assert.isDefined(metadata.native['APEv2'], 'should include native APEv2 tags'); checkFormat(metadata.format); checkApeTags(orderTags(metadata.native.APEv2)); checkCommonMapping('APEv2', metadata.common); @@ -301,18 +299,18 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { const filePath = path.join(samplePath, 'wavpack', 'MusicBrainz - Beth Hart - Sinner\'s Prayer.wv'); function checkFormat(format) { - t.strictEqual(format.duration, 2.1229931972789116, 'format.duration = 2.123 seconds'); - t.strictEqual(format.sampleRate, 44100, 'format.sampleRate'); - t.strictEqual(format.sampleRate, 44100, 'format.sampleRate'); - t.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample'); - t.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels'); + assert.strictEqual(format.duration, 2.1229931972789116, 'format.duration = 2.123 seconds'); + assert.strictEqual(format.sampleRate, 44100, 'format.sampleRate'); + assert.strictEqual(format.sampleRate, 44100, 'format.sampleRate'); + assert.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample'); + assert.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels'); } // Run with default options const metadata = await parseFile(filePath); - t.isDefined(metadata, 'should return metadata'); - t.isDefined(metadata.native, 'should return metadata.native'); - t.isDefined(metadata.native['APEv2'], 'should include native APEv2 tags'); + assert.isDefined(metadata, 'should return metadata'); + assert.isDefined(metadata.native, 'should return metadata.native'); + assert.isDefined(metadata.native['APEv2'], 'should include native APEv2 tags'); checkFormat(metadata.format); checkApeTags(orderTags(metadata.native.APEv2)); checkCommonMapping('APEv2', metadata.common); @@ -324,22 +322,22 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { function checkID3Tags(native: INativeTagDict) { - t.deepEqual(native.TIT2, ['Sinner\'s Prayer'], 'id3v23.TIT2: Title/songname/content description'); - t.deepEqual(native.TPE1, ['Beth Hart & Joe Bonamassa'], 'id3v23.TPE1: Lead performer(s)/Soloist(s)'); - t.deepEqual(native.TPE2, ['Beth Hart & Joe Bonamassa'], 'id3v23.TPE2: Band/orchestra/accompaniment'); - t.deepEqual(native.TALB, ['Don\'t Explain'], 'id3v23.TALB: Album/Movie/Show title'); - t.deepEqual(native.TORY, ['2011'], 'id3v23.TORY: Original release year'); - t.deepEqual(native.TYER, ['2011'], 'id3v23.TYER'); - t.deepEqual(native.TPOS, ['1/1'], 'id3v23.TPOS: Part of a set'); - t.deepEqual(native.TRCK, ['1/10'], 'id3v23.TRCK: Track number/Position in set'); - t.deepEqual(native.TPUB, ['J&R Adventures'], 'id3v23.TPUB: Publisher'); - t.deepEqual(native.TMED, ['CD'], 'id3v23.TMED: Media type'); - t.deepEqual(native.UFID[0], { + assert.deepEqual(native.TIT2, ['Sinner\'s Prayer'], 'id3v23.TIT2: Title/songname/content description'); + assert.deepEqual(native.TPE1, ['Beth Hart & Joe Bonamassa'], 'id3v23.TPE1: Lead performer(s)/Soloist(s)'); + assert.deepEqual(native.TPE2, ['Beth Hart & Joe Bonamassa'], 'id3v23.TPE2: Band/orchestra/accompaniment'); + assert.deepEqual(native.TALB, ['Don\'t Explain'], 'id3v23.TALB: Album/Movie/Show title'); + assert.deepEqual(native.TORY, ['2011'], 'id3v23.TORY: Original release year'); + assert.deepEqual(native.TYER, ['2011'], 'id3v23.TYER'); + assert.deepEqual(native.TPOS, ['1/1'], 'id3v23.TPOS: Part of a set'); + assert.deepEqual(native.TRCK, ['1/10'], 'id3v23.TRCK: Track number/Position in set'); + assert.deepEqual(native.TPUB, ['J&R Adventures'], 'id3v23.TPUB: Publisher'); + assert.deepEqual(native.TMED, ['CD'], 'id3v23.TMED: Media type'); + assert.deepEqual(native.UFID[0], { owner_identifier: 'http://musicbrainz.org', identifier: Buffer.from('f151cb94-c909-46a8-ad99-fb77391abfb8', 'ascii') }, 'id3v23.UFID: Unique file identifier'); - t.deepEqual(native.IPLS, [{ + assert.deepEqual(native.IPLS, [{ arranger: ['Jeff Bova'], 'bass guitar': ['Carmine Rojas'], drums: ['Anton Fig'], @@ -353,22 +351,22 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { vocals: ['Beth Hart', 'Joe Bonamassa'] }], 'id3v23.IPLS: Involved people list'); - t.deepEqual(native['TXXX:ASIN'], ['B005NPEUB2'], 'id3v23.TXXX:ASIN'); - t.deepEqual(native['TXXX:Artists'], ['Beth Hart', 'Joe Bonamassa'], 'id3v23.TXXX:Artists'); - t.deepEqual(native['TXXX:BARCODE'], ['804879313915'], 'id3v23.TXXX:BARCODE'); - t.deepEqual(native['TXXX:CATALOGNUMBER'], ['PRAR931391'], 'id3v23.TXXX:CATALOGNUMBER'); - t.deepEqual(native['TXXX:MusicBrainz Album Artist Id'], ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'id3v23.TXXX:MusicBrainz Album Artist Id'); - t.deepEqual(native['TXXX:MusicBrainz Album Id'], ['e7050302-74e6-42e4-aba0-09efd5d431d8'], 'id3v23.TXXX:MusicBrainz Album Id'); - // ToDo?? t.strictEqual(id3v23['TXXX:MusicBrainz Album Release Country'], 'GB', 'id3v23.TXXX:MusicBrainz Album Release Country') - t.deepEqual(native['TXXX:MusicBrainz Album Status'], ['official'], 'id3v23.TXXX:MusicBrainz Album Status'); - t.deepEqual(native['TXXX:MusicBrainz Album Type'], ['album'], 'id3v23.TXXX:MusicBrainz Album Type'); - t.deepEqual(native['TXXX:MusicBrainz Artist Id'], ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'id3v23.TXXX:MusicBrainz Artist Id'); - t.deepEqual(native['TXXX:MusicBrainz Release Group Id'], ['e00305af-1c72-469b-9a7c-6dc665ca9adc'], 'id3v23.TXXX.MusicBrainz Release Group Id'); - t.deepEqual(native['TXXX:MusicBrainz Release Track Id'], ['d062f484-253c-374b-85f7-89aab45551c7'], 'id3v23.TXXX.MusicBrainz Release Track Id'); - t.deepEqual(native['TXXX:SCRIPT'], ['Latn'], 'id3v23.TXXX:SCRIPT'); - t.deepEqual(native['TXXX:originalyear'], ['2011'], 'id3v23.TXXX:originalyear'); - // t.strictEqual(native.METADATA_BLOCK_PICTURE.format, 'image/jpeg', 'native.METADATA_BLOCK_PICTURE format') - // t.strictEqual(native.METADATA_BLOCK_PICTURE.data.length, 98008, 'native.METADATA_BLOCK_PICTURE length') + assert.deepEqual(native['TXXX:ASIN'], ['B005NPEUB2'], 'id3v23.TXXX:ASIN'); + assert.deepEqual(native['TXXX:Artists'], ['Beth Hart', 'Joe Bonamassa'], 'id3v23.TXXX:Artists'); + assert.deepEqual(native['TXXX:BARCODE'], ['804879313915'], 'id3v23.TXXX:BARCODE'); + assert.deepEqual(native['TXXX:CATALOGNUMBER'], ['PRAR931391'], 'id3v23.TXXX:CATALOGNUMBER'); + assert.deepEqual(native['TXXX:MusicBrainz Album Artist Id'], ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'id3v23.TXXX:MusicBrainz Album Artist Id'); + assert.deepEqual(native['TXXX:MusicBrainz Album Id'], ['e7050302-74e6-42e4-aba0-09efd5d431d8'], 'id3v23.TXXX:MusicBrainz Album Id'); + // ToDo?? assert.strictEqual(id3v23['TXXX:MusicBrainz Album Release Country'], 'GB', 'id3v23.TXXX:MusicBrainz Album Release Country') + assert.deepEqual(native['TXXX:MusicBrainz Album Status'], ['official'], 'id3v23.TXXX:MusicBrainz Album Status'); + assert.deepEqual(native['TXXX:MusicBrainz Album Type'], ['album'], 'id3v23.TXXX:MusicBrainz Album Type'); + assert.deepEqual(native['TXXX:MusicBrainz Artist Id'], ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'id3v23.TXXX:MusicBrainz Artist Id'); + assert.deepEqual(native['TXXX:MusicBrainz Release Group Id'], ['e00305af-1c72-469b-9a7c-6dc665ca9adc'], 'id3v23.TXXX.MusicBrainz Release Group Id'); + assert.deepEqual(native['TXXX:MusicBrainz Release Track Id'], ['d062f484-253c-374b-85f7-89aab45551c7'], 'id3v23.TXXX.MusicBrainz Release Track Id'); + assert.deepEqual(native['TXXX:SCRIPT'], ['Latn'], 'id3v23.TXXX:SCRIPT'); + assert.deepEqual(native['TXXX:originalyear'], ['2011'], 'id3v23.TXXX:originalyear'); + // assert.strictEqual(native.METADATA_BLOCK_PICTURE.format, 'image/jpeg', 'native.METADATA_BLOCK_PICTURE format') + // assert.strictEqual(native.METADATA_BLOCK_PICTURE.data.length, 98008, 'native.METADATA_BLOCK_PICTURE length') } it('MP3 / ID3v2.3', () => { @@ -376,21 +374,21 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { const filePath = path.join(samplePath, 'MusicBrainz - Beth Hart - Sinner\'s Prayer [id3v2.3].V2.mp3'); function checkFormat(format) { - t.deepEqual(format.tagTypes, ['ID3v2.3'], 'format.tagTypes'); - t.deepEqual(format.container, 'MPEG', 'format.container'); - t.deepEqual(format.codec, 'MPEG 1 Layer 3', 'format.codec'); - t.strictEqual(format.duration, 2.1681632653061222, 'format.duration'); - t.strictEqual(format.sampleRate, 44100, 'format.sampleRate'); - t.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels'); - t.strictEqual(format.codecProfile, 'V2', 'format.codecProfile'); - t.strictEqual(format.tool, 'LAME 3.99r', 'format.tool'); + assert.deepEqual(format.tagTypes, ['ID3v2.3'], 'format.tagTypes'); + assert.deepEqual(format.container, 'MPEG', 'format.container'); + assert.deepEqual(format.codec, 'MPEG 1 Layer 3', 'format.codec'); + assert.strictEqual(format.duration, 2.1681632653061222, 'format.duration'); + assert.strictEqual(format.sampleRate, 44100, 'format.sampleRate'); + assert.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels'); + assert.strictEqual(format.codecProfile, 'V2', 'format.codecProfile'); + assert.strictEqual(format.tool, 'LAME 3.99r', 'format.tool'); } // Run with default options return parseFile(filePath).then(metadata => { - t.isDefined(metadata, 'should return metadata'); - t.isDefined(metadata.native, 'should return metadata.native'); - t.isDefined(metadata.native['ID3v2.3'], 'should include native id3v2.3 tags'); + assert.isDefined(metadata, 'should return metadata'); + assert.isDefined(metadata.native, 'should return metadata.native'); + assert.isDefined(metadata.native['ID3v2.3'], 'should include native id3v2.3 tags'); checkFormat(metadata.format); checkID3Tags(orderTags(metadata.native['ID3v2.3'])); checkCommonMapping('ID3v2.3', metadata.common); @@ -407,13 +405,13 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { const filePath = path.join(samplePath, 'MusicBrainz - Beth Hart - Sinner\'s Prayer [id3v2.3].wav'); function checkFormat(format: IFormat) { - // t.strictEqual(format.container, "WAVE", "format.container = WAVE PCM"); - t.deepEqual(format.tagTypes, ['exif', 'ID3v2.3'], 'format.tagTypes)'); - t.strictEqual(format.sampleRate, 44100, 'format.sampleRate = 44.1 kHz'); - t.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample = 16 bits'); - t.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels = 2 channels'); - t.strictEqual(format.numberOfSamples, 93624, 'format.numberOfSamples = 88200'); - t.strictEqual(format.duration, 2.1229931972789116, 'format.duration = 2 seconds'); + // assert.strictEqual(format.container, "WAVE", "format.container = WAVE PCM"); + assert.deepEqual(format.tagTypes, ['exif', 'ID3v2.3'], 'format.tagTypes)'); + assert.strictEqual(format.sampleRate, 44100, 'format.sampleRate = 44.1 kHz'); + assert.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample = 16 bits'); + assert.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels = 2 channels'); + assert.strictEqual(format.numberOfSamples, 93624, 'format.numberOfSamples = 88200'); + assert.strictEqual(format.duration, 2.1229931972789116, 'format.duration = 2 seconds'); } // Parse wma/asf file @@ -433,24 +431,24 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { function checkID3Tags(id3v24: INativeTagDict) { - t.deepEqual(id3v24.APIC[0].data.length, 98008, 'id3v24.APIC.data.length'); - t.deepEqual(id3v24.APIC[0].description, '', 'id3v24.APIC.data.description'); - t.deepEqual(id3v24.APIC[0].format, 'image/jpeg', 'id3v24.APIC.format = image/jpeg'); - t.deepEqual(id3v24.APIC[0].type, 'Cover (front)', 'd3v24.APIC.type = Cover (front)'); + assert.deepEqual(id3v24.APIC[0].data.length, 98008, 'id3v24.APIC.data.length'); + assert.deepEqual(id3v24.APIC[0].description, '', 'id3v24.APIC.data.description'); + assert.deepEqual(id3v24.APIC[0].format, 'image/jpeg', 'id3v24.APIC.format = image/jpeg'); + assert.deepEqual(id3v24.APIC[0].type, 'Cover (front)', 'd3v24.APIC.type = Cover (front)'); - t.deepEqual(id3v24.TALB, ['Don\'t Explain'], 'id3v24.TALB: Album/Movie/Show title'); - t.deepEqual(id3v24.TDOR, ['2011-09-26'], 'id3v24.TDOR'); - t.deepEqual(id3v24.TDRC, ['2011-09-27'], 'id3v24.DATE'); + assert.deepEqual(id3v24.TALB, ['Don\'t Explain'], 'id3v24.TALB: Album/Movie/Show title'); + assert.deepEqual(id3v24.TDOR, ['2011-09-26'], 'id3v24.TDOR'); + assert.deepEqual(id3v24.TDRC, ['2011-09-27'], 'id3v24.DATE'); - t.deepEqual(id3v24.TIPL[0], { + assert.deepEqual(id3v24.TIPL[0], { arranger: ['Jeff Bova'], engineer: ['James McCullagh', 'Jared Kvitka'], producer: ['Roy Weisman'] }, 'event id3v24.TIPL'); - t.deepEqual(id3v24.TIT2[0], 'Sinner\'s Prayer', 'id3v24.TIT2: Title/songname/content description'); + assert.deepEqual(id3v24.TIT2[0], 'Sinner\'s Prayer', 'id3v24.TIT2: Title/songname/content description'); - t.deepEqual(id3v24.TMCL[0], { + assert.deepEqual(id3v24.TMCL[0], { 'bass guitar': ['Carmine Rojas'], drums: ['Anton Fig'], guitar: ['Blondie Chaplin', 'Joe Bonamassa'], @@ -462,35 +460,35 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { }, 'event id3v24.TMCL'); // Lead performer(s)/Soloist(s) - t.deepEqual(id3v24.TMED, ['CD'], 'id3v24.TMED'); - t.deepEqual(id3v24.TPE1, ['Beth Hart & Joe Bonamassa'], 'id3v24.TPE1: Lead performer(s)/Soloist(s)'); - t.deepEqual(id3v24.TPE2, ['Beth Hart & Joe Bonamassa'], 'id3v24.TPE1: Band/orchestra/accompaniment'); - t.deepEqual(id3v24.TPOS, ['1/1'], 'id3v24.TPOS'); - t.deepEqual(id3v24.TPUB, ['J&R Adventures'], 'id3v24.TPUB'); - t.deepEqual(id3v24.TRCK, ['1/10'], 'id3v24.TRCK'); + assert.deepEqual(id3v24.TMED, ['CD'], 'id3v24.TMED'); + assert.deepEqual(id3v24.TPE1, ['Beth Hart & Joe Bonamassa'], 'id3v24.TPE1: Lead performer(s)/Soloist(s)'); + assert.deepEqual(id3v24.TPE2, ['Beth Hart & Joe Bonamassa'], 'id3v24.TPE1: Band/orchestra/accompaniment'); + assert.deepEqual(id3v24.TPOS, ['1/1'], 'id3v24.TPOS'); + assert.deepEqual(id3v24.TPUB, ['J&R Adventures'], 'id3v24.TPUB'); + assert.deepEqual(id3v24.TRCK, ['1/10'], 'id3v24.TRCK'); - t.deepEqual(id3v24.TSO2, ['Hart, Beth & Bonamassa, Joe'], 'TSO2'); - t.deepEqual(id3v24.TSOP, ['Hart, Beth & Bonamassa, Joe'], 'TSOP'); + assert.deepEqual(id3v24.TSO2, ['Hart, Beth & Bonamassa, Joe'], 'TSO2'); + assert.deepEqual(id3v24.TSOP, ['Hart, Beth & Bonamassa, Joe'], 'TSOP'); - t.deepEqual(id3v24.UFID[0], { + assert.deepEqual(id3v24.UFID[0], { owner_identifier: 'http://musicbrainz.org', identifier: Buffer.from('f151cb94-c909-46a8-ad99-fb77391abfb8', 'ascii') }, 'id3v24.UFID: Unique file identifier'); - t.deepEqual(id3v24['TXXX:ASIN'], ['B005NPEUB2'], 'id3v24.TXXX:ASIN'); - t.deepEqual(id3v24['TXXX:Artists'], ['Beth Hart', 'Joe Bonamassa'], 'id3v24.TXXX:Artists'); - t.deepEqual(id3v24['TXXX:BARCODE'], ['804879313915'], 'id3v24.TXXX:BARCODE'); - t.deepEqual(id3v24['TXXX:CATALOGNUMBER'], ['PRAR931391'], 'id3v24.TXXX:CATALOGNUMBER'); - t.deepEqual(id3v24['TXXX:MusicBrainz Album Artist Id'], ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'id3v24.TXXX:MusicBrainz Album Artist Id'); - t.deepEqual(id3v24['TXXX:MusicBrainz Album Id'], ['e7050302-74e6-42e4-aba0-09efd5d431d8'], 'id3v24.TXXX:MusicBrainz Album Id'); - // ToDo?? t.deepEqual(id3v24['TXXX:MusicBrainz Album Release Country'], 'GB', 'id3v24.TXXX:MusicBrainz Album Release Country'); - t.deepEqual(id3v24['TXXX:MusicBrainz Album Status'], ['official'], 'id3v24.TXXX:MusicBrainz Album Status'); - t.deepEqual(id3v24['TXXX:MusicBrainz Album Type'], ['album'], 'id3v24.TXXX:MusicBrainz Album Type'); - t.deepEqual(id3v24['TXXX:MusicBrainz Artist Id'], ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'id3v24.TXXX:MusicBrainz Artist Id'); - t.deepEqual(id3v24['TXXX:MusicBrainz Release Group Id'], ['e00305af-1c72-469b-9a7c-6dc665ca9adc'], 'id3v24.TXXX.MusicBrainz Release Group Id'); - t.deepEqual(id3v24['TXXX:MusicBrainz Release Track Id'], ['d062f484-253c-374b-85f7-89aab45551c7'], 'id3v24.TXXX.MusicBrainz Release Track Id'); - t.deepEqual(id3v24['TXXX:SCRIPT'], ['Latn'], 'id3v24.TXXX:SCRIPT'); - t.deepEqual(id3v24['TXXX:originalyear'], ['2011'], 'id3v24.TXXX:originalyear'); + assert.deepEqual(id3v24['TXXX:ASIN'], ['B005NPEUB2'], 'id3v24.TXXX:ASIN'); + assert.deepEqual(id3v24['TXXX:Artists'], ['Beth Hart', 'Joe Bonamassa'], 'id3v24.TXXX:Artists'); + assert.deepEqual(id3v24['TXXX:BARCODE'], ['804879313915'], 'id3v24.TXXX:BARCODE'); + assert.deepEqual(id3v24['TXXX:CATALOGNUMBER'], ['PRAR931391'], 'id3v24.TXXX:CATALOGNUMBER'); + assert.deepEqual(id3v24['TXXX:MusicBrainz Album Artist Id'], ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'id3v24.TXXX:MusicBrainz Album Artist Id'); + assert.deepEqual(id3v24['TXXX:MusicBrainz Album Id'], ['e7050302-74e6-42e4-aba0-09efd5d431d8'], 'id3v24.TXXX:MusicBrainz Album Id'); + // ToDo?? assert.deepEqual(id3v24['TXXX:MusicBrainz Album Release Country'], 'GB', 'id3v24.TXXX:MusicBrainz Album Release Country'); + assert.deepEqual(id3v24['TXXX:MusicBrainz Album Status'], ['official'], 'id3v24.TXXX:MusicBrainz Album Status'); + assert.deepEqual(id3v24['TXXX:MusicBrainz Album Type'], ['album'], 'id3v24.TXXX:MusicBrainz Album Type'); + assert.deepEqual(id3v24['TXXX:MusicBrainz Artist Id'], ['3fe817fc-966e-4ece-b00a-76be43e7e73c', '984f8239-8fe1-4683-9c54-10ffb14439e9'], 'id3v24.TXXX:MusicBrainz Artist Id'); + assert.deepEqual(id3v24['TXXX:MusicBrainz Release Group Id'], ['e00305af-1c72-469b-9a7c-6dc665ca9adc'], 'id3v24.TXXX.MusicBrainz Release Group Id'); + assert.deepEqual(id3v24['TXXX:MusicBrainz Release Track Id'], ['d062f484-253c-374b-85f7-89aab45551c7'], 'id3v24.TXXX.MusicBrainz Release Track Id'); + assert.deepEqual(id3v24['TXXX:SCRIPT'], ['Latn'], 'id3v24.TXXX:SCRIPT'); + assert.deepEqual(id3v24['TXXX:originalyear'], ['2011'], 'id3v24.TXXX:originalyear'); } it('should map MP3/ID3v2.4 header', async () => { @@ -498,22 +496,22 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { const filePath = path.join(samplePath, 'MusicBrainz - Beth Hart - Sinner\'s Prayer [id3v2.4].V2.mp3'); function checkFormat(format: IFormat) { - t.deepEqual(format.tagTypes, ['ID3v2.4'], 'format.tagTypes'); - t.strictEqual(format.container, 'MPEG', 'format.container'); - t.strictEqual(format.codec, 'MPEG 1 Layer 3', 'format.codec'); - t.strictEqual(format.codecProfile, 'V2', 'format.codecProfile = V2'); - t.strictEqual(format.tool, 'LAME 3.99r', 'format.tool'); - t.strictEqual(format.duration, 2.1681632653061222, 'format.duration'); - t.strictEqual(format.sampleRate, 44100, 'format.sampleRate = 44.1 kHz'); - t.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels'); + assert.deepEqual(format.tagTypes, ['ID3v2.4'], 'format.tagTypes'); + assert.strictEqual(format.container, 'MPEG', 'format.container'); + assert.strictEqual(format.codec, 'MPEG 1 Layer 3', 'format.codec'); + assert.strictEqual(format.codecProfile, 'V2', 'format.codecProfile = V2'); + assert.strictEqual(format.tool, 'LAME 3.99r', 'format.tool'); + assert.strictEqual(format.duration, 2.1681632653061222, 'format.duration'); + assert.strictEqual(format.sampleRate, 44100, 'format.sampleRate = 44.1 kHz'); + assert.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels'); } // Run with default options const metadata = await parseFile(filePath); - t.isDefined(metadata, 'should return metadata'); - t.isDefined(metadata.native, 'should return metadata.native'); - t.isDefined(metadata.native['ID3v2.4'], 'should include native id3v2.4 tags'); + assert.isDefined(metadata, 'should return metadata'); + assert.isDefined(metadata.native, 'should return metadata.native'); + assert.isDefined(metadata.native['ID3v2.4'], 'should include native id3v2.4 tags'); checkFormat(metadata.format); checkID3Tags(orderTags(metadata.native['ID3v2.4'])); @@ -525,20 +523,20 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { const filePath = path.join(samplePath, 'MusicBrainz - Beth Hart - Sinner\'s Prayer [id3v2.4].aiff'); function checkFormat(format: IFormat) { - t.strictEqual(format.container, 'AIFF', 'format.container = \'AIFF\''); - t.deepEqual(format.tagTypes, ['ID3v2.4'], 'format.tagTypes = \'ID3v2.4\''); // ToDo - t.strictEqual(format.sampleRate, 44100, 'format.sampleRate = 44.1 kHz'); - t.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample = 16 bits'); - t.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels = 2 channels'); - t.strictEqual(format.numberOfSamples, 93624, 'format.bitsPerSample = 93624'); - t.strictEqual(format.duration, 2.1229931972789116, 'format.duration = ~2.123'); + assert.strictEqual(format.container, 'AIFF', 'format.container = \'AIFF\''); + assert.deepEqual(format.tagTypes, ['ID3v2.4'], 'format.tagTypes = \'ID3v2.4\''); // ToDo + assert.strictEqual(format.sampleRate, 44100, 'format.sampleRate = 44.1 kHz'); + assert.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample = 16 bits'); + assert.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels = 2 channels'); + assert.strictEqual(format.numberOfSamples, 93624, 'format.bitsPerSample = 93624'); + assert.strictEqual(format.duration, 2.1229931972789116, 'format.duration = ~2.123'); } // Parse wma/asf file const metadata = await parseFile(filePath); - t.isDefined(metadata, 'should return metadata'); - t.isDefined(metadata.native, 'should return metadata.native'); - t.isDefined(metadata.native['ID3v2.4'], 'should include native id3v2.4 tags'); + assert.isDefined(metadata, 'should return metadata'); + assert.isDefined(metadata.native, 'should return metadata.native'); + assert.isDefined(metadata.native['ID3v2.4'], 'should include native id3v2.4 tags'); // Check wma format checkFormat(metadata.format); // Check ID3v2.4 native tags @@ -554,48 +552,48 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { const filePath = path.join(samplePath, 'MusicBrainz - Beth Hart - Sinner\'s Prayer.m4a'); function checkFormat(format: IFormat) { - t.deepEqual(format.tagTypes, ['iTunes'], 'format.tagTypes'); - t.strictEqual(format.container, 'M4A/mp42/isom', 'format.container'); - t.strictEqual(format.codec, 'ALAC', 'format.codec'); - t.strictEqual(format.lossless, true, 'ALAC is a lossless format'); - t.strictEqual(format.duration, 2.1229931972789116, 'format.duration'); - t.strictEqual(format.sampleRate, 44100, 'format.sampleRate = 44.1 kHz'); - // t.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample'); // ToDo - // t.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels'); // ToDo + assert.deepEqual(format.tagTypes, ['iTunes'], 'format.tagTypes'); + assert.strictEqual(format.container, 'M4A/mp42/isom', 'format.container'); + assert.strictEqual(format.codec, 'ALAC', 'format.codec'); + assert.strictEqual(format.lossless, true, 'ALAC is a lossless format'); + assert.strictEqual(format.duration, 2.1229931972789116, 'format.duration'); + assert.strictEqual(format.sampleRate, 44100, 'format.sampleRate = 44.1 kHz'); + // assert.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample'); // ToDo + // assert.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels'); // ToDo } function checkCommonTags(common) { - t.strictEqual(common.picture[0].format, 'image/jpeg', 'picture format'); - t.strictEqual(common.picture[0].data.length, 98008, 'picture length'); + assert.strictEqual(common.picture[0].format, 'image/jpeg', 'picture format'); + assert.strictEqual(common.picture[0].data.length, 98008, 'picture length'); } function check_iTunes_Tags(iTunes: INativeTagDict) { - t.deepEqual(iTunes['©nam'], ['Sinner\'s Prayer'], 'iTunes.©nam => common.title'); - t.deepEqual(iTunes['©ART'], ['Beth Hart & Joe Bonamassa'], 'iTunes.@ART => common.artist'); - t.deepEqual(iTunes['©alb'], ['Don\'t Explain'], 'iTunes.©alb => common.album'); - t.deepEqual(iTunes.soar, ['Hart, Beth & Bonamassa, Joe'], 'iTunes.soar => common.artistsort'); - t.deepEqual(iTunes.soaa, ['Hart, Beth & Bonamassa, Joe'], 'iTunes.soaa => common.albumartistsort'); - t.deepEqual(iTunes['----:com.apple.iTunes:ARTISTS'], ['Beth Hart', 'Joe Bonamassa'], 'iTunes.----:com.apple.iTunes:ARTISTS => common.artists'); - t.deepEqual(iTunes.aART, ['Beth Hart & Joe Bonamassa'], 'iTunes.aART => common.albumartist'); - t.deepEqual(iTunes['----:com.apple.iTunes:Band'], ['Beth Hart & Joe Bonamassa'], 'iTunes.----:com.apple.iTunes:Band => common.albumartist'); - t.deepEqual(iTunes.trkn, ['1/10'], 'iTunes.trkn => common.track'); - t.deepEqual(iTunes.disk, ['1/1'], 'iTunes.trkn => common.disk'); - t.deepEqual(iTunes['----:com.apple.iTunes:ORIGINALDATE'], ['2011-09-26'], 'iTunes.----:com.apple.iTunes:ORIGINALDATE => common.albumartistsort'); - t.deepEqual(iTunes['----:com.apple.iTunes:ORIGINALYEAR'], ['2011'], 'iTunes.----:com.apple.iTunes:ORIGINALDATE => common.originalyear'); - - t.deepEqual(iTunes['----:com.apple.iTunes:ACOUSTID_ID'], ['09c06fac-679a-45b1-8ea0-6ce532318363']); - t.deepEqual(iTunes['----:com.apple.iTunes:ARRANGER'], ['Jeff Bova']); - - t.deepEqual(iTunes['----:com.apple.iTunes:NOTES'], ['Medieval CUE Splitter (www.medieval.it)']); + assert.deepEqual(iTunes['©nam'], ['Sinner\'s Prayer'], 'iTunes.©nam => common.title'); + assert.deepEqual(iTunes['©ART'], ['Beth Hart & Joe Bonamassa'], 'iTunes.@ART => common.artist'); + assert.deepEqual(iTunes['©alb'], ['Don\'t Explain'], 'iTunes.©alb => common.album'); + assert.deepEqual(iTunes.soar, ['Hart, Beth & Bonamassa, Joe'], 'iTunes.soar => common.artistsort'); + assert.deepEqual(iTunes.soaa, ['Hart, Beth & Bonamassa, Joe'], 'iTunes.soaa => common.albumartistsort'); + assert.deepEqual(iTunes['----:com.apple.iTunes:ARTISTS'], ['Beth Hart', 'Joe Bonamassa'], 'iTunes.----:com.apple.iTunes:ARTISTS => common.artists'); + assert.deepEqual(iTunes.aART, ['Beth Hart & Joe Bonamassa'], 'iTunes.aART => common.albumartist'); + assert.deepEqual(iTunes['----:com.apple.iTunes:Band'], ['Beth Hart & Joe Bonamassa'], 'iTunes.----:com.apple.iTunes:Band => common.albumartist'); + assert.deepEqual(iTunes.trkn, ['1/10'], 'iTunes.trkn => common.track'); + assert.deepEqual(iTunes.disk, ['1/1'], 'iTunes.trkn => common.disk'); + assert.deepEqual(iTunes['----:com.apple.iTunes:ORIGINALDATE'], ['2011-09-26'], 'iTunes.----:com.apple.iTunes:ORIGINALDATE => common.albumartistsort'); + assert.deepEqual(iTunes['----:com.apple.iTunes:ORIGINALYEAR'], ['2011'], 'iTunes.----:com.apple.iTunes:ORIGINALDATE => common.originalyear'); + + assert.deepEqual(iTunes['----:com.apple.iTunes:ACOUSTID_ID'], ['09c06fac-679a-45b1-8ea0-6ce532318363']); + assert.deepEqual(iTunes['----:com.apple.iTunes:ARRANGER'], ['Jeff Bova']); + + assert.deepEqual(iTunes['----:com.apple.iTunes:NOTES'], ['Medieval CUE Splitter (www.medieval.it)']); // ToDO } // Run with default options const metadata = await parseFile(filePath); - t.isDefined(metadata, 'should return metadata'); - t.isDefined(metadata.native, 'should return metadata.native'); - t.isDefined(metadata.native.iTunes, 'should include native iTunes tags'); + assert.isDefined(metadata, 'should return metadata'); + assert.isDefined(metadata.native, 'should return metadata.native'); + assert.isDefined(metadata.native.iTunes, 'should include native iTunes tags'); checkFormat(metadata.format); check_iTunes_Tags(orderTags(metadata.native.iTunes)); @@ -609,30 +607,30 @@ describe('Parsing of metadata saved by \'Picard\' in audio files', () => { const filePath = path.join(samplePath, 'MusicBrainz - Beth Hart - Sinner\'s Prayer.wma'); function checkFormat(format: IFormat) { - t.deepEqual(format.tagTypes, ['asf'], 'format.tagTypes = asf'); - t.strictEqual(format.bitrate, 320000, 'format.bitrate = 320000'); - // ToDo t.strictEqual(format.container, "wma", "format.container = wma"); - t.approximately(format.duration, 2.135, 1 / 10000, "format.duration"); - // ToDo t.strictEqual(format.sampleRate, 44100, 'format.sampleRate = 44.1 kHz'); - // ToDo t.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample'); // ToDo - // ToDo t.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels'); // ToDo + assert.deepEqual(format.tagTypes, ['asf'], 'format.tagTypes = asf'); + assert.strictEqual(format.bitrate, 320000, 'format.bitrate = 320000'); + // ToDo assert.strictEqual(format.container, "wma", "format.container = wma"); + assert.approximately(format.duration, 2.135, 1 / 10000, "format.duration"); + // ToDo assert.strictEqual(format.sampleRate, 44100, 'format.sampleRate = 44.1 kHz'); + // ToDo assert.strictEqual(format.bitsPerSample, 16, 'format.bitsPerSample'); // ToDo + // ToDo assert.strictEqual(format.numberOfChannels, 2, 'format.numberOfChannels'); // ToDo } function check_asf_Tags(native: INativeTagDict) { - t.deepEqual(native['WM/AlbumArtist'], ['Beth Hart & Joe Bonamassa'], 'asf.WM/AlbumArtist => common.albumartist = \'Beth Hart & Joe Bonamassa\''); - t.deepEqual(native['WM/AlbumTitle'], ['Don\'t Explain'], 'asf.WM/AlbumTitle => common.albumtitle = \'Don\'t Explain\''); - t.deepEqual(native['WM/ARTISTS'], ['Joe Bonamassa', 'Beth Hart'], 'asf.WM/ARTISTS => common.artists = [\'Joe Bonamassa\', \'Beth Hart\']'); - t.isDefined(native['WM/Picture'], 'Contains WM/Picture'); - t.strictEqual(native['WM/Picture'].length, 1, 'Contains 1 WM/Picture'); + assert.deepEqual(native['WM/AlbumArtist'], ['Beth Hart & Joe Bonamassa'], 'asf.WM/AlbumArtist => common.albumartist = \'Beth Hart & Joe Bonamassa\''); + assert.deepEqual(native['WM/AlbumTitle'], ['Don\'t Explain'], 'asf.WM/AlbumTitle => common.albumtitle = \'Don\'t Explain\''); + assert.deepEqual(native['WM/ARTISTS'], ['Joe Bonamassa', 'Beth Hart'], 'asf.WM/ARTISTS => common.artists = [\'Joe Bonamassa\', \'Beth Hart\']'); + assert.isDefined(native['WM/Picture'], 'Contains WM/Picture'); + assert.strictEqual(native['WM/Picture'].length, 1, 'Contains 1 WM/Picture'); // ToDO } // Parse wma/asf file const metadata = await parseFile(filePath); - t.isDefined(metadata, 'should return metadata'); - t.isDefined(metadata.native, 'should return metadata.native'); - t.isDefined(metadata.native.asf, 'should include native asf tags'); + assert.isDefined(metadata, 'should return metadata'); + assert.isDefined(metadata.native, 'should return metadata.native'); + assert.isDefined(metadata.native.asf, 'should include native asf tags'); // Check wma format checkFormat(metadata.format); diff --git a/yarn.lock b/yarn.lock index 8d8e12cab..568676903 100644 --- a/yarn.lock +++ b/yarn.lock @@ -27,6 +27,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@babel/helper-validator-identifier@^7.24.5": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" + integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + "@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" @@ -57,12 +62,15 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@es-joy/jsdoccomment@~0.40.1": - version "0.40.1" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz#13acd77fb372ed1c83b7355edd865a3b370c9ec4" - integrity sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg== +"@es-joy/jsdoccomment@~0.43.1": + version "0.43.1" + resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz#4b1979b7b4ff8b596fb19a3aa696a438e44608d7" + integrity sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog== dependencies: - comment-parser "1.4.0" + "@types/eslint" "^8.56.5" + "@types/estree" "^1.0.5" + "@typescript-eslint/types" "^7.2.0" + comment-parser "1.4.1" esquery "^1.5.0" jsdoc-type-pratt-parser "~4.0.0" @@ -73,7 +81,12 @@ dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": +"@eslint-community/regexpp@^4.10.0": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" + integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== + +"@eslint-community/regexpp@^4.6.1": version "4.9.1" resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.9.1.tgz#449dfa81a57a1d755b09aa58d826c1262e4283b4" integrity sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA== @@ -93,6 +106,21 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" +"@eslint/eslintrc@^3.0.2": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#dbd3482bfd91efa663cbe7aa1f506839868207b6" + integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^10.0.1" + globals "^14.0.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + "@eslint/js@8.57.0": version "8.57.0" resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" @@ -214,6 +242,11 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@pkgr/core@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" + integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== + "@tokenizer/token@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" @@ -246,11 +279,16 @@ dependencies: "@types/chai" "*" -"@types/chai@*", "@types/chai@^4.3.9": +"@types/chai@*": version "4.3.9" resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.9.tgz#144d762491967db8c6dea38e03d2206c2623feec" integrity sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg== +"@types/chai@^4.3.16": + version "4.3.16" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.16.tgz#b1572967f0b8b60bf3f87fe1d854a5604ea70c82" + integrity sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ== + "@types/concat-stream@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-2.0.0.tgz#a716f0ba9015014e643addb351da05a73bef425c" @@ -265,6 +303,14 @@ dependencies: "@types/ms" "*" +"@types/eslint@^8.56.5": + version "8.56.10" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.10.tgz#eb2370a73bf04a901eeba8f22595c7ee0f7eb58d" + integrity sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + "@types/estree-jsx@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.0.tgz#7bfc979ab9f692b492017df42520f7f765e98df1" @@ -277,6 +323,11 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== +"@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + "@types/file-type@^10.9.1": version "10.9.1" resolved "https://registry.yarnpkg.com/@types/file-type/-/file-type-10.9.1.tgz#fc9a6b38697777eca346dba914fdea4b38e04b97" @@ -284,10 +335,10 @@ dependencies: file-type "*" -"@types/hast@^2.0.0": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc" - integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== +"@types/hast@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" + integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== dependencies: "@types/unist" "*" @@ -301,23 +352,16 @@ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== -"@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== +"@types/json-schema@*": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/mdast@^3.0.0": - version "3.0.11" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.11.tgz#dc130f7e7d9306124286f6d6cee40cf4d14a3dc0" - integrity sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw== - dependencies: - "@types/unist" "*" - "@types/mdast@^4.0.0": version "4.0.2" resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.2.tgz#4695661024ffbd9e52cf71e05c69a1f08c0792f6" @@ -330,33 +374,35 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== -"@types/mocha@^10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.3.tgz#4804fe9cd39da26eb62fa65c15ea77615a187812" - integrity sha512-RsOPImTriV/OE4A9qKjMtk2MnXiuLLbcO3nCXK+kvq4nr0iMfFgpjaX3MPLb6f7+EL1FGSelYvuJMV6REH+ZPQ== +"@types/mocha@^10.0.7": + version "10.0.7" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.7.tgz#4c620090f28ca7f905a94b706f74dc5b57b44f2f" + integrity sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw== "@types/ms@*": version "0.7.31" resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node@*", "@types/node@^20.0.0", "@types/node@^20.12.12": +"@types/node@*", "@types/node@^20.0.0": version "20.12.12" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.12.tgz#7cbecdf902085cec634fdb362172dfe12b8f2050" integrity sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw== dependencies: undici-types "~5.26.4" +"@types/node@^20.14.9": + version "20.14.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.9.tgz#12e8e765ab27f8c421a1820c99f5f313a933b420" + integrity sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg== + dependencies: + undici-types "~5.26.4" + "@types/normalize-package-data@^2.4.0": version "2.4.1" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== -"@types/semver@^7.3.12": - version "7.3.13" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" - integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== - "@types/supports-color@^8.0.0": version "8.1.1" resolved "https://registry.yarnpkg.com/@types/supports-color/-/supports-color-8.1.1.tgz#1b44b1b096479273adf7f93c75fc4ecc40a61ee4" @@ -377,89 +423,86 @@ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.1.tgz#778652d02ddec1bfc9e5e938fec8d407b8e56cba" integrity sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg== -"@typescript-eslint/eslint-plugin@^5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" - integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== +"@typescript-eslint/eslint-plugin@^7.14.1": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.14.1.tgz#90e2f76a5930d553ede124e1f541a39b4417465e" + integrity sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw== dependencies: - "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/type-utils" "5.62.0" - "@typescript-eslint/utils" "5.62.0" - debug "^4.3.4" + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "7.14.1" + "@typescript-eslint/type-utils" "7.14.1" + "@typescript-eslint/utils" "7.14.1" + "@typescript-eslint/visitor-keys" "7.14.1" graphemer "^1.4.0" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@^5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" - integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== - dependencies: - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" + ignore "^5.3.1" + natural-compare "^1.4.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/parser@^7.14.1": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.14.1.tgz#13d97f357aed3c5719f259a6cc3d1a1f065d3692" + integrity sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA== + dependencies: + "@typescript-eslint/scope-manager" "7.14.1" + "@typescript-eslint/types" "7.14.1" + "@typescript-eslint/typescript-estree" "7.14.1" + "@typescript-eslint/visitor-keys" "7.14.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" - integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== +"@typescript-eslint/scope-manager@7.14.1": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.14.1.tgz#63de7a577bc6fe8ee6e412a5b85499f654b93ee5" + integrity sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA== dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" + "@typescript-eslint/types" "7.14.1" + "@typescript-eslint/visitor-keys" "7.14.1" -"@typescript-eslint/type-utils@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" - integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== +"@typescript-eslint/type-utils@7.14.1": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.14.1.tgz#c183f2f28c4c8578eb80aebc4ac9ace400160af6" + integrity sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ== dependencies: - "@typescript-eslint/typescript-estree" "5.62.0" - "@typescript-eslint/utils" "5.62.0" + "@typescript-eslint/typescript-estree" "7.14.1" + "@typescript-eslint/utils" "7.14.1" debug "^4.3.4" - tsutils "^3.21.0" + ts-api-utils "^1.3.0" -"@typescript-eslint/types@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" - integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== +"@typescript-eslint/types@7.14.1", "@typescript-eslint/types@^7.2.0": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.14.1.tgz#a43a540dbe5df7f2a11269683d777fc50b4350aa" + integrity sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg== -"@typescript-eslint/typescript-estree@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" - integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== +"@typescript-eslint/typescript-estree@7.14.1": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.14.1.tgz#ba7c9bac8744487749d19569e254d057754a1575" + integrity sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA== dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" + "@typescript-eslint/types" "7.14.1" + "@typescript-eslint/visitor-keys" "7.14.1" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" -"@typescript-eslint/utils@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" - integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== +"@typescript-eslint/utils@7.14.1": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.14.1.tgz#3307b8226f99103dca2133d0ebcae38419d82c9d" + integrity sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ== dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" - integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== - dependencies: - "@typescript-eslint/types" "5.62.0" - eslint-visitor-keys "^3.3.0" + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "7.14.1" + "@typescript-eslint/types" "7.14.1" + "@typescript-eslint/typescript-estree" "7.14.1" + +"@typescript-eslint/visitor-keys@7.14.1": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.14.1.tgz#cc79b5ea154aea734b2a13b983670749f5742274" + integrity sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA== + dependencies: + "@typescript-eslint/types" "7.14.1" + eslint-visitor-keys "^3.4.3" "@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0": version "1.2.0" @@ -481,6 +524,11 @@ acorn-walk@^8.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== +acorn@^8.12.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.0.tgz#1627bfa2e058148036133b8d9b51a700663c294c" + integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw== + acorn@^8.4.1: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" @@ -639,10 +687,10 @@ arrify@^1.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== +assertion-error@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" + integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== available-typed-arrays@^1.0.5: version "1.0.5" @@ -691,6 +739,16 @@ browser-stdout@1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== +browserslist@^4.23.0: + version "4.23.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.1.tgz#ce4af0534b3d37db5c1a4ca98b9080f985041e96" + integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw== + dependencies: + caniuse-lite "^1.0.30001629" + electron-to-chromium "^1.4.796" + node-releases "^2.0.14" + update-browserslist-db "^1.0.16" + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -701,10 +759,10 @@ builtin-modules@^3.3.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== -c8@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/c8/-/c8-9.1.0.tgz#0e57ba3ab9e5960ab1d650b4a86f71e53cb68112" - integrity sha512-mBWcT5iqNir1zIkzSPyI3NCR9EZCVI3WUD+AVO17MVWTSFNyUueXE82qTeampNtTr+ilN/5Ua3j24LgbCKjDVg== +c8@^10.1.2: + version "10.1.2" + resolved "https://registry.yarnpkg.com/c8/-/c8-10.1.2.tgz#7fe04ced150316e2a623612ab78378289f7e6a9f" + integrity sha512-Qr6rj76eSshu5CgRYvktW0uM0CFY0yi4Fd5D0duDXO6sYinyopmftUiJVuzBQxQcwQLor7JWDVRP+dUfCmzgJw== dependencies: "@bcoe/v8-coverage" "^0.2.3" "@istanbuljs/schema" "^0.1.3" @@ -713,7 +771,7 @@ c8@^9.1.0: istanbul-lib-coverage "^3.2.0" istanbul-lib-report "^3.0.1" istanbul-reports "^3.1.6" - test-exclude "^6.0.0" + test-exclude "^7.0.1" v8-to-istanbul "^9.0.0" yargs "^17.7.2" yargs-parser "^21.1.1" @@ -755,25 +813,33 @@ camelcase@^6.0.0, camelcase@^6.3.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -chai-as-promised@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0" - integrity sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA== +caniuse-lite@^1.0.30001629: + version "1.0.30001638" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001638.tgz#598e1f0c2ac36f37ebc3f5b8887a32ca558e5d56" + integrity sha512-5SuJUJ7cZnhPpeLHaH0c/HPAnAHZvS6ElWyHK9GSIbVOQABLzowiI2pjmpvZ1WEbkyz46iFd4UXlOHR5SqgfMQ== + +ccount@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" + integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== + +chai-as-promised@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-8.0.0.tgz#7eda823f2a6fe9fd3a76bc76878886e955232e6f" + integrity sha512-sMsGXTrS3FunP/wbqh/KxM8Kj/aLPXQGkNtvE5wPfSToq8wkkvBpTZo1LIiEVmC4BwkKpag+l5h/20lBMk6nUg== dependencies: - check-error "^1.0.2" + check-error "^2.0.0" -chai@^4.3.10: - version "4.3.10" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.10.tgz#d784cec635e3b7e2ffb66446a63b4e33bd390384" - integrity sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g== +chai@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/chai/-/chai-5.1.1.tgz#f035d9792a22b481ead1c65908d14bb62ec1c82c" + integrity sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA== dependencies: - assertion-error "^1.1.0" - check-error "^1.0.3" - deep-eql "^4.1.3" - get-func-name "^2.0.2" - loupe "^2.3.6" - pathval "^1.1.1" - type-detect "^4.0.8" + assertion-error "^2.0.1" + check-error "^2.1.1" + deep-eql "^5.0.1" + loupe "^3.1.0" + pathval "^2.0.0" chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" @@ -797,19 +863,32 @@ chalk@^5.0.0: resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== +character-entities-html4@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" + integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== + +character-entities-legacy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" + integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== + character-entities@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== -check-error@^1.0.2, check-error@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" - integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== - dependencies: - get-func-name "^2.0.2" +character-reference-invalid@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" + integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== + +check-error@^2.0.0, check-error@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" + integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== -chokidar@3.5.3, chokidar@^3.0.0: +chokidar@^3.0.0: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -824,10 +903,25 @@ chokidar@3.5.3, chokidar@^3.0.0: optionalDependencies: fsevents "~2.3.2" -ci-info@^3.8.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== +chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +ci-info@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.0.0.tgz#65466f8b280fc019b9f50a5388115d17a63a44f2" + integrity sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg== clean-regexp@^1.0.0: version "1.0.0" @@ -861,6 +955,11 @@ cliui@^8.0.1: strip-ansi "^6.0.1" wrap-ansi "^7.0.0" +collapse-white-space@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca" + integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -890,10 +989,10 @@ comma-separated-tokens@^2.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== -comment-parser@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.4.0.tgz#0f8c560f59698193854f12884c20c0e39a26d32c" - integrity sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw== +comment-parser@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.4.1.tgz#bdafead37961ac079be11eb7ec65c4d021eaf9cc" + integrity sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg== concat-map@0.0.1: version "0.0.1" @@ -920,6 +1019,13 @@ convert-source-map@^1.6.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== +core-js-compat@^3.37.0: + version "3.37.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.1.tgz#c844310c7852f4bdf49b8d339730b97e17ff09ee" + integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== + dependencies: + browserslist "^4.23.0" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -989,12 +1095,10 @@ decode-named-character-reference@^1.0.0: dependencies: character-entities "^2.0.0" -deep-eql@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" - integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== - dependencies: - type-detect "^4.0.0" +deep-eql@^5.0.1: + version "5.0.2" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" + integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== deep-is@^0.1.3: version "0.1.4" @@ -1027,7 +1131,7 @@ define-properties@^1.2.0: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -del-cli@5.1.0: +del-cli@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/del-cli/-/del-cli-5.1.0.tgz#740eca1c7a9eb13043e68d8a361cf0ff9a18d5c8" integrity sha512-xwMeh2acluWeccsfzE7VLsG3yTr7nWikbfw+xhMnpRrF15pGSkw+3/vJZWlGoE4I86UiLRNHicmKt4tkIX9Jtg== @@ -1054,7 +1158,7 @@ dequal@^2.0.0: resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== -devlop@^1.0.0: +devlop@^1.0.0, devlop@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== @@ -1071,11 +1175,6 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -diff@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" - integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -1102,6 +1201,11 @@ eastasianwidth@^0.2.0: resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== +electron-to-chromium@^1.4.796: + version "1.4.815" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.815.tgz#e901b195c57c3e0fae8dc6d596e4188a33c3e82c" + integrity sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg== + emoji-regex@^10.2.1: version "10.3.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" @@ -1217,6 +1321,11 @@ es-abstract@^1.22.1: unbox-primitive "^1.0.2" which-typed-array "^1.1.13" +es-module-lexer@^1.5.3: + version "1.5.4" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" + integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== + es-set-tostringtag@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" @@ -1247,6 +1356,11 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" @@ -1262,10 +1376,10 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -eslint-config-prettier@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz#eb25485946dd0c66cd216a46232dc05451518d1f" - integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw== +eslint-config-prettier@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" + integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== eslint-import-resolver-node@^0.3.9: version "0.3.9" @@ -1304,10 +1418,10 @@ eslint-plugin-es@^3.0.0: eslint-utils "^2.0.0" regexpp "^3.0.0" -eslint-plugin-import@^2.29.0: - version "2.29.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz#8133232e4329ee344f2f612885ac3073b0b7e155" - integrity sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg== +eslint-plugin-import@^2.29.1: + version "2.29.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" + integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== dependencies: array-includes "^3.1.7" array.prototype.findlastindex "^1.2.3" @@ -1325,22 +1439,23 @@ eslint-plugin-import@^2.29.0: object.groupby "^1.0.1" object.values "^1.1.7" semver "^6.3.1" - tsconfig-paths "^3.14.2" + tsconfig-paths "^3.15.0" -eslint-plugin-jsdoc@^46.8.2: - version "46.8.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.8.2.tgz#3e6b1c93e91e38fe01874d45da121b56393c54a5" - integrity sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ== +eslint-plugin-jsdoc@^48.5.0: + version "48.5.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.5.0.tgz#24e2026d1e7ba97214ee21bb16fd5162cd6487c8" + integrity sha512-ukXPNpGby3KjCveCizIS8t1EbuJEHYEu/tBg8GCbn/YbHcXwphyvYCdvRZ/oMRfTscGSSzfsWoZ+ZkAP0/6YMQ== dependencies: - "@es-joy/jsdoccomment" "~0.40.1" + "@es-joy/jsdoccomment" "~0.43.1" are-docs-informative "^0.0.2" - comment-parser "1.4.0" + comment-parser "1.4.1" debug "^4.3.4" escape-string-regexp "^4.0.0" esquery "^1.5.0" - is-builtin-module "^3.2.1" - semver "^7.5.4" - spdx-expression-parse "^3.0.1" + parse-imports "^2.1.0" + semver "^7.6.2" + spdx-expression-parse "^4.0.0" + synckit "^0.9.0" eslint-plugin-node@^11.1.0: version "11.1.0" @@ -1354,15 +1469,17 @@ eslint-plugin-node@^11.1.0: resolve "^1.10.1" semver "^6.1.0" -eslint-plugin-unicorn@^49.0.0: - version "49.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-49.0.0.tgz#4449ea954d7e1455eec8518f9417d7021b245fa8" - integrity sha512-0fHEa/8Pih5cmzFW5L7xMEfUTvI9WKeQtjmKpTUmY+BiFCDxkxrTdnURJOHKykhtwIeyYsxnecbGvDCml++z4Q== +eslint-plugin-unicorn@^54.0.0: + version "54.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-54.0.0.tgz#ce3ea853e8fd7ca2bda2fd6065bf065adb5d8b6d" + integrity sha512-XxYLRiYtAWiAjPv6z4JREby1TAE2byBC7wlh0V4vWDCpccOSU1KovWV//jqPXF6bq3WKxqX9rdjoRQ1EhdmNdQ== dependencies: - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-validator-identifier" "^7.24.5" "@eslint-community/eslint-utils" "^4.4.0" - ci-info "^3.8.0" + "@eslint/eslintrc" "^3.0.2" + ci-info "^4.0.0" clean-regexp "^1.0.0" + core-js-compat "^3.37.0" esquery "^1.5.0" indent-string "^4.0.0" is-builtin-module "^3.2.1" @@ -1371,17 +1488,9 @@ eslint-plugin-unicorn@^49.0.0: read-pkg-up "^7.0.1" regexp-tree "^0.1.27" regjsparser "^0.10.0" - semver "^7.5.4" + semver "^7.6.1" strip-indent "^3.0.0" -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - eslint-scope@^7.2.2: version "7.2.2" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" @@ -1407,6 +1516,11 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== +eslint-visitor-keys@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb" + integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== + eslint@^8.57.0: version "8.57.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" @@ -1451,6 +1565,15 @@ eslint@^8.57.0: strip-ansi "^6.0.1" text-table "^0.2.0" +espree@^10.0.1: + version "10.1.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56" + integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== + dependencies: + acorn "^8.12.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.0.0" + espree@^9.6.0, espree@^9.6.1: version "9.6.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" @@ -1474,11 +1597,6 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" @@ -1649,7 +1767,7 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-func-name@^2.0.1, get-func-name@^2.0.2: +get-func-name@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== @@ -1702,17 +1820,16 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob@7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== +glob@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^5.0.1" once "^1.3.0" - path-is-absolute "^1.0.0" glob@^10.0.0: version "10.3.10" @@ -1725,7 +1842,19 @@ glob@^10.0.0: minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-scurry "^1.10.1" -glob@^7.1.3, glob@^7.1.4: +glob@^10.4.1: + version "10.4.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.2.tgz#bed6b95dade5c1f80b4434daced233aee76160e5" + integrity sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + +glob@^7.1.3: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -1754,6 +1883,11 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" +globals@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== + globalthis@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" @@ -1891,6 +2025,11 @@ ignore@^5.0.0, ignore@^5.1.1, ignore@^5.2.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== +ignore@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -1904,10 +2043,10 @@ import-meta-resolve@^2.0.0: resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz#75237301e72d1f0fbd74dbc6cca9324b164c2cc9" integrity sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA== -import-meta-resolve@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-3.0.0.tgz#94a6aabc623874fbc2f3525ec1300db71c6cbc11" - integrity sha512-4IwhLhNNA8yy445rPjD/lWh++7hMDOml2eHtd58eG7h+qK3EryMuuRbsHGPikCoAgIkkDnckKfWSk2iDla/ejg== +import-meta-resolve@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz#f9db8bead9fafa61adb811db77a2bf22c5399706" + integrity sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw== imurmurhash@^0.1.4: version "0.1.4" @@ -1951,6 +2090,19 @@ internal-slot@^1.0.5: has "^1.0.3" side-channel "^1.0.4" +is-alphabetical@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" + integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== + +is-alphanumerical@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" + integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== + dependencies: + is-alphabetical "^2.0.0" + is-decimal "^2.0.0" + is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" @@ -1987,11 +2139,6 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - is-builtin-module@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" @@ -2018,6 +2165,11 @@ is-date-object@^1.0.1: dependencies: has-tostringtag "^1.0.0" +is-decimal@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" + integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== + is-empty@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/is-empty/-/is-empty-1.2.0.tgz#de9bb5b278738a05a0b09a57e1fb4d4a341a9f6b" @@ -2040,6 +2192,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-hexadecimal@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" + integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== + is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" @@ -2187,6 +2344,15 @@ jackspeak@^2.3.5: optionalDependencies: "@pkgjs/parseargs" "^0.11.0" +jackspeak@^3.1.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.0.tgz#a75763ff36ad778ede6a156d8ee8b124de445b4a" + integrity sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -2256,11 +2422,6 @@ kind-of@^6.0.3: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -kleur@^4.0.3: - version "4.1.5" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" - integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -2329,13 +2490,18 @@ longest-streak@^3.0.0: resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== -loupe@^2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" - integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== +loupe@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.1.tgz#71d038d59007d890e3247c5db97c1ec5a92edc54" + integrity sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw== dependencies: get-func-name "^2.0.1" +lru-cache@^10.2.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.3.0.tgz#4a4aaf10c84658ab70f79a85a9a3f1e1fb11196b" + integrity sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ== + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -2380,31 +2546,27 @@ markdown-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz#34bebc83e9938cae16e0e017e4a9814a8330d3c4" integrity sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q== -mdast-comment-marker@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/mdast-comment-marker/-/mdast-comment-marker-2.1.2.tgz#48ae16a49574bb22b489d04365ca3b1b5173f0da" - integrity sha512-HED3ezseRVkBzZ0uK4q6RJMdufr/2p3VfVZstE3H1N9K8bwtspztWo6Xd7rEatuGNoCXaBna8oEqMwUn0Ve1bw== +mdast-comment-marker@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-comment-marker/-/mdast-comment-marker-3.0.0.tgz#8233f27c985ac7be53678ecb453dd9648fa1b5c5" + integrity sha512-bt08sLmTNg00/UtVDiqZKocxqvQqqyQZAg1uaRuO/4ysXV5motg7RolF5o5yy/sY1rG0v2XgZEqFWho1+2UquA== dependencies: - "@types/mdast" "^3.0.0" - mdast-util-mdx-expression "^1.1.0" + "@types/mdast" "^4.0.0" + mdast-util-mdx-expression "^2.0.0" -mdast-util-from-markdown@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz#0214124154f26154a2b3f9d401155509be45e894" - integrity sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g== +mdast-util-directive@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz#3fb1764e705bbdf0afb0d3f889e4404c3e82561f" + integrity sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q== dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - decode-named-character-reference "^1.0.0" - mdast-util-to-string "^3.1.0" - micromark "^3.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-decode-string "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - unist-util-stringify-position "^3.0.0" - uvu "^0.5.0" + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + parse-entities "^4.0.0" + stringify-entities "^4.0.0" + unist-util-visit-parents "^6.0.0" mdast-util-from-markdown@^2.0.0: version "2.0.0" @@ -2424,31 +2586,66 @@ mdast-util-from-markdown@^2.0.0: micromark-util-types "^2.0.0" unist-util-stringify-position "^4.0.0" -mdast-util-heading-style@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-heading-style/-/mdast-util-heading-style-2.0.1.tgz#078cb0120a06af777c60413f7ba10f6d071b4672" - integrity sha512-0L5rthU4xKDVbw+UQ7D8Y8xOEsX4JXZvemWoEAsL+WAaeSH+TvVVwFnTb3G/OrjyP4VYQULoNWU+PdZfkmNu4A== +mdast-util-heading-style@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-heading-style/-/mdast-util-heading-style-3.0.0.tgz#f1a02b2d0950e8535713f54de5ee0eea82413f51" + integrity sha512-tsUfM9Kj9msjlemA/38Z3pvraQay880E3zP2NgIthMoGcpU9bcPX9oSM6QC/+eFXGGB4ba+VCB1dKAPHB7Veug== dependencies: - "@types/mdast" "^3.0.0" + "@types/mdast" "^4.0.0" -mdast-util-mdx-expression@^1.1.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz#d027789e67524d541d6de543f36d51ae2586f220" - integrity sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA== +mdast-util-mdx-expression@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz#4968b73724d320a379110d853e943a501bfd9d87" + integrity sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw== dependencies: "@types/estree-jsx" "^1.0.0" - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-from-markdown "^1.0.0" - mdast-util-to-markdown "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" -mdast-util-phrasing@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz#c7c21d0d435d7fb90956038f02e8702781f95463" - integrity sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg== +mdast-util-mdx-jsx@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz#daae777c72f9c4a106592e3025aa50fb26068e1b" + integrity sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + ccount "^2.0.0" + devlop "^1.1.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + parse-entities "^4.0.0" + stringify-entities "^4.0.0" + unist-util-remove-position "^5.0.0" + unist-util-stringify-position "^4.0.0" + vfile-message "^4.0.0" + +mdast-util-mdx@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz#792f9cf0361b46bee1fdf1ef36beac424a099c41" + integrity sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w== + dependencies: + mdast-util-from-markdown "^2.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-mdxjs-esm@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz#019cfbe757ad62dd557db35a695e7314bcc9fa97" + integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== dependencies: - "@types/mdast" "^3.0.0" - unist-util-is "^5.0.0" + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" mdast-util-phrasing@^4.0.0: version "4.0.0" @@ -2458,20 +2655,6 @@ mdast-util-phrasing@^4.0.0: "@types/mdast" "^4.0.0" unist-util-is "^6.0.0" -mdast-util-to-markdown@^1.0.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz#c13343cb3fc98621911d33b5cd42e7d0731171c6" - integrity sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - longest-streak "^3.0.0" - mdast-util-phrasing "^3.0.0" - mdast-util-to-string "^3.0.0" - micromark-util-decode-string "^1.0.0" - unist-util-visit "^4.0.0" - zwitch "^2.0.0" - mdast-util-to-markdown@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz#9813f1d6e0cdaac7c244ec8c6dabfdb2102ea2b4" @@ -2486,13 +2669,6 @@ mdast-util-to-markdown@^2.0.0: unist-util-visit "^5.0.0" zwitch "^2.0.0" -mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz#db859050d79d48cf9896d294de06f3ede7474d16" - integrity sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814" @@ -2533,28 +2709,6 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromark-core-commonmark@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz#edff4c72e5993d93724a3c206970f5a15b0585ad" - integrity sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-factory-destination "^1.0.0" - micromark-factory-label "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-factory-title "^1.0.0" - micromark-factory-whitespace "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-classify-character "^1.0.0" - micromark-util-html-tag-name "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" - micromark-core-commonmark@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz#50740201f0ee78c12a675bf3e68ffebc0bf931a3" @@ -2577,15 +2731,6 @@ micromark-core-commonmark@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-factory-destination@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz#fef1cb59ad4997c496f887b6977aa3034a5a277e" - integrity sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - micromark-factory-destination@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz#857c94debd2c873cba34e0445ab26b74f6a6ec07" @@ -2595,16 +2740,6 @@ micromark-factory-destination@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-factory-label@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz#6be2551fa8d13542fcbbac478258fb7a20047137" - integrity sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - micromark-factory-label@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz#17c5c2e66ce39ad6f4fc4cbf40d972f9096f726a" @@ -2615,14 +2750,6 @@ micromark-factory-label@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-factory-space@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz#cebff49968f2b9616c0fcb239e96685cb9497633" - integrity sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-types "^1.0.0" - micromark-factory-space@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz#5e7afd5929c23b96566d0e1ae018ae4fcf81d030" @@ -2631,17 +2758,6 @@ micromark-factory-space@^2.0.0: micromark-util-character "^2.0.0" micromark-util-types "^2.0.0" -micromark-factory-title@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz#7e09287c3748ff1693930f176e1c4a328382494f" - integrity sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - micromark-factory-title@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz#726140fc77892af524705d689e1cf06c8a83ea95" @@ -2652,16 +2768,6 @@ micromark-factory-title@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-factory-whitespace@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz#e991e043ad376c1ba52f4e49858ce0794678621c" - integrity sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - micromark-factory-whitespace@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz#9e92eb0f5468083381f923d9653632b3cfb5f763" @@ -2672,14 +2778,6 @@ micromark-factory-whitespace@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-util-character@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.1.0.tgz#d97c54d5742a0d9611a68ca0cd4124331f264d86" - integrity sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - micromark-util-character@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.0.1.tgz#52b824c2e2633b6fb33399d2ec78ee2a90d6b298" @@ -2688,13 +2786,6 @@ micromark-util-character@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-util-chunked@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz#5b40d83f3d53b84c4c6bce30ed4257e9a4c79d06" - integrity sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-chunked@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz#e51f4db85fb203a79dbfef23fd41b2f03dc2ef89" @@ -2702,15 +2793,6 @@ micromark-util-chunked@^2.0.0: dependencies: micromark-util-symbol "^2.0.0" -micromark-util-classify-character@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz#cbd7b447cb79ee6997dd274a46fc4eb806460a20" - integrity sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - micromark-util-classify-character@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz#8c7537c20d0750b12df31f86e976d1d951165f34" @@ -2720,14 +2802,6 @@ micromark-util-classify-character@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-util-combine-extensions@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz#91418e1e74fb893e3628b8d496085639124ff3d5" - integrity sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA== - dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-types "^1.0.0" - micromark-util-combine-extensions@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz#75d6ab65c58b7403616db8d6b31315013bfb7ee5" @@ -2736,13 +2810,6 @@ micromark-util-combine-extensions@^2.0.0: micromark-util-chunked "^2.0.0" micromark-util-types "^2.0.0" -micromark-util-decode-numeric-character-reference@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz#dcc85f13b5bd93ff8d2868c3dba28039d490b946" - integrity sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-decode-numeric-character-reference@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.0.tgz#a798808d02cc74113e2c939fc95363096ade7f1d" @@ -2750,16 +2817,6 @@ micromark-util-decode-numeric-character-reference@^2.0.0: dependencies: micromark-util-symbol "^2.0.0" -micromark-util-decode-string@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz#942252ab7a76dec2dbf089cc32505ee2bc3acf02" - integrity sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-decode-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz#7dfa3a63c45aecaa17824e656bcdb01f9737154a" @@ -2770,33 +2827,16 @@ micromark-util-decode-string@^2.0.0: micromark-util-decode-numeric-character-reference "^2.0.0" micromark-util-symbol "^2.0.0" -micromark-util-encode@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz#2c1c22d3800870ad770ece5686ebca5920353383" - integrity sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA== - micromark-util-encode@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz#0921ac7953dc3f1fd281e3d1932decfdb9382ab1" integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA== -micromark-util-html-tag-name@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz#eb227118befd51f48858e879b7a419fc0df20497" - integrity sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA== - micromark-util-html-tag-name@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz#ae34b01cbe063363847670284c6255bb12138ec4" integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw== -micromark-util-normalize-identifier@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz#4a3539cb8db954bbec5203952bfe8cedadae7828" - integrity sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-normalize-identifier@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz#91f9a4e65fe66cc80c53b35b0254ad67aa431d8b" @@ -2804,13 +2844,6 @@ micromark-util-normalize-identifier@^2.0.0: dependencies: micromark-util-symbol "^2.0.0" -micromark-util-resolve-all@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz#a7c363f49a0162e931960c44f3127ab58f031d88" - integrity sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw== - dependencies: - micromark-util-types "^1.0.0" - micromark-util-resolve-all@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz#189656e7e1a53d0c86a38a652b284a252389f364" @@ -2818,15 +2851,6 @@ micromark-util-resolve-all@^2.0.0: dependencies: micromark-util-types "^2.0.0" -micromark-util-sanitize-uri@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz#f12e07a85106b902645e0364feb07cf253a85aee" - integrity sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-sanitize-uri@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz#ec8fbf0258e9e6d8f13d9e4770f9be64342673de" @@ -2836,16 +2860,6 @@ micromark-util-sanitize-uri@^2.0.0: micromark-util-encode "^2.0.0" micromark-util-symbol "^2.0.0" -micromark-util-subtokenize@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz#ff6f1af6ac836f8bfdbf9b02f40431760ad89105" - integrity sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA== - dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - micromark-util-subtokenize@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz#9f412442d77e0c5789ffdf42377fa8a2bcbdf581" @@ -2856,49 +2870,16 @@ micromark-util-subtokenize@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-util-symbol@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz#b90344db62042ce454f351cf0bebcc0a6da4920e" - integrity sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ== - micromark-util-symbol@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz#12225c8f95edf8b17254e47080ce0862d5db8044" integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== -micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.0.2.tgz#f4220fdb319205812f99c40f8c87a9be83eded20" - integrity sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w== - micromark-util-types@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.0.tgz#63b4b7ffeb35d3ecf50d1ca20e68fc7caa36d95e" integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== -micromark@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.1.0.tgz#eeba0fe0ac1c9aaef675157b52c166f125e89f62" - integrity sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA== - dependencies: - "@types/debug" "^4.0.0" - debug "^4.0.0" - decode-named-character-reference "^1.0.0" - micromark-core-commonmark "^1.0.1" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-combine-extensions "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-sanitize-uri "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" - micromark@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.0.tgz#84746a249ebd904d9658cfabc1e8e5f32cbc6249" @@ -2954,6 +2935,13 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + minimatch@^7.4.1, minimatch@^7.4.2: version "7.4.3" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.3.tgz#012cbf110a65134bb354ae9773b55256cdb045a2" @@ -2968,6 +2956,13 @@ minimatch@^9.0.1: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -2992,25 +2987,29 @@ minipass@^4.0.2, minipass@^4.2.4: resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== -mocha@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" - integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== +minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + +mocha@^10.5.2: + version "10.5.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.5.2.tgz#0a3481fb67c0a7fc144a909b2d6a9fec35ec5989" + integrity sha512-9btlN3JKCefPf+vKd/kcKz2SXxi12z6JswkGfaAF0saQvnsqLJk504ZmbxhSoENge08E9dsymozKgFMTl5PQsA== dependencies: ansi-colors "4.1.1" browser-stdout "1.3.1" - chokidar "3.5.3" + chokidar "^3.5.3" debug "4.3.4" diff "5.0.0" escape-string-regexp "4.0.0" find-up "5.0.0" - glob "7.2.0" + glob "8.1.0" he "1.2.0" js-yaml "4.1.0" log-symbols "4.1.0" minimatch "5.0.1" ms "2.1.3" - nanoid "3.3.3" serialize-javascript "6.0.0" strip-json-comments "3.1.1" supports-color "8.1.1" @@ -3019,11 +3018,6 @@ mocha@^10.2.0: yargs-parser "20.2.4" yargs-unparser "2.0.0" -mri@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== - ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" @@ -3034,16 +3028,6 @@ ms@2.1.3, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nanoid@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" - integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== - -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -3054,6 +3038,11 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + nopt@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.1.0.tgz#91f6a3366182176e72ecab93a09c19b63b485f28" @@ -3218,6 +3207,11 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +package-json-from-dist@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" + integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -3225,6 +3219,28 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-entities@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.1.tgz#4e2a01111fb1c986549b944af39eeda258fc9e4e" + integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w== + dependencies: + "@types/unist" "^2.0.0" + character-entities "^2.0.0" + character-entities-legacy "^3.0.0" + character-reference-invalid "^2.0.0" + decode-named-character-reference "^1.0.0" + is-alphanumerical "^2.0.0" + is-decimal "^2.0.0" + is-hexadecimal "^2.0.0" + +parse-imports@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/parse-imports/-/parse-imports-2.1.0.tgz#22a152f4503da34e8fb89c902383895f59e93d2d" + integrity sha512-JQWgmK2o4w8leUkZeZPatWdAny6vXGU/3siIUvMF6J2rDCud9aTt8h/px9oZJ6U3EcfhngBJ635uPFI0q0VAeA== + dependencies: + es-module-lexer "^1.5.3" + slashes "^3.0.12" + parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -3287,6 +3303,14 @@ path-scurry@^1.10.1: lru-cache "^9.1.1 || ^10.0.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry@^1.6.1: version "1.6.3" resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.6.3.tgz#4eba7183d64ef88b63c7d330bddc3ba279dc6c40" @@ -3307,16 +3331,21 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== +pathval@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" + integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== peek-readable@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-5.0.0.tgz#7ead2aff25dc40458c60347ea76cfdfd63efdfec" integrity sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A== +picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" @@ -3342,10 +3371,10 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prettier@^3.2.5: - version "3.2.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" - integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== +prettier@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" + integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== proc-log@^3.0.0: version "3.0.0" @@ -3367,6 +3396,11 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== +quotation@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/quotation/-/quotation-2.0.3.tgz#b94c05128209a63b40b4e20e0f8f1a38adea7e0b" + integrity sha512-yEc24TEgCFLXx7D4JHJJkK4JFVtatO8fziwUxY4nB/Jbea9o9CVS3gt22mA0W7rPYAGW2fWzYDSOtD94PwOyqA== + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -3495,529 +3529,519 @@ regjsparser@^0.10.0: dependencies: jsesc "~0.5.0" -remark-cli@^12.0.0: - version "12.0.0" - resolved "https://registry.yarnpkg.com/remark-cli/-/remark-cli-12.0.0.tgz#13919d1acf18028c3776f01a2e7cc1eb95b8b93a" - integrity sha512-IGxCo2VsXC/GS2YdlF7+S8DsUiyULyiauik01NFoiMIrOlbDhXjrKLD8hYazwQdD67nw2k7cwOBIxcK/cbNd9Q== +remark-cli@^12.0.1: + version "12.0.1" + resolved "https://registry.yarnpkg.com/remark-cli/-/remark-cli-12.0.1.tgz#991ede01adfdf0471177c381168105da4b93f99a" + integrity sha512-2NAEOACoTgo+e+YAaCTODqbrWyhMVmlUyjxNCkTrDRHHQvH6+NbrnqVvQaLH/Q8Ket3v90A43dgAJmXv8y5Tkw== dependencies: - import-meta-resolve "^3.0.0" + import-meta-resolve "^4.0.0" markdown-extensions "^2.0.0" remark "^15.0.0" unified-args "^11.0.0" -remark-lint-blockquote-indentation@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-3.1.2.tgz#0d35b4da3731eb4885ea0e794e60d8ede8e1f78a" - integrity sha512-5DOrFsZd5dXqA4p/VZvWSrqIWNFbBXjX7IV/FkVkxlNhNF/0FMf/4v8x1I2W3mzaZ7yDsWS/egpZnmligq1ckQ== +remark-lint-blockquote-indentation@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-4.0.0.tgz#8b3860881c224d8e3f017ec516acf37dd2df1c03" + integrity sha512-hdUvn+KsJbBKpY9jLY01PmfpJ/WGhLu9GJMXQGU8ADXJc+F5DWSgKAr6GQ1IUKqvGYdEML/KZ61WomWFUuecVA== dependencies: - "@types/mdast" "^3.0.0" + "@types/mdast" "^4.0.0" + mdast-util-phrasing "^4.0.0" pluralize "^8.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" -remark-lint-code-block-style@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-code-block-style/-/remark-lint-code-block-style-3.1.2.tgz#5f2ba66240a1c890ebe7a5f84496029a67cff929" - integrity sha512-3wsWmzzdyEsB9sOzBOf46TSkwwVKXN2JpTEQb6feN0Tl6Vg75F7T9MHqMz7aqk/56bOXSxUzdpXDscGBhziLRA== +remark-lint-code-block-style@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-code-block-style/-/remark-lint-code-block-style-4.0.0.tgz#cd85582e11a5182fcbca59a1591e39c6867d2bcc" + integrity sha512-LKBKMVruEO0tzDnnnqi1TfUcnwY6Mo7cVtZM4E4pKt3KMhtvgU2wD68/MxDOEJd0pmnLrEgIadv74bY0gWhZpg== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-phrasing "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-definition-case@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-definition-case/-/remark-lint-definition-case-3.1.2.tgz#45c2810fb751ee821e31d6ab0614c25f5ac61314" - integrity sha512-/VxucJKEFykOe2ILgi0LLia0RaSyOPQXpR+tuX4MK3iKxIm7aT2oINgR9ugLpI15xJ463LyTi5mXf+BGveXeWA== +remark-lint-definition-case@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-definition-case/-/remark-lint-definition-case-4.0.0.tgz#28048d2e75c890bd18e6cc6f7bb9a0e29783566b" + integrity sha512-XBmMmj8ii0KZUuJf7ZaVXDGp2+DWE02re9qn/6mV23rBpsDmpz7U1lQWRlwFQIE5q5bxIxP5pX7hDeTH0Egy9Q== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-phrasing "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-visit-parents "^6.0.0" -remark-lint-definition-spacing@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-definition-spacing/-/remark-lint-definition-spacing-3.1.2.tgz#8055497c0b293fa0a803f1a156d555e340fd4dc3" - integrity sha512-l058jAKfZfCOmlbIzoTll+CrZm9Bh42ZVCHcODPSZC8Yx4terCKgIoks+RWJDEdUbEw0YQoYvPc59ZVmp3BIew== +remark-lint-definition-spacing@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-definition-spacing/-/remark-lint-definition-spacing-4.0.0.tgz#c12a74bb079efc27d57a852337d87cc42ddc7e50" + integrity sha512-t6nP8unz6z/DLBTWeOmDFHPFbX3E2PbNgt2fTazRbVnMC6z3o25hBzg5hI6DL0MPt2ZTRX++rJsGRjb+vgh/tQ== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + longest-streak "^3.0.0" + mdast-util-phrasing "^4.0.0" + pluralize "^8.0.0" + unified-lint-rule "^3.0.0" + unist-util-visit-parents "^6.0.0" -remark-lint-emphasis-marker@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-emphasis-marker/-/remark-lint-emphasis-marker-3.1.2.tgz#f86034ce0641fcf38590a4cd83e310d491be6390" - integrity sha512-hPZ8vxZrIfxmLA5B66bA8y3PdHjcCQuaLsySIqi5PM2DkpN6a7zAP3v1znyRSaYJ1ANVWcu00/0bNzuUjflGCA== +remark-lint-emphasis-marker@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-emphasis-marker/-/remark-lint-emphasis-marker-4.0.0.tgz#9d2f6515116479641ec6e602e3c8e7276a81c165" + integrity sha512-xIRiB4PFWUOyIslN/UOPL6Lh+J0VD4R11+jo+W4hpGMNsg58l+2SgtdbinlXzDeoBxmaaka9n/sYpJ7cJWEIPQ== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-fenced-code-flag@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-3.1.2.tgz#a7b8040cdc78414f5fe742e2a28b6ef5dac14a79" - integrity sha512-yh4m3dlPmRsqM/BFhpqHYfrmBvFQ+D5dZZKDDYP2rf3YEoXlEVt8T8lWQueTTSxcq6yXAqL/XQL/iqqUHlLcHw== +remark-lint-fenced-code-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-4.0.0.tgz#32876ea1a53958fba1109c9d8ebe1e890b26f3d9" + integrity sha512-Zs0wJd4nRvBo/9NWQVfWg5Ykapbo0Zzw/SyZc3f0h73S1gTZZcfeU+bA5oDivlBdcUgLBsyHRE0QaoaVvN3/Wg== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-phrasing "^4.0.0" + quotation "^2.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" -remark-lint-fenced-code-marker@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-3.1.2.tgz#6ffdba7f311066e4e42fdefbcbdb54aca28b0bba" - integrity sha512-6XNqjOuhT+0c7Q/22aCsMz61ne9g8HRpYF79EXQPdbzYa+PcfPXMiQKStONY3PfC8OE2/3WXI2zcs8w9x+8+VQ== +remark-lint-fenced-code-marker@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-4.0.0.tgz#eb2587fdc7711fb890e646d5902761c54c2f88ce" + integrity sha512-WFN88Rx78m4/HSbW3Kx2XAYbVfzYns4bJd9qpwDD90DA3nc59zciYd01xi6Bk3n9vSs5gIlmG7xkwxVHHJ8KCA== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-phrasing "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-file-extension@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-file-extension/-/remark-lint-file-extension-2.1.2.tgz#691aad28b9002107c3dc78d29fbbd62fc3d650a3" - integrity sha512-Nq54F5R7F1gyj/IMW6SvkAbVNrH+p38WK3//KCoZLDUYFrH0oXgXXFGHi9CT/O0VEopW+bWJfTn8YAJRs0qI5Q== +remark-lint-file-extension@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-file-extension/-/remark-lint-file-extension-3.0.0.tgz#2277a9f6d57ea3a824d46487e88003fcea1d20ac" + integrity sha512-wrOKiGvcl/ftB7FkeX2/l13ALvhKXV77HGR8AXo86cVY2pD+K0WdOC52DV3ldgpUXpWzE9kcgF8bbkxwzKpFFg== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" + "@types/mdast" "^4.0.0" + quotation "^2.0.0" + unified-lint-rule "^3.0.0" -remark-lint-final-definition@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-final-definition/-/remark-lint-final-definition-3.1.2.tgz#9a147b456df3049b8f32570265736a6cfea19a5a" - integrity sha512-3O3JT6xqlrgq+UjhMPxshgMtwXn99w0BEO9JwbDls49N0XCu0n22Pq1n6X3tEVzskPLo3YYyVYfW2Z2C2rneKQ== +remark-lint-final-definition@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-final-definition/-/remark-lint-final-definition-4.0.1.tgz#3cdad27cdc03491666efdad24bf03469a70f33f4" + integrity sha512-51T9oSdA7wuhjSdgGo0snO1BY39Igt9cJQi7XpgtgFsbfQk8zSSAUAc/rLabY6+YCTpcPs6qmwvLXZ4mPX6Qlg== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-mdx "^3.0.0" + mdast-util-phrasing "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-hard-break-spaces@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-3.1.1.tgz#daaa6fbc9d08a0501dc6e3d4a844dc4783bdfaea" - integrity sha512-UfwFvESpX32qwyHJeluuUuRPWmxJDTkmjnWv2r49G9fC4Jrzm4crdJMs3sWsrGiQ3mSex6bgp/8rqDgtBng2IA== +remark-lint-hard-break-spaces@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-4.0.0.tgz#6392f242a4188b346ed196a6e8c6834af1a31c82" + integrity sha512-zCTq7/xfM0ZL3bMopXse9DH2nk38wE1LrxmYwnTrqASBLnEAJWE2U2//tRGVMEBfSAnNvmIo96twz6zkLWjbGA== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" -remark-lint-heading-increment@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-heading-increment/-/remark-lint-heading-increment-3.1.2.tgz#bef7e7cf8a6292b2869a0cb03944094504d984ad" - integrity sha512-+fMfZmFh6ie6MmbRCVW77Rha15zDmnHWKiA0Do08OTrfngPTv8ZKXYLmxhUpL+xV9ts9q+9Kz5rv0L4QD4sEwQ== +remark-lint-heading-increment@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-heading-increment/-/remark-lint-heading-increment-4.0.0.tgz#3dfe78334dfafc8e856e5396bc1f9f9ced36e441" + integrity sha512-TARnsjXWzY/yLwxh/y4+KnDSXO3Koue8Crp55T8G9pjj3vw+XgTAG35zSpIIY9HmGiQ2a3R0SOj2pAxATpnckg== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-mdx "^3.0.0" + unified-lint-rule "^3.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-heading-style@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-heading-style/-/remark-lint-heading-style-3.1.2.tgz#62a191d14889be41d8cc8c8e0a150b6249d74286" - integrity sha512-0RkcRPV/H2bPFgeInzBkK1cWUwtFTm83I+Db/Z5tDY02GzKOosHLvxtJyj/1391/opAH1LYbHtHWffir99IUgw== +remark-lint-heading-style@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-heading-style/-/remark-lint-heading-style-4.0.0.tgz#9c7b5b8fb210132ac2db8e541efc10569c2cef66" + integrity sha512-dQ6Jul5K0+aNUvrq4W7H0+osSoC9hsmwHZqBFq000+eMP/hWJqI8tuudw1rap8HHYuOsKLRbB5q+Fr7G+3Vw+Q== dependencies: - "@types/mdast" "^3.0.0" - mdast-util-heading-style "^2.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-heading-style "^3.0.0" + mdast-util-phrasing "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-link-title-style@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-link-title-style/-/remark-lint-link-title-style-3.1.2.tgz#c32d943ef5d0d2d3807e573786ecdae5c04787ee" - integrity sha512-if4MahYJVvQUWlrXDF8GSv4b9VtLSgMSDHeikQp1/hGYlihLl9uGw3nlL5Lf9DqTN0qaT6RPbXOjuuzHlk38sg== +remark-lint-link-title-style@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-link-title-style/-/remark-lint-link-title-style-4.0.0.tgz#4f78f9ba7178e095aa15b882e5ecdf720f05942a" + integrity sha512-cihTO5dkhjMj/evYIDAvRdQHD82OQeF4fNAq8FLb81HmFKo77VlSF6CK55H1bvlZogfJG58uN/5d1tSsOdcEbg== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" - vfile-location "^4.0.0" + "@types/mdast" "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-list-item-content-indent@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-list-item-content-indent/-/remark-lint-list-item-content-indent-3.1.2.tgz#ca9f2ebe58174ddb8da2bb7a1e767ad236d6992a" - integrity sha512-TB0pmrWiRaQW80Y/PILFQTnHDghRxXNzMwyawlP+DBF9gNom3pEBmb4ZlGQlN0aa3r8VWeIKdv1ylHrfXE0vqA== +remark-lint-list-item-content-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-list-item-content-indent/-/remark-lint-list-item-content-indent-4.0.0.tgz#2aa75671757ad9b183eec5a334e251d50de8c527" + integrity sha512-L4GZgWQQ54qWKbnDle3dbEOtnq+qdmZJ70lpM3yMFEMHs4xejqPKsIoiYeUtIV0rYHHCWS7IlLzcgYUK9vENQw== dependencies: - "@types/mdast" "^3.0.0" + "@types/mdast" "^4.0.0" + mdast-util-phrasing "^4.0.0" pluralize "^8.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-list-item-indent@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/remark-lint-list-item-indent/-/remark-lint-list-item-indent-3.1.1.tgz#1591d291a9f81c8f14219bdb63f226a5e9f271c3" - integrity sha512-OSTG64e52v8XBmmeT0lefpiAfCMYHJxMMUrMnhTjLVyWAbEO0vqqR5bLvfLwzK+P4nY2D/8XKku0hw35dM86Rw== +remark-lint-list-item-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-list-item-indent/-/remark-lint-list-item-indent-4.0.0.tgz#d72e7ef4c7ea238987e5475e33439b7efbe46389" + integrity sha512-Yd6/g8CH9e4vlPAPNgl7F575uKhP+pTo/qwGkE61GOcgEVNJ/529hjumUhyQ4sOAX0YAPAjxvq6fJvb4AhVOOA== dependencies: - "@types/mdast" "^3.0.0" + "@types/mdast" "^4.0.0" + mdast-util-phrasing "^4.0.0" pluralize "^8.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" -remark-lint-list-item-spacing@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-list-item-spacing/-/remark-lint-list-item-spacing-4.1.2.tgz#8366a288ee1560bc798e3e7e45d4ec36fe27c834" - integrity sha512-RHscGCa81PzcI09H0JAKXGyUiIMRTg5u4G8/p1zqnfEeOgG1R+87mLEJrOC9tUWGjuVoyd7T8Q2DMxg1Iep9ow== +remark-lint-list-item-spacing@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-list-item-spacing/-/remark-lint-list-item-spacing-5.0.0.tgz#a95a4b8824b3f50f5cd6d5a33f99275f63c04f4f" + integrity sha512-d6p+1tcwNE+Pp6Tu2DwiKlyC1zYY3f1igL6AlcBIH0RmROVEfZR4IDFH/LcVyTkzqh1lPMFAJXWK4bpScpcO3g== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-phrasing "^4.0.0" + pluralize "^8.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-maximum-heading-length@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-maximum-heading-length/-/remark-lint-maximum-heading-length-3.1.2.tgz#20225d60dd7985f10dfcbac49decfac04c7ee160" - integrity sha512-gkmZxjlzEmNjBRBwef0L/Qmoabxxof0mryOxWzRZSu1xz4Qsp+UFWMhiHGXbE9WJL6EBW8yNTOpgnNgUOzqDiQ== +remark-lint-maximum-heading-length@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-maximum-heading-length/-/remark-lint-maximum-heading-length-4.0.0.tgz#29b6adcc319bde4374429e9e39487d94a476543b" + integrity sha512-UCQxUd0zZyi6RUbpoK5KsxC50ppVqVk0hSgrSPot4wB6PHRgYMALU2fDkEcAjLDc/Y2TayG3IaZEKdqe+84Cwg== dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-mdx "^3.0.0" + mdast-util-to-string "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" -remark-lint-maximum-line-length@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-3.1.3.tgz#9299a5282ba74c4937443c5267dcb473b7bff97c" - integrity sha512-TA7IE+0c8agRm1k7JZr7ZZFiL44JMBAj1KlMxSTACBuebdPJe7IPaLIQga10bnz75jfWMzSiRURMFHo4lt3kdw== +remark-lint-maximum-line-length@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-4.0.1.tgz#4c5c347b6dd15653aba7ef0cc81971f3dd08a630" + integrity sha512-hQlh8UrRfhkO4FU7z7t1Bu5ethj1y2iBncO5AOWF38RAmlHaZdB2lQxNA8IvUZITGJYpT1aThdFTEf+58lv08Q== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-mdx "^3.0.0" + pluralize "^8.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" -remark-lint-no-blockquote-without-marker@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-5.1.1.tgz#e07233866a742c41368886663d7caebbdebb1074" - integrity sha512-7jL7eKS25kKRhQ7SKKB5eRfNleDMWKWAmZ5Y/votJdDoM+6qsopLLumPWaSzP0onyV3dyHRhPfBtqelt3hvcyA== - dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" - vfile-location "^4.0.0" - -remark-lint-no-consecutive-blank-lines@^4.0.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-4.1.3.tgz#929979b682c173472e23c94150e7c096cac83677" - integrity sha512-yU3jH6UMHvaxX3DPBen+7CoPiCcqJ4BeteyOKeKX+tKWCWKILpiz+TVToRbeLnWO4IvFNnSRFMSXmcWSDdbY4w== +remark-lint-no-blockquote-without-marker@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-6.0.0.tgz#cc243d86f6548492150b5a7871f99afad9653973" + integrity sha512-fBhoTpkWcl5tG4FdwPdJIyb8XLrdr6MdLk1+K2BQ6Rom3rRsIYvuox4ohxOunNrXuth8xyw8kC6wDmODR44oFw== dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-directive "^3.0.0" + mdast-util-phrasing "^4.0.0" pluralize "^8.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-location "^5.0.0" -remark-lint-no-duplicate-headings@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-no-duplicate-headings/-/remark-lint-no-duplicate-headings-3.1.2.tgz#3ab2fa5d71b91ad942dfb40712e404e8a6ea893d" - integrity sha512-atBlykGOx9BhpXGp0BUMWxn/T89+hC0Gel8xOIMaFkDhRcLlLVt+/F/aJGhM2Sp0R9NTQ6ejn+JYMLl5Aw2Z+g== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-stringify-position "^3.0.0" - unist-util-visit "^4.0.0" - -remark-lint-no-emphasis-as-heading@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-no-emphasis-as-heading/-/remark-lint-no-emphasis-as-heading-3.1.2.tgz#6810b1a26364fd18e4f0a42a62284750ce21cfdb" - integrity sha512-2DDx0VkqSExR6oqBiQtOsmdDwT7f3hpnPwPvBCk7BDeDU53JWY1kBAkRObkEptgH3GfpwxIQymIdHXesBpAQAg== +remark-lint-no-consecutive-blank-lines@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-5.0.0.tgz#bbfbdcdc2e228b6379b7268ac489a56b6e07d1a0" + integrity sha512-HsDZbFlelBVO3mEJDXd9v4z0HLB8pqxWnsV+I4ILYFp5lKYf6NxJaLBWFtP1gAg1+95WxityGLkGtYqmicDjpg== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-directive "^3.0.0" + mdast-util-mdx "^3.0.0" + mdast-util-phrasing "^4.0.0" + pluralize "^8.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" -remark-lint-no-file-name-articles@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-2.1.2.tgz#cb5823ef460a651f8486f11491d23d017724904c" - integrity sha512-kM4vwBkne7f9euDKsuyxTtrsiafjH+KOwu8ZmuSVWh5U+u0EMcPyN5fxfaQIW+5FkrJA1jwnRu7ciXJBJt74Og== +remark-lint-no-duplicate-headings@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-duplicate-headings/-/remark-lint-no-duplicate-headings-4.0.0.tgz#0b5b4150b984d68a294359781728d9cca060e2a5" + integrity sha512-FgBU/JCdR5MitHM+hnOcgBGO5ZCNV8epzuHIglFlJeb8ow23YhhNgmGvyk7RGrZrYuU5R9uQq23N4dF0g9atCA== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-mdx "^3.0.0" + mdast-util-to-string "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-no-file-name-consecutive-dashes@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-2.1.2.tgz#fceae4d1a3b86e2ddf0e0eaac2f90ee94e88b5e6" - integrity sha512-gw06jaaFwBR3s+3E2kJlv+E7rAzS7Nj+MFU7TViwbsYnR7PA96htLVDCjClyNUE7JHUNcv93HdLm8ykg8kRyNA== +remark-lint-no-emphasis-as-heading@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-emphasis-as-heading/-/remark-lint-no-emphasis-as-heading-4.0.0.tgz#85daf2b230ec464f6edd255e80ae36e6a20e0b37" + integrity sha512-JViGYbuO/xzZThK+qVTNjtLM0v1xMTWFTWt2OJzAkDaGS6T9ZB5ZtRVSBFEMG0SF3dvpJwxe+3ABTsuPBdlYsA== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" + "@types/mdast" "^4.0.0" + mdast-util-phrasing "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-visit-parents "^6.0.0" -remark-lint-no-file-name-irregular-characters@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-irregular-characters/-/remark-lint-no-file-name-irregular-characters-2.1.2.tgz#8dbca858c37e46f08cf5051b5a55945381bf4aab" - integrity sha512-2tcqzLm39Jc4THNP2yvJruOz2HtV4yh+eePiySKmhfZk/6ifMyOF/wlKHKcswczSGE4InNTfxJnc/AoxOJEdkw== +remark-lint-no-file-name-articles@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-3.0.0.tgz#3061b26a0992331a93c5082f8f2826d5f2c17a2a" + integrity sha512-il4IseupahbV2TVfFjfDVL/EQw7jBWVlMVsv4K2cgl5uPIjiCjFGQypqKnWl6pZDN0oNOs/DE8gBdyuDjldJaA== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" + "@types/mdast" "^4.0.0" + unified-lint-rule "^3.0.0" -remark-lint-no-file-name-mixed-case@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-mixed-case/-/remark-lint-no-file-name-mixed-case-2.1.2.tgz#7b33fdc2c234ca2c20ef0e6244ca48a7f07d48f7" - integrity sha512-0mTrjxBB4/0rV7sef+xjV5Aeb6LuW19X4QbNHW2RW7aMy+mtgJU03wdb8Y0LTnWVFHjUbc+iHrsFeCA/Pu1kew== +remark-lint-no-file-name-consecutive-dashes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-3.0.0.tgz#930d90fe2795afc6fab6b6995235d166b806c4f3" + integrity sha512-3vSI1LOQlu8NSCpWLsKELa8dS9HU+YVZE0U43/DNkdEcnZmlJLpTHQjBTMZUHQipRgoOO+TOSyXFyN/H+2lbuQ== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" + "@types/mdast" "^4.0.0" + unified-lint-rule "^3.0.0" -remark-lint-no-file-name-outer-dashes@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-2.1.2.tgz#452cdcbebaed68359a9e87a973d37a74f1c0db09" - integrity sha512-VrbHg25Oo9k/bNbS7ye1X7F6ER4uZSubO+t5DHJ4WZ6iVbNtBar/JwzVelY1YxUAutv42OvHfuveh4vKlcNgVA== +remark-lint-no-file-name-irregular-characters@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-irregular-characters/-/remark-lint-no-file-name-irregular-characters-3.0.0.tgz#8460f6924ab30200c383f8b1fb9077d3785607bd" + integrity sha512-DhGreliHNU7lLTARQujsaLAn8fUPY0V+H0LSmOUuowBZPtIRWeNdQhunSp96RvsuYdqAdERXe0WuH58i3pRqrg== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" + "@types/mdast" "^4.0.0" + unified-lint-rule "^3.0.0" -remark-lint-no-heading-punctuation@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-no-heading-punctuation/-/remark-lint-no-heading-punctuation-3.1.2.tgz#7bf808106de768467216c34db0dc586cb248056e" - integrity sha512-KnvHEVB/DcxJOhUvVteiovAy1+32YY5Vm0UBJqYCFrrHnN/y9ETvOJzlxFy47TaB8x2UyncSEg2JuT66UL4ONQ== +remark-lint-no-file-name-mixed-case@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-mixed-case/-/remark-lint-no-file-name-mixed-case-3.0.0.tgz#8b911007d0b9e1e24ec4a93527b03d83b63a6e0c" + integrity sha512-MXXNHdGB6P46itkf8gRP0kxQL85KfAj9YOOBqNtGsgI/8J5rsyM/rz1Ac20Xe+5C5oGi71+7EO/TExKu/+7dfw== dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + unified-lint-rule "^3.0.0" -remark-lint-no-inline-padding@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/remark-lint-no-inline-padding/-/remark-lint-no-inline-padding-4.1.1.tgz#2f1dda78556f1f8a98b4cad52ff74f6a56b55c58" - integrity sha512-++IMm6ohOPKNOrybqjP9eiclEtVX/Rd2HpF2UD9icrC1X5nvrI6tlfN55tePaFvWAB7pe6MW4LzNEMnWse61Lw== +remark-lint-no-file-name-outer-dashes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-3.0.0.tgz#9bae02f4ecddb59d20e8977a62deb13ebe3ee230" + integrity sha512-3kgamCp39mdlCtqF/+JLwwS4VpSj5wvVwRythUfrpW7993I9kF67dBsaU545aEzWSK+UJZqjb40i0m2VfnBRfQ== dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + unified-lint-rule "^3.0.0" -remark-lint-no-literal-urls@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-3.1.1.tgz#9e3b71c013ffa3d3a493c98b54c3d5bd0ea0ad23" - integrity sha512-tZZ4gtZMA//ZAf7GJTE8S9yjzqXUfUTlR/lvU7ffc7NeSurqCBwAtHqeXVCHiD39JnlHVSW2MLYhvHp53lBGvA== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" - -remark-lint-no-multiple-toplevel-headings@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-3.1.2.tgz#e4eb81f01b81e346431314df611c75213f019724" - integrity sha512-9rJSsrwdzwKmtuloBjJobLzjGL7Lgtk3+vMNUyuH9z/nBfkUCN3qxn3Nt9AxL+wwSAsHV6e74W+W2S1ohBLt6A== - dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-stringify-position "^3.0.0" - unist-util-visit "^4.0.0" - -remark-lint-no-shell-dollars@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-3.1.2.tgz#3663591611516a8eb3faf1251c95f7b9c14b1a02" - integrity sha512-np2MDEhXHviXhbQFjnC1QYv5/fxCV1cIHfGMoJpqiW7Zcu/UGCOo5TE3XswZH4ukHZJ65c3X2A6qfLDW+ur3CQ== +remark-lint-no-heading-punctuation@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-heading-punctuation/-/remark-lint-no-heading-punctuation-4.0.0.tgz#da19bc0fb6d76e443067429b4cc15660bc392d3e" + integrity sha512-7V23C3Q4yX9zEOLZdbv6o8wVxxeWB/F+h9by55zPyk2AwbqF2t2xevnAmN3XFmKZABDTqLwjQxtK6bCVv/S1PQ== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-mdx "^3.0.0" + mdast-util-to-string "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-visit-parents "^6.0.0" -remark-lint-no-shortcut-reference-image@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-3.1.1.tgz#3714f31e98ca2063c43bb4cc4d7206e0581da501" - integrity sha512-m8tH+loDagd1JUns/T4eyulVXgVvE+ZSs7owRUOmP+dgsKJuO5sl1AdN9eyKDVMEvxHF3Pm5WqE62QIRNM48mA== +remark-lint-no-literal-urls@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-4.0.0.tgz#5b2c40f8ce2c102d823959e7933ae395cd5f8018" + integrity sha512-rl/3Ai4Ax9IH/fRpOJZuXk1HgYX6oFTauhmBOilpqbq/YT2kN3FuXaneXdRfKv1bgMdHaLKxHWxGj/mDyA2n8w== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-to-string "^4.0.0" + micromark-util-character "^2.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" -remark-lint-no-shortcut-reference-link@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-3.1.1.tgz#b29bc4bfdb02b30a596b5fed235c99e470805130" - integrity sha512-oDJ92/jXQ842HgrBGgZdP7FA+N2jBMCBU2+jRElkS+OWVut0UaDILtNavNy/e85B3SLPj3RoXKF96M4vfJ7B2A== +remark-lint-no-multiple-toplevel-headings@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-4.0.0.tgz#7e9b0a6fdd00e938b0c2dd33744b690d9b3899f8" + integrity sha512-JW11iYxza7asDdhQuKfr8SH1u4NBOCQ4U7Ru0HrKCPcT4y/AB1C1il5uMQzbcervgYPBq69xzyQ24+AJeL0t3A== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-mdx "^3.0.0" + unified-lint-rule "^3.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" + +remark-lint-no-shell-dollars@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-4.0.0.tgz#ddc98aaf49a01c408a7b616fe8f6e3dc8e626e15" + integrity sha512-ye2h8FzjsgqqQV0HHN2g9N4FqI3eD9Gpgu7tU5ADIJyQ3mUJdwBoFn7IlGnpmumR1fb/l6u/AhRavIZxXYqG+Q== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + collapse-white-space "^2.0.0" + mdast-util-phrasing "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-visit-parents "^6.0.0" -remark-lint-no-table-indentation@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-4.1.2.tgz#08ef417f7f280c11521ff85a5d3d243aad08e443" - integrity sha512-5lkO+Yrtni/CDMZi7mlwbB2zzRQLH94DesboXg51aO2UfZlSn5dZNhmN5wkyCU2AiApUhlFNbxfKMHOWFPLdog== +remark-lint-no-shortcut-reference-image@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-4.0.0.tgz#eb3aa7aec0d41c64f5a18986cbd3e7e62fa98b7f" + integrity sha512-YEiCpW5F/8/LZyxlOuVK2L/n0NJ1AB0AJK7oP39OVyEk3Xl7w+JQi6nZ3KiH6REh+PWGqKn6M0KEPL9cT/iAOw== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" - vfile-location "^4.0.0" + "@types/mdast" "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-visit-parents "^6.0.0" -remark-lint-ordered-list-marker-style@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-3.1.1.tgz#5431100f048ef44daa90a32251e8056f2de58449" - integrity sha512-IWcWaJoaSb4yoSOuvDbj9B2uXp9kSj58DqtrMKo8MoRShmbj1onVfulTxoTLeLtI11NvW+mj3jPSpqjMjls+5Q== +remark-lint-no-shortcut-reference-link@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-4.0.0.tgz#44c332c3b939dbb9d6b60d9cbcd5929f72658fe7" + integrity sha512-6jka2Zz3I6G2MvDcKrwADYhTOxHMFMK854u1cfBEIH5/XnCCXROtoqiiDtbZw+NJqbmwsBKvGL4t2gnmEJUmgg== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-visit-parents "^6.0.0" -remark-lint-ordered-list-marker-value@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-ordered-list-marker-value/-/remark-lint-ordered-list-marker-value-3.1.2.tgz#a2bb783c184a76b73eee2560916fa2bd43494239" - integrity sha512-kG08nhsFk8rhoXK5EeDN/wN28CxefraDud/MaZnji8LEyxF3HAkzFuETr9laOn8Ey+n8h/C0mpqAwUf4thyJ5g== +remark-lint-no-table-indentation@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-5.0.0.tgz#ce526bc4ff6407378d2b23cbcb6bb8c7f830479a" + integrity sha512-MaLmnzgirpnRiRjWwrsyOX0RmP2eG4YAv169MtsxTVa6O3CpUDwTuTzivudE9L0kVvTlyF9DXEmdyjm85LDyVA== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-phrasing "^4.0.0" + pluralize "^8.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-location "^5.0.0" -remark-lint-rule-style@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-rule-style/-/remark-lint-rule-style-3.1.2.tgz#001c8aca23464bf68ff00c2bd0c73b1de557a61c" - integrity sha512-0CsX2XcX9pIhAP5N7Y8mhYXp3/Ld+NvxXY1p0LHAq0NZu17UsZLuegvx/s25uFbQs08DcmSqyKnepU9qGGqmTQ== +remark-lint-ordered-list-marker-style@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-4.0.0.tgz#9a6e8867484ec3edf8ec85699e5cca6a11163102" + integrity sha512-xZ7Xppy5fzACH4b9h1b4lTzVtNY2AlUkNTfl1Oe6cIKN8tk3juFxN0wL2RpktPtSZ7iRIabzFmg6l8WPhlASJA== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-phrasing "^4.0.0" + micromark-util-character "^2.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-strong-marker@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-strong-marker/-/remark-lint-strong-marker-3.1.2.tgz#55ff84a696f8453900daf511488f8f2e85edf551" - integrity sha512-U/g4wngmiI0Q6WBRQG6pZxnDS33Wt/0QYA3+KNFBDykoi1vXsDEorIqy3dEag9z6XHwcMvFDsff6VRUhaOJWQg== +remark-lint-ordered-list-marker-value@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-ordered-list-marker-value/-/remark-lint-ordered-list-marker-value-4.0.0.tgz#a0724a161b2dbcd6dd0be6088e851b3183baab0e" + integrity sha512-7UjNU2Nv9LGEONTU9GPmTVoNoGKD5aL1X2xHzMbSJiTc50bfcazYqZawO+qj1pQ04WPhto1qHnl0HRB5wwSVwA== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-phrasing "^4.0.0" + micromark-util-character "^2.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-table-cell-padding@^4.0.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-4.1.3.tgz#6ea87aebd8485824fe5c38a3400b93b1a4d56814" - integrity sha512-N9xtnS6MG/H3srAMjqqaF26A7socr87pIgt64dr5rxoSbDRWRPChGQ8y7wKyV8VeyRNF37e3E5KB3bQVqjSYaQ== +remark-lint-rule-style@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-rule-style/-/remark-lint-rule-style-4.0.0.tgz#8634deab41768b467329ff8212e982cef583c3f1" + integrity sha512-Kt7IHMB5IbLgRFKaFUmB895sV3PTD0MBgN9CvXKxr1wHFF43S6tabjFIBSoQqyJRlhH0S3rK6Lvopofa009gLg== dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-phrasing "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-table-pipe-alignment@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/remark-lint-table-pipe-alignment/-/remark-lint-table-pipe-alignment-3.1.3.tgz#660ff30617f834495e291ec93fe882ac2d67c239" - integrity sha512-bnE8WrB4kSrN+Yr+xN2GHWVgGukeSFU43qPMrpCzTyOSbzep366wORlFKqZmyFPEkIZ/uAUFS0Qm9DND66Yz/A== +remark-lint-strong-marker@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-strong-marker/-/remark-lint-strong-marker-4.0.0.tgz#bbaae75846ccea9753a2f6935d1fb9a3114b9461" + integrity sha512-YcvuzakYhQWdCH+1E30sUY+wyvq+PNa77NZAMAYO/cS/pZczFB+q4Ccttw4Q+No/chX8oMfe0GYtm8dDWLei/g== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-table-pipes@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-table-pipes/-/remark-lint-table-pipes-4.1.2.tgz#abdd6f9c4be7f7575a3054d06d57d8534b596ccf" - integrity sha512-Ex2cJDXA0hdD9CC5Nu0p3K5LP+AhzPvk4sIOSbevCTSRyCS/SkNk4CQ6pwWBxuPVuHQUkqXkT8lgu8wwr/9A3A== +remark-lint-table-cell-padding@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-5.0.0.tgz#652392e3b8c61153023e6c14793b30dd1fb2c6b7" + integrity sha512-LNyiHDQZBIOqcQGG1tYsZHW7g0v8OyRmRgDrD5WEsMaAYfM6EiECUokN/Q4py9h4oM/2KUSrdZbtfuZmy87/kA== dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + mdast-util-phrasing "^4.0.0" + pluralize "^8.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" -remark-lint-unordered-list-marker-style@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-3.1.2.tgz#7675ad4ffd91613a51c5a908061d9eb79df63160" - integrity sha512-JFiyB4ZprJGGndCaFB8FssXd48m4Kh+CUqzNgu3lBLEiW8dEAGRlD9M2AzyyA+Q29WJP/FntDCbP22DeON91UA== - dependencies: - "@types/mdast" "^3.0.0" - unified "^10.0.0" - unified-lint-rule "^2.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" - -remark-lint@^9.0.0: - version "9.1.1" - resolved "https://registry.yarnpkg.com/remark-lint/-/remark-lint-9.1.1.tgz#58c27adc4edeca93b7ce81e2861f05cbcecef72c" - integrity sha512-zhe6twuqgkx/9KgZyNyaO0cceA4jQuJcyzMOBC+JZiAzMN6mFUmcssWZyY30ko8ut9vQDMX/pyQnolGn+Fg/Tw== - dependencies: - "@types/mdast" "^3.0.0" - remark-message-control "^7.0.0" - unified "^10.1.0" - -remark-message-control@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/remark-message-control/-/remark-message-control-7.1.1.tgz#71e9b757b835fad2ac14fafa8b432f51b9b9bf52" - integrity sha512-xKRWl1NTBOKed0oEtCd8BUfH5m4s8WXxFFSoo7uUwx6GW/qdCy4zov5LfPyw7emantDmhfWn5PdIZgcbVcWMDQ== - dependencies: - "@types/mdast" "^3.0.0" - mdast-comment-marker "^2.0.0" - unified "^10.0.0" - unified-message-control "^4.0.0" - vfile "^5.0.0" +remark-lint-table-pipe-alignment@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-table-pipe-alignment/-/remark-lint-table-pipe-alignment-4.0.0.tgz#2eada610d36ef7e7409f5b21e8e308c26e9620a1" + integrity sha512-nx+xpEIWQRLOcq9hIbUIvhSE1NYRmDJmCY3cMoHJ1sIW7dRXMHyWfpWTgu7mpREKwSQdE0q4qnzk8McQQSkIcg== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + mdast-util-phrasing "^4.0.0" + pluralize "^8.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + +remark-lint-table-pipes@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-table-pipes/-/remark-lint-table-pipes-5.0.0.tgz#d796f504cf3a2f8b5396b001830492b9eb716758" + integrity sha512-e7jzAScDrt5+eMomh099TZJBN2K9ldDxBu9iYhNu5C0YsdAvnckJkgilsuClxFpmx4LCVYaX0EGbt/hQ3LB3xg== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + mdast-util-phrasing "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + +remark-lint-unordered-list-marker-style@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-4.0.0.tgz#91c3a31f795678cd86da8bc5997f924e64920263" + integrity sha512-XlP4Wr4KJNovyWVv0H5axfUlF23iE9Kt2SxaVq4+ieum5YcMmKE6KsL+aqt3kiJb60SH1u6a0bxKFvdM/9riOA== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-phrasing "^4.0.0" + unified-lint-rule "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit-parents "^6.0.0" + vfile-message "^4.0.0" + +remark-lint@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/remark-lint/-/remark-lint-10.0.0.tgz#161b24a18223a68ec2ed8d77e46015b5a0bd8bb5" + integrity sha512-E8yHHDOJ8b+qI0G49BRu24pe8t0fNNBWv8ENQJpCGNrVeTeyBIGEbaUe1yuF7OG8faA6PVpcN/pqWjzW9fcBWQ== + dependencies: + "@types/mdast" "^4.0.0" + remark-message-control "^8.0.0" + unified "^11.0.0" + +remark-message-control@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/remark-message-control/-/remark-message-control-8.0.0.tgz#1d5880f33c05a65fcd60dcf0572b8198e9935d97" + integrity sha512-brpzOO+jdyE/mLqvqqvbogmhGxKygjpCUCG/PwSCU43+JZQ+RM+sSzkCWBcYvgF3KIAVNIoPsvXjBkzO7EdsYQ== + dependencies: + "@types/mdast" "^4.0.0" + mdast-comment-marker "^3.0.0" + unified-message-control "^5.0.0" + vfile "^6.0.0" remark-parse@^11.0.0: version "11.0.0" @@ -4029,57 +4053,55 @@ remark-parse@^11.0.0: micromark-util-types "^2.0.0" unified "^11.0.0" -remark-preset-lint-markdown-style-guide@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/remark-preset-lint-markdown-style-guide/-/remark-preset-lint-markdown-style-guide-5.1.3.tgz#69297ff80f15763c141d0ef4e151ad38deb116c4" - integrity sha512-4zNSPoiwAh4LJCbXh2U8Q9SFUIMw0MwsYJWTXHNiD0bGIUMWYU8ATLzDpWqCkzra6Ih7rLZuqB8tQIlipcM4Hg== - dependencies: - "@types/mdast" "^3.0.0" - remark-lint "^9.0.0" - remark-lint-blockquote-indentation "^3.0.0" - remark-lint-code-block-style "^3.0.0" - remark-lint-definition-case "^3.0.0" - remark-lint-definition-spacing "^3.0.0" - remark-lint-emphasis-marker "^3.0.0" - remark-lint-fenced-code-flag "^3.0.0" - remark-lint-fenced-code-marker "^3.0.0" - remark-lint-file-extension "^2.0.0" - remark-lint-final-definition "^3.0.0" - remark-lint-hard-break-spaces "^3.0.0" - remark-lint-heading-increment "^3.0.0" - remark-lint-heading-style "^3.0.0" - remark-lint-link-title-style "^3.0.0" - remark-lint-list-item-content-indent "^3.0.0" - remark-lint-list-item-indent "^3.0.0" - remark-lint-list-item-spacing "^4.0.0" - remark-lint-maximum-heading-length "^3.0.0" - remark-lint-maximum-line-length "^3.0.0" - remark-lint-no-blockquote-without-marker "^5.0.0" - remark-lint-no-consecutive-blank-lines "^4.0.0" - remark-lint-no-duplicate-headings "^3.0.0" - remark-lint-no-emphasis-as-heading "^3.0.0" - remark-lint-no-file-name-articles "^2.0.0" - remark-lint-no-file-name-consecutive-dashes "^2.0.0" - remark-lint-no-file-name-irregular-characters "^2.0.0" - remark-lint-no-file-name-mixed-case "^2.0.0" - remark-lint-no-file-name-outer-dashes "^2.0.0" - remark-lint-no-heading-punctuation "^3.0.0" - remark-lint-no-inline-padding "^4.0.0" - remark-lint-no-literal-urls "^3.0.0" - remark-lint-no-multiple-toplevel-headings "^3.0.0" - remark-lint-no-shell-dollars "^3.0.0" - remark-lint-no-shortcut-reference-image "^3.0.0" - remark-lint-no-shortcut-reference-link "^3.0.0" - remark-lint-no-table-indentation "^4.0.0" - remark-lint-ordered-list-marker-style "^3.0.0" - remark-lint-ordered-list-marker-value "^3.0.0" - remark-lint-rule-style "^3.0.0" - remark-lint-strong-marker "^3.0.0" - remark-lint-table-cell-padding "^4.0.0" - remark-lint-table-pipe-alignment "^3.0.0" - remark-lint-table-pipes "^4.0.0" - remark-lint-unordered-list-marker-style "^3.0.0" - unified "^10.0.0" +remark-preset-lint-markdown-style-guide@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/remark-preset-lint-markdown-style-guide/-/remark-preset-lint-markdown-style-guide-6.0.0.tgz#f6f186d94391a5e8c9752a63a0c41a7a14b2464a" + integrity sha512-izsfNTHeqrRP64VWV6OdJnSUDwKFSthMKiiDcu14ODpPV0t7YiotCQWzgc7L4eW9Ctcp4aB4nHNLSuDmwhEWrQ== + dependencies: + remark-lint "^10.0.0" + remark-lint-blockquote-indentation "^4.0.0" + remark-lint-code-block-style "^4.0.0" + remark-lint-definition-case "^4.0.0" + remark-lint-definition-spacing "^4.0.0" + remark-lint-emphasis-marker "^4.0.0" + remark-lint-fenced-code-flag "^4.0.0" + remark-lint-fenced-code-marker "^4.0.0" + remark-lint-file-extension "^3.0.0" + remark-lint-final-definition "^4.0.0" + remark-lint-hard-break-spaces "^4.0.0" + remark-lint-heading-increment "^4.0.0" + remark-lint-heading-style "^4.0.0" + remark-lint-link-title-style "^4.0.0" + remark-lint-list-item-content-indent "^4.0.0" + remark-lint-list-item-indent "^4.0.0" + remark-lint-list-item-spacing "^5.0.0" + remark-lint-maximum-heading-length "^4.0.0" + remark-lint-maximum-line-length "^4.0.0" + remark-lint-no-blockquote-without-marker "^6.0.0" + remark-lint-no-consecutive-blank-lines "^5.0.0" + remark-lint-no-duplicate-headings "^4.0.0" + remark-lint-no-emphasis-as-heading "^4.0.0" + remark-lint-no-file-name-articles "^3.0.0" + remark-lint-no-file-name-consecutive-dashes "^3.0.0" + remark-lint-no-file-name-irregular-characters "^3.0.0" + remark-lint-no-file-name-mixed-case "^3.0.0" + remark-lint-no-file-name-outer-dashes "^3.0.0" + remark-lint-no-heading-punctuation "^4.0.0" + remark-lint-no-literal-urls "^4.0.0" + remark-lint-no-multiple-toplevel-headings "^4.0.0" + remark-lint-no-shell-dollars "^4.0.0" + remark-lint-no-shortcut-reference-image "^4.0.0" + remark-lint-no-shortcut-reference-link "^4.0.0" + remark-lint-no-table-indentation "^5.0.0" + remark-lint-ordered-list-marker-style "^4.0.0" + remark-lint-ordered-list-marker-value "^4.0.0" + remark-lint-rule-style "^4.0.0" + remark-lint-strong-marker "^4.0.0" + remark-lint-table-cell-padding "^5.0.0" + remark-lint-table-pipe-alignment "^4.0.0" + remark-lint-table-pipes "^5.0.0" + remark-lint-unordered-list-marker-style "^4.0.0" + unified "^11.0.0" remark-stringify@^11.0.0: version "11.0.0" @@ -4152,13 +4174,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sade@^1.7.3: - version "1.8.1" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" - integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== - dependencies: - mri "^1.1.0" - safe-array-concat@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" @@ -4193,13 +4208,18 @@ semver@^6.1.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: +semver@^7.3.4, semver@^7.3.5, semver@^7.5.3: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" +semver@^7.6.0, semver@^7.6.1, semver@^7.6.2: + version "7.6.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + serialize-javascript@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" @@ -4279,6 +4299,16 @@ slash@^4.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== +slashes@^3.0.12: + version "3.0.12" + resolved "https://registry.yarnpkg.com/slashes/-/slashes-3.0.12.tgz#3d664c877ad542dc1509eaf2c50f38d483a6435a" + integrity sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA== + +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== + spdx-correct@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" @@ -4292,7 +4322,7 @@ spdx-exceptions@^2.1.0: resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== -spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: +spdx-expression-parse@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== @@ -4300,6 +4330,14 @@ spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" +spdx-expression-parse@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz#a23af9f3132115465dac215c099303e4ceac5794" + integrity sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + spdx-license-ids@^3.0.0: version "3.0.13" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" @@ -4411,6 +4449,14 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" +stringify-entities@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.4.tgz#b3b79ef5f277cc4ac73caeb0236c5ba939b3a4f3" + integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== + dependencies: + character-entities-html4 "^2.0.0" + character-entities-legacy "^3.0.0" + "strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -4495,19 +4541,27 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +synckit@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.9.0.tgz#5b33b458b3775e4466a5b377fba69c63572ae449" + integrity sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg== + dependencies: + "@pkgr/core" "^0.1.0" + tslib "^2.6.2" + tapable@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== +test-exclude@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-7.0.1.tgz#20b3ba4906ac20994e275bbcafd68d510264c2a2" + integrity sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg== dependencies: "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" + glob "^10.4.1" + minimatch "^9.0.4" text-table@^0.2.0: version "0.2.0" @@ -4539,10 +4593,15 @@ trough@^2.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== -ts-node@^10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== +ts-api-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + +ts-node@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" @@ -4558,27 +4617,20 @@ ts-node@^10.9.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" -tsconfig-paths@^3.14.2: - version "3.14.2" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" - integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.2" minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" +tslib@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" + integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -4587,11 +4639,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-detect@^4.0.0, type-detect@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" @@ -4661,10 +4708,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@^5.4.5: - version "5.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== +typescript@^5.5.2: + version "5.5.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.2.tgz#c26f023cb0054e657ce04f72583ea2d85f8d0507" + integrity sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew== unbox-primitive@^1.0.2: version "1.0.2" @@ -4723,40 +4770,29 @@ unified-engine@^11.0.0: vfile-statistics "^3.0.0" yaml "^2.0.0" -unified-lint-rule@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/unified-lint-rule/-/unified-lint-rule-2.1.1.tgz#2363f27064f0b44675d11119bb573a738e346f24" - integrity sha512-vsLHyLZFstqtGse2gvrGwasOmH8M2y+r2kQMoDSWzSqUkQx2MjHjvZuGSv5FUaiv4RQO1bHRajy7lSGp7XWq5A== +unified-lint-rule@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unified-lint-rule/-/unified-lint-rule-3.0.0.tgz#75f8d7fbd9664e198a65f1399ab06c3950b54a70" + integrity sha512-Sz96ILLsTy3djsG3H44zFb2b77MFf9CQVYnV3PWkxgRX8/n31fFrr+JnzUaJ6cbOHTtZnL1A71+YodsTjzwAew== dependencies: - "@types/unist" "^2.0.0" + "@types/unist" "^3.0.0" trough "^2.0.0" - unified "^10.0.0" - vfile "^5.0.0" - -unified-message-control@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/unified-message-control/-/unified-message-control-4.0.0.tgz#7cd313df526fc660f218b19a56377bb6957019a8" - integrity sha512-1b92N+VkPHftOsvXNOtkJm4wHlr+UDmTBF2dUzepn40oy9NxanJ9xS1RwUBTjXJwqr2K0kMbEyv1Krdsho7+Iw== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit "^3.0.0" - vfile "^5.0.0" - vfile-location "^4.0.0" - vfile-message "^3.0.0" + unified "^11.0.0" + vfile "^6.0.0" -unified@^10.0.0, unified@^10.1.0: - version "10.1.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" - integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== +unified-message-control@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unified-message-control/-/unified-message-control-5.0.0.tgz#7268a9a5d695c2591149ebe35e37eb200b852d7e" + integrity sha512-B2cSAkpuMVVmPP90KCfKdBhm1e9KYJ+zK3x5BCa0N65zpq1Ybkc9C77+M5qwR8FWO7RF3LM5QRRPZtgjW6DUCw== dependencies: - "@types/unist" "^2.0.0" - bail "^2.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^4.0.0" - trough "^2.0.0" - vfile "^5.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + space-separated-tokens "^2.0.0" + unist-util-is "^6.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + vfile-location "^5.0.0" + vfile-message "^4.0.0" unified@^11.0.0: version "11.0.3" @@ -4771,11 +4807,6 @@ unified@^11.0.0: trough "^2.0.0" vfile "^6.0.0" -unist-util-generated@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" - integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== - unist-util-inspect@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/unist-util-inspect/-/unist-util-inspect-8.0.0.tgz#dcc6475bb7219ce410c6f3d03c7ab068cc2e351d" @@ -4783,13 +4814,6 @@ unist-util-inspect@^8.0.0: dependencies: "@types/unist" "^3.0.0" -unist-util-is@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9" - integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424" @@ -4797,19 +4821,20 @@ unist-util-is@^6.0.0: dependencies: "@types/unist" "^3.0.0" -unist-util-position@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" - integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== +unist-util-position@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4" + integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== dependencies: - "@types/unist" "^2.0.0" + "@types/unist" "^3.0.0" -unist-util-stringify-position@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" - integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== +unist-util-remove-position@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz#fea68a25658409c9460408bc6b4991b965b52163" + integrity sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q== dependencies: - "@types/unist" "^2.0.0" + "@types/unist" "^3.0.0" + unist-util-visit "^5.0.0" unist-util-stringify-position@^4.0.0: version "4.0.0" @@ -4818,22 +4843,6 @@ unist-util-stringify-position@^4.0.0: dependencies: "@types/unist" "^3.0.0" -unist-util-visit-parents@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz#e83559a4ad7e6048a46b1bdb22614f2f3f4724f2" - integrity sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - -unist-util-visit-parents@^5.1.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" - integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815" @@ -4842,24 +4851,6 @@ unist-util-visit-parents@^6.0.0: "@types/unist" "^3.0.0" unist-util-is "^6.0.0" -unist-util-visit@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-3.1.0.tgz#9420d285e1aee938c7d9acbafc8e160186dbaf7b" - integrity sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents "^4.0.0" - -unist-util-visit@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" - integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents "^5.1.1" - unist-util-visit@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6" @@ -4869,6 +4860,14 @@ unist-util-visit@^5.0.0: unist-util-is "^6.0.0" unist-util-visit-parents "^6.0.0" +update-browserslist-db@^1.0.16: + version "1.0.16" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" + integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== + dependencies: + escalade "^3.1.2" + picocolors "^1.0.1" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -4881,16 +4880,6 @@ util-deprecate@^1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -uvu@^0.5.0: - version "0.5.6" - resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" - integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== - dependencies: - dequal "^2.0.0" - diff "^5.0.0" - kleur "^4.0.3" - sade "^1.7.3" - v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" @@ -4913,21 +4902,13 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -vfile-location@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.1.0.tgz#69df82fb9ef0a38d0d02b90dd84620e120050dd0" - integrity sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw== - dependencies: - "@types/unist" "^2.0.0" - vfile "^5.0.0" - -vfile-message@^3.0.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" - integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== +vfile-location@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.2.tgz#220d9ca1ab6f8b2504a4db398f7ebc149f9cb464" + integrity sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg== dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^3.0.0" + "@types/unist" "^3.0.0" + vfile "^6.0.0" vfile-message@^4.0.0: version "4.0.2" @@ -4967,16 +4948,6 @@ vfile-statistics@^3.0.0: vfile "^6.0.0" vfile-message "^4.0.0" -vfile@^5.0.0: - version "5.3.7" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" - integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^3.0.0" - vfile-message "^3.0.0" - vfile@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.1.tgz#1e8327f41eac91947d4fe9d237a2dd9209762536"