diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ccb949ca80..aaa3d57bd4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -117,7 +117,6 @@ jobs: exclude: - client: jurism-beta - client: jurism - worker: --worker steps: - uses: actions/checkout@v3 - name: fetch build artifacts diff --git a/.github/workflows/src/ci.yaml b/.github/workflows/src/ci.yaml index 25ed1b67a2..101c0db606 100644 --- a/.github/workflows/src/ci.yaml +++ b/.github/workflows/src/ci.yaml @@ -152,7 +152,7 @@ jobs: exclude: - client: jurism-beta - client: jurism - worker: '--worker' + # worker: '--worker' steps: - uses: actions/checkout@v3 - *download_build_artifacts diff --git a/content/Preferences.pug b/content/Preferences.pug index ad63473dc3..6fa9009085 100644 --- a/content/Preferences.pug +++ b/content/Preferences.pug @@ -10,23 +10,23 @@ | | overlay#zotero-better-bibtex-preferences(xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:bbt="http://retorque.re/zotero-better-bibtex/") - popupset - tooltip#tooltip-bibtexURL - description &better-bibtex.Preferences.export.fields.doi-and-url.warning; - tooltip#tooltip-jabrefFormat - description &better-bibtex.Preferences.export.jabrefFormat.warn; - tooltip#tooltip-importSentenceCase - description &better-bibtex.Preferences.advanced.import.sentenceCase.warning; - tooltip#tooltip-importCaseProtection - description &better-bibtex.Preferences.advanced.import.caseProtection.warning; - tooltip#tooltip-exportTitleCase - description &better-bibtex.Preferences.advanced.export.titleCase.warning; - tooltip#tooltip-exportBraceProtection - description &better-bibtex.Preferences.advanced.export.braceProtection.warning; - tooltip#tooltip-retainCache - description &better-bibtex.Preferences.advanced.export.retainCache.warning; prefwindow#zotero-prefs prefpane#zotero-prefpane-better-bibtex(insertafter="zotero-prefpane-advanced" label="&better-bibtex.Preferences.prefpane.better-bibtex;" image="chrome://zotero-better-bibtex/skin/bibtex.svg" onpaneload="load()" helpTopic="BetterBibTeX") + popupset + tooltip#tooltip-bibtexURL + description &better-bibtex.Preferences.export.fields.doi-and-url.warning; + tooltip#tooltip-jabrefFormat + description &better-bibtex.Preferences.export.jabrefFormat.warn; + tooltip#tooltip-importSentenceCase + description &better-bibtex.Preferences.advanced.import.sentenceCase.warning; + tooltip#tooltip-importCaseProtection + description &better-bibtex.Preferences.advanced.import.caseProtection.warning; + tooltip#tooltip-exportTitleCase + description &better-bibtex.Preferences.advanced.export.titleCase.warning; + tooltip#tooltip-exportBraceProtection + description &better-bibtex.Preferences.advanced.export.braceProtection.warning; + tooltip#tooltip-retainCache + description &better-bibtex.Preferences.advanced.export.retainCache.warning; preferences#zotero-preferences-cite include Preferences/preferences.pug diff --git a/content/Preferences.ts b/content/Preferences.ts index 67a52842fa..c2d7aa9586 100644 --- a/content/Preferences.ts +++ b/content/Preferences.ts @@ -16,9 +16,62 @@ import * as l10n from './l10n' import { Events } from './events' import { pick } from './file-picker' import { flash } from './flash' +const dtdparser = require('./dtd-file.peggy') const namespace = 'http://retorque.re/zotero-better-bibtex/' +function escapeHtml(unsafe: string): string { + return unsafe + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, ''') +} + +export function start(win: Window): any { + const prefwindow = win.document.querySelector('prefwindow#zotero-prefs') + if (!prefwindow) return log.error('prefs.start: prefwindow not found') + if (prefwindow) return 0 + + let xml = Zotero.File.getContentsFromURL('chrome://zotero-better-bibtex/content/Preferences.xul') + const url = xml.match(//)[1] + const dtd: Record = dtdparser.parse(Zotero.File.getContentsFromURL(url)) + for (const [key, value] of Object.entries(dtd)) { + xml = xml.replace(new RegExp(`&${key};`, 'g'), escapeHtml(value)) + } + const parser = new DOMParser + const xul = parser.parseFromString(xml, 'text/xml') + + xul.querySelectorAll('*[onpaneload]').forEach(elt => { + elt.removeAttribute('onpaneload') + }) + xul.querySelectorAll('script').forEach(elt => { + elt.remove() + }) + + const prefpane = xul.querySelector('prefpane') + let id: string = prefpane.getAttribute('id') + log.debug('prefs id=', id) + if (win.document.querySelector(`prefpane#${id}`)) { + log.debug('prefpane: already loaded') + return + } + + let neighbour: Element + if ((id = prefpane.getAttribute('insertafter')) && (neighbour = win.document.querySelector(`prefpane#${id}`)) && neighbour.nextSibling) { + prefwindow.insertBefore(prefpane, neighbour.nextSibling) + } + else if ((id = prefpane.getAttribute('insertbefore')) && (neighbour = win.document.querySelector(`prefpane#${id}`))) { + prefwindow.insertBefore(prefpane, neighbour) + } + else { + prefwindow.appendChild(prefpane) + } + log.debug('>>>\n', win.document.documentElement.outerHTML, '\n<<<') + log.debug('prefpane: appended:', !!win.document.querySelector(`prefpane#${id}`)) +} + class AutoExportPane { private label: { [key: string]: string } private globals: Record diff --git a/content/ajv.ts b/content/ajv.ts index c4698353f9..ee18c639e2 100644 --- a/content/ajv.ts +++ b/content/ajv.ts @@ -81,11 +81,13 @@ for (const ajv of [coercing, noncoercing]) { import betterAjvErrors from 'better-ajv-errors' +type AjvError = { error: string, suggestion: string } export function validator(schema, ajv): (data: any) => string { // eslint-disable-line @typescript-eslint/explicit-module-boundary-types const ok = ajv.compile(schema) return function(data: any): string { // eslint-disable-line prefer-arrow/prefer-arrow-functions if (ok(data)) return '' - return betterAjvErrors(schema, data, ok.errors, { format: 'js' }).map(err => err.error + (err.suggestion ? ', ' : '') + (err.suggestion || '')).join('\n') + return (betterAjvErrors(schema, data, ok.errors, { format: 'js' }) as AjvError[]) + .map((err: AjvError) => err.error + (err.suggestion ? `, ${err.suggestion}` : '')).join('\n') } } diff --git a/content/auto-export.ts b/content/auto-export.ts index a630ab3368..cf1993f2f9 100644 --- a/content/auto-export.ts +++ b/content/auto-export.ts @@ -315,7 +315,7 @@ const queue = new class TaskQueue { } log.debug('ae.starting', jobs.length, 'jobs for', ae.$loki) - await Promise.all(jobs.map(job => Translators.exportItemsByWorker(job))) + await Promise.all(jobs.map(job => Translators.queueJob(job))) log.debug('ae.done', jobs.length, 'jobs for', ae.$loki) await repo.push(l10n.localize('Preferences.auto-export.git.message', { type: Translators.byId[ae.translatorID].label.replace('Better ', '') })) diff --git a/content/better-bibtex.ts b/content/better-bibtex.ts index 14f2490604..c27cf1af46 100644 --- a/content/better-bibtex.ts +++ b/content/better-bibtex.ts @@ -25,6 +25,7 @@ import { flash } from './flash' import { Deferred } from './deferred' import { Preference } from './prefs' // needs to be here early, initializes the prefs observer +import { start as prefpane_start } from './Preferences' import * as preferences from '../gen/preferences/meta' require('./pull-export') // just require, initializes the pull-export end points require('./json-rpc') // just require, initializes the json-rpc end point @@ -1018,9 +1019,21 @@ export class BetterBibTeX { */ setProgress(percent, message) // eslint-disable-line no-magic-numbers }) + Events.on('window-loaded', (win: Window, href: string) => { + switch (href) { + case 'chrome://zotero/content/preferences/preferences.xul': + prefpane_start(win) + break + default: + log.debug('window-loaded', href) + } + }) } public parseDate(date: string): ParsedDate { return DateParser.parse(date) } + public unload(): void { + Zotero.debug('Unloading BBT?') + } } Zotero.BetterBibTeX = Zotero.BetterBibTeX || new BetterBibTeX diff --git a/content/db/main.ts b/content/db/main.ts index 80fcc14fba..6ca15b6e1b 100644 --- a/content/db/main.ts +++ b/content/db/main.ts @@ -144,7 +144,7 @@ class Main extends Loki { Preference.scrubDatabase = false } - autoexport.on(['insert', 'update'], (ae: { path: string, $loki: number }) => { + autoexport.on(['pre-insert', 'pre-update'], (ae: { path: string, $loki: number }) => { autoexport.removeWhere({ $and: [ { path: ae.path }, { $loki: { $ne: ae.$loki } } ] }) }) } diff --git a/content/dtd-file.peggy b/content/dtd-file.peggy new file mode 100644 index 0000000000..f57a2ea7e5 --- /dev/null +++ b/content/dtd-file.peggy @@ -0,0 +1,24 @@ +start = strings:string* { + return strings.reduce((acc, string) => { + if (string) acc[string.key] = string.value + return acc + }, {}) + } + +string + = _ { return null } + / '' { return null } + / '' { return { key, value } } + +comment + = !'-->' '-' + / [^-] + +key = key:$[-a-zA-Z0-9._]+ { return key } + +value + = "'" value:$[^']* "'" { return value } + / '"' value:$[^"]* '"' { return value } + +_ = [ \t\n\r]+ + diff --git a/content/events.ts b/content/events.ts index 4f58ed5919..de64f55618 100644 --- a/content/events.ts +++ b/content/events.ts @@ -4,32 +4,34 @@ import { EventEmitter as EventEmitter3 } from 'eventemitter3' import { log } from './logger' const events: string[] = [ + 'collections-changed', + 'collections-removed', 'error', - 'preference-changed', + 'export-progress', 'item-tag', 'items-changed', 'items-removed', 'libraries-changed', - 'collections-changed', - 'collections-removed', 'libraries-removed', - 'export-progress', 'loaded', + 'preference-changed', + 'window-loaded', ] const event_prefix = events.map(name => name + '.') -const log_events = Zotero.Prefs.get('translators.better-bibtex.log-events') - export const Events = new class EventEmitter extends EventEmitter3 { + testing: boolean + constructor() { super() + this.testing = Zotero.Prefs.get('translators.better-bibtex.log-events') this.on('error', err => { throw Zotero.debug(err) }) } private verify(event: string | symbol) { - if (!log_events) return true + if (!this.testing) return true if (typeof event === 'symbol') return false if (events.includes(event) || event_prefix.find(prefix => event.startsWith(prefix))) return true throw new Error(`Unsupported event ${event}`) @@ -48,7 +50,14 @@ export const Events = new class EventEmitter extends EventEmitter3 { const results: boolean[] = [] for (const listening of this.eventNames()) { if (listening === event || (typeof listening === 'string' && listening.startsWith(prefix))) { - log.debug('event.emit(', listening, args, ')') + if (this.testing) { + try { + log.debug('event.emit(', listening, args, ')') + } + catch (err) { + log.debug('event.emit(', listening, ')') + } + } results.push(super.emit.apply(this, [listening, ...args])) } } @@ -81,3 +90,16 @@ export const Events = new class EventEmitter extends EventEmitter3 { if (changed.libraries.size) this.emit('libraries-changed', [...changed.libraries]) } } + +const windowListener = { + onOpenWindow: xulWindow => { + const win = xulWindow.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindow) + win.addEventListener('load', function listener() { // eslint-disable-line prefer-arrow/prefer-arrow-functions + win.removeEventListener('load', listener, false) + Events.emit('window-loaded', win, win.location.href) + }, false) + }, + // onCloseWindow: () => { }, + // onWindowTitleChange: _xulWindow => { }, +} +Services.wm.addListener(windowListener) diff --git a/content/json-rpc.ts b/content/json-rpc.ts index d4b3241f42..3bb79c5ddc 100644 --- a/content/json-rpc.ts +++ b/content/json-rpc.ts @@ -145,7 +145,7 @@ class NSItem { // eslint-disable-next-line @typescript-eslint/no-unsafe-return return { - ...Zotero.Utilities.itemToCSLJSON(item), + ...Zotero.Utilities.Item.itemToCSLJSON(item), library: libraries[item.libraryID], citekey: Zotero.BetterBibTeX.KeyManager.keys.findOne($and({ libraryID: item.libraryID, itemID: item.id })).citekey, } diff --git a/content/key-manager.ts b/content/key-manager.ts index 8683b37660..49765fff5e 100644 --- a/content/key-manager.ts +++ b/content/key-manager.ts @@ -34,7 +34,7 @@ type CitekeySearchRecord = { itemID: number, libraryID: number, itemKey: string, export class KeyManager { public keys: any public query: { - field: { extra?: number } + field: { extra?: number, title?: number } type: { note?: number attachment?: number @@ -386,14 +386,19 @@ export class KeyManager { const m = keyLine.exec(extra) return m ? m[2].trim() : '' } - const db: Map = (await ZoteroDB.queryAsync(` + + type DBState = Map + const inzdb: DBState = (await ZoteroDB.queryAsync(` SELECT item.itemID, item.key, extra.value as extra FROM items item - LEFT JOIN itemData field ON field.itemID = item.itemID AND field.fieldID = ${this.query.field.extra} - LEFT JOIN itemDataValues extra ON extra.valueID = field.valueID - WHERE item.itemID NOT IN (select itemID from deletedItems) - AND item.itemTypeID NOT IN (${this.query.type.attachment}, ${this.query.type.note}, ${this.query.type.annotation || this.query.type.note}) - `)).reduce((acc: Map, item) => { + + LEFT JOIN itemData extraField ON extraField.itemID = item.itemID AND extraField.fieldID = ${this.query.field.extra} + LEFT JOIN itemDataValues extra ON extra.valueID = extraField.valueID + + WHERE item.itemID NOT IN (SELECT itemID FROM deletedItems) + AND item.itemTypeID NOT IN (${this.query.type.attachment}, ${this.query.type.note}, ${this.query.type.annotation || this.query.type.note}) + AND item.itemID NOT IN (SELECT itemID from feedItems) + `)).reduce((acc: DBState, item) => { acc.set(item.itemID, { itemKey: item.key, citationKey: getKey(item.extra), @@ -402,40 +407,34 @@ export class KeyManager { }, new Map) const deleted: number[] = [] - for (const item of this.keys.data) { - const key = db.get(item.itemID) + for (const bbt of this.keys.data) { + const zotero = inzdb.get(bbt.itemID) - if (!key) { - deleted.push(item.itemID) + if (!zotero) { + deleted.push(bbt.itemID) + // log.debug('keymanager.rescan: deleted', bbt, 'from key database, no counterpart in Zotero DB') } - else if (key.citationKey && (!item.pinned || item.citekey !== key.citationKey)) { - this.keys.update({...item, pinned: true, citekey: key.citationKey, itemKey: key.itemKey }) + else if (zotero.citationKey && (!bbt.pinned || bbt.citekey !== zotero.citationKey)) { + this.keys.update({...bbt, pinned: true, citekey: zotero.citationKey, itemKey: zotero.itemKey }) + // log.debug('keymanager.rescan: updated', bbt, 'using', zotero) } - else if (!key.citationKey && item.citekey && item.pinned) { - this.keys.update({...item, pinned: false, itemKey: key.itemKey}) + else if (!zotero.citationKey && bbt.citekey && bbt.pinned) { + this.keys.update({...bbt, pinned: false, itemKey: zotero.itemKey}) + // log.debug('keymanager.rescan: updated', bbt, 'using', zotero) } - else if (!item.citekey) { - this.regenerate.push(item.itemID) + else if (!bbt.citekey) { // this should not be possible + this.regenerate.push(bbt.itemID) + // log.debug('keymanager.rescan: regenerating', bbt, 'missing citekey') } - db.delete(item.itemID) + inzdb.delete(bbt.itemID) } + // if (inzdb.size) log.debug('keymanager.rescan:', inzdb.size, 'new items', { itemIDs: [...inzdb.entries()] }) this.keys.findAndRemove({ itemID: { $in: [...deleted, ...this.regenerate] } }) - this.regenerate.push(...db.keys()) - - const regenerate = ( - this.regenerate.length !== 0 - /* - && - ( - Preference.testing - || - Services.prompt.confirm(null, l10n.localize('KeyManager.regenerate'), l10n.localize('KeyManager.regenerate.confirm', { n: this.regenerate.length })) - ) - */ - ) - if (regenerate) { + this.regenerate.push(...inzdb.keys()) // generate new keys for items that are in the Z db but not in the BBT db + + if (this.regenerate.length) { const progressWin = new Zotero.ProgressWindow({ closeOnClick: false }) progressWin.changeHeadline('Better BibTeX: Assigning citation keys') progressWin.addDescription(`Found ${this.regenerate.length} items without a citation key`) diff --git a/content/key-manager/formatter.ts b/content/key-manager/formatter.ts index 77caa28a5c..dd9861cc45 100644 --- a/content/key-manager/formatter.ts +++ b/content/key-manager/formatter.ts @@ -300,7 +300,7 @@ class PatternFormatter { private months = { 1: 'jan', 2: 'feb', 3: 'mar', 4: 'apr', 5: 'may', 6: 'jun', 7: 'jul', 8: 'aug', 9: 'sep', 10: 'oct', 11: 'nov', 12: 'dec' } // eslint-disable-next-line @typescript-eslint/naming-convention,no-underscore-dangle,id-blacklist,id-match - private DOMParser = new DOMParser + private DOMParser: DOMParser private item: Item @@ -1301,6 +1301,7 @@ class PatternFormatter { private innerText(str: string): string { if (!str) return '' + if (!this.DOMParser) this.DOMParser = new DOMParser return this.DOMParser.parseFromString(`${str}`, 'text/html').documentElement.textContent } diff --git a/content/logger.ts b/content/logger.ts index 96b176751f..0a8ac23c11 100644 --- a/content/logger.ts +++ b/content/logger.ts @@ -5,9 +5,8 @@ declare var ZOTERO_TRANSLATOR_INFO: TranslatorMetadata // eslint-disable-line no declare const workerJob: Translator.Worker.Job declare const dump: (msg: string) => void -import { asciify } from './stringify' +import { fast_stringify as stringify, asciify } from './stringify' import { worker as inWorker } from './client' -import { inspect } from 'loupe' export function print(msg: string): void { dump(msg + '\n') @@ -40,7 +39,7 @@ class Logger { output += this.formatError({ message: m.errorCode ? `${m.message} (${m.errorCode})` : m.message, filename: m.fileName, lineno: m.lineNumber, colno: m.column, stack: m.stack }) } else { - output += inspect(m) + output += stringify(m) } output += ' ' diff --git a/content/stringify.ts b/content/stringify.ts index 5601f3c20f..fc8bc083f5 100644 --- a/content/stringify.ts +++ b/content/stringify.ts @@ -1,12 +1,19 @@ -import _stringify from 'fast-safe-stringify' +import fast_safe_stringify from 'fast-safe-stringify' export function asciify(str: string): string { return str.replace(/[\u007F-\uFFFF]/g, chr => `\\u${(`0000${chr.charCodeAt(0).toString(16)}`).substr(-4)}`) // eslint-disable-line no-magic-numbers } // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types -export function stringify(obj: any, replacer?: any, indent?: string | number, ucode?: boolean): string { - const stringified: string = _stringify.stable(obj, replacer, indent) +export function stable_stringify(obj: any, replacer?: any, indent?: string | number, ucode?: boolean): string { + const stringified: string = fast_safe_stringify.stable(obj, replacer, indent) + + return ucode ? asciify(stringified) : stringified +} + +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +export function fast_stringify(obj: any, replacer?: any, indent?: string | number, ucode?: boolean): string { + const stringified: string = fast_safe_stringify(obj, replacer, indent) return ucode ? asciify(stringified) : stringified } diff --git a/content/translators.ts b/content/translators.ts index 2156b4dd83..f54bab7708 100644 --- a/content/translators.ts +++ b/content/translators.ts @@ -201,10 +201,14 @@ export const Translators = new class { // eslint-disable-line @typescript-eslint return this.exportItems(job) } else { - return this.queue.add(() => this.exportItemsByQueuedWorker(job)) + return this.queueJob(job) } } + public async queueJob(job: ExportJob) { + return this.queue.add(() => this.exportItemsByQueuedWorker(job)) + } + private async exportItemsByQueuedWorker(job: ExportJob) { if (job.path && job.canceled) return '' await Zotero.BetterBibTeX.ready diff --git a/package-lock.json b/package-lock.json index a4e9c02198..641dfd61c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "zotero-better-bibtex", - "version": "6.7.36", + "version": "6.7.38", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "zotero-better-bibtex", - "version": "6.7.36", + "version": "6.7.38", "license": "ISC", "dependencies": { "@artsy/to-title-case": "^1.1.0", @@ -14,7 +14,7 @@ "@inkdropapp/html2markdown": "^2.6.5", "@lifeparticle/ap-style-title-case": "^1.5.0", "@ungap/structured-clone": "^1.0.1", - "ajv": "^8.11.0", + "ajv": "^8.11.2", "better-ajv-errors": "^1.2.0", "case": "^1.6.3", "citeproc": "^2.4.62", @@ -28,8 +28,8 @@ "jsesc": "^3.0.2", "kuromoji": "^0.1.2", "lodash": "^4.17.21", - "loupe": "^2.3.4", - "npm": "^8.19.2", + "loupe": "^2.3.6", + "npm": "^9.1.2", "ooooevan-jieba": "^1.0.3", "papaparse": "^5.3.2", "parse5": "^7.1.1", @@ -48,8 +48,8 @@ "@retorquere/zotero-sync": "^1.0.23", "@types/bluebird": "^3.5.37", "@types/lokijs": "^1.5.7", - "@types/node": "^18.11.7", - "@xmldom/xmldom": "^0.8.4", + "@types/node": "^18.11.9", + "@xmldom/xmldom": "^0.8.6", "ajv-keywords": "^5.1.0", "archiver": "^5.3.1", "assert": "^2.0.0", @@ -64,9 +64,9 @@ "dom-parser": "^0.1.6", "dotenv": "^16.0.3", "ejs": "^3.1.8", - "esbuild": "^0.15.12", + "esbuild": "^0.15.14", "escape-string-regexp": "^5.0.0", - "eslint": "^8.26.0", + "eslint": "^8.27.0", "estrace": "^4.1.1", "eta": "^1.12.3", "excel-column-name": "^1.0.1", @@ -105,8 +105,8 @@ "showdown": "^2.1.0", "string-template": "^1.0.0", "ts-node": "^10.9.1", - "tslib": "^2.4.0", - "typescript": "^4.8.4", + "tslib": "^2.4.1", + "typescript": "^4.9.3", "unicode-11.0.0": "^0.7.8", "unicode2latex": "^3.0.0", "uri-templates": "^0.2.0", @@ -604,9 +604,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.12.tgz", - "integrity": "sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.14.tgz", + "integrity": "sha512-+Rb20XXxRGisNu2WmNKk+scpanb7nL5yhuI1KR9wQFiC43ddPj/V1fmNyzlFC9bKiG4mYzxW7egtoHVcynr+OA==", "cpu": [ "arm" ], @@ -620,9 +620,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz", - "integrity": "sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.14.tgz", + "integrity": "sha512-eQi9rosGNVQFJyJWV0HCA5WZae/qWIQME7s8/j8DMvnylfBv62Pbu+zJ2eUDqNf2O4u3WB+OEXyfkpBoe194sg==", "cpu": [ "loong64" ], @@ -3039,9 +3039,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.11.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.7.tgz", - "integrity": "sha512-LhFTglglr63mNXUSRYD8A+ZAIu5sFqNJ4Y2fPuY7UlrySJH87rRRlhtVmMHplmfk5WkoJGmDjE9oiTfyX94CpQ==", + "version": "18.11.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", + "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -3277,9 +3277,9 @@ "integrity": "sha512-zKVyTt6rELvPXYwcVPTJcPFtY0AckN5A7xWuc7owBqR0FdtuDYhE9MZZUi6IY1kZUQFSXV1B3UOOIyLkVHYd2w==" }, "node_modules/@xmldom/xmldom": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.4.tgz", - "integrity": "sha512-JIsjTbWBWJHb2t1D4UNZIJ6ohlRYCdoGzeHSzTorMH2zOq3UKlSBzFBMBdFK3xnUD/ANHw/SUzl/vx0z0JrqRw==", + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.6.tgz", + "integrity": "sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg==", "dev": true, "engines": { "node": ">=10.0.0" @@ -3331,8 +3331,9 @@ } }, "node_modules/ajv": { - "version": "8.11.0", - "license": "MIT", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -4962,9 +4963,9 @@ "license": "MIT" }, "node_modules/esbuild": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.12.tgz", - "integrity": "sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.14.tgz", + "integrity": "sha512-pJN8j42fvWLFWwSMG4luuupl2Me7mxciUOsMegKvwCmhEbJ2covUdFnihxm0FMIBV+cbwbtMoHgMCCI+pj1btQ==", "dev": true, "hasInstallScript": true, "bin": { @@ -4974,34 +4975,34 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.15.12", - "@esbuild/linux-loong64": "0.15.12", - "esbuild-android-64": "0.15.12", - "esbuild-android-arm64": "0.15.12", - "esbuild-darwin-64": "0.15.12", - "esbuild-darwin-arm64": "0.15.12", - "esbuild-freebsd-64": "0.15.12", - "esbuild-freebsd-arm64": "0.15.12", - "esbuild-linux-32": "0.15.12", - "esbuild-linux-64": "0.15.12", - "esbuild-linux-arm": "0.15.12", - "esbuild-linux-arm64": "0.15.12", - "esbuild-linux-mips64le": "0.15.12", - "esbuild-linux-ppc64le": "0.15.12", - "esbuild-linux-riscv64": "0.15.12", - "esbuild-linux-s390x": "0.15.12", - "esbuild-netbsd-64": "0.15.12", - "esbuild-openbsd-64": "0.15.12", - "esbuild-sunos-64": "0.15.12", - "esbuild-windows-32": "0.15.12", - "esbuild-windows-64": "0.15.12", - "esbuild-windows-arm64": "0.15.12" + "@esbuild/android-arm": "0.15.14", + "@esbuild/linux-loong64": "0.15.14", + "esbuild-android-64": "0.15.14", + "esbuild-android-arm64": "0.15.14", + "esbuild-darwin-64": "0.15.14", + "esbuild-darwin-arm64": "0.15.14", + "esbuild-freebsd-64": "0.15.14", + "esbuild-freebsd-arm64": "0.15.14", + "esbuild-linux-32": "0.15.14", + "esbuild-linux-64": "0.15.14", + "esbuild-linux-arm": "0.15.14", + "esbuild-linux-arm64": "0.15.14", + "esbuild-linux-mips64le": "0.15.14", + "esbuild-linux-ppc64le": "0.15.14", + "esbuild-linux-riscv64": "0.15.14", + "esbuild-linux-s390x": "0.15.14", + "esbuild-netbsd-64": "0.15.14", + "esbuild-openbsd-64": "0.15.14", + "esbuild-sunos-64": "0.15.14", + "esbuild-windows-32": "0.15.14", + "esbuild-windows-64": "0.15.14", + "esbuild-windows-arm64": "0.15.14" } }, "node_modules/esbuild-android-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.12.tgz", - "integrity": "sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.14.tgz", + "integrity": "sha512-HuilVIb4rk9abT4U6bcFdU35UHOzcWVGLSjEmC58OVr96q5UiRqzDtWjPlCMugjhgUGKEs8Zf4ueIvYbOStbIg==", "cpu": [ "x64" ], @@ -5015,9 +5016,9 @@ } }, "node_modules/esbuild-android-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.12.tgz", - "integrity": "sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.14.tgz", + "integrity": "sha512-/QnxRVxsR2Vtf3XottAHj7hENAMW2wCs6S+OZcAbc/8nlhbAL/bCQRCVD78VtI5mdwqWkVi3wMqM94kScQCgqg==", "cpu": [ "arm64" ], @@ -5031,9 +5032,9 @@ } }, "node_modules/esbuild-darwin-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.12.tgz", - "integrity": "sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.14.tgz", + "integrity": "sha512-ToNuf1uifu8hhwWvoZJGCdLIX/1zpo8cOGnT0XAhDQXiKOKYaotVNx7pOVB1f+wHoWwTLInrOmh3EmA7Fd+8Vg==", "cpu": [ "x64" ], @@ -5047,9 +5048,9 @@ } }, "node_modules/esbuild-darwin-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.12.tgz", - "integrity": "sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.14.tgz", + "integrity": "sha512-KgGP+y77GszfYJgceO0Wi/PiRtYo5y2Xo9rhBUpxTPaBgWDJ14gqYN0+NMbu+qC2fykxXaipHxN4Scaj9tUS1A==", "cpu": [ "arm64" ], @@ -5063,9 +5064,9 @@ } }, "node_modules/esbuild-freebsd-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.12.tgz", - "integrity": "sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.14.tgz", + "integrity": "sha512-xr0E2n5lyWw3uFSwwUXHc0EcaBDtsal/iIfLioflHdhAe10KSctV978Te7YsfnsMKzcoGeS366+tqbCXdqDHQA==", "cpu": [ "x64" ], @@ -5079,9 +5080,9 @@ } }, "node_modules/esbuild-freebsd-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.12.tgz", - "integrity": "sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.14.tgz", + "integrity": "sha512-8XH96sOQ4b1LhMlO10eEWOjEngmZ2oyw3pW4o8kvBcpF6pULr56eeYVP5radtgw54g3T8nKHDHYEI5AItvskZg==", "cpu": [ "arm64" ], @@ -5095,9 +5096,9 @@ } }, "node_modules/esbuild-linux-32": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.12.tgz", - "integrity": "sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.14.tgz", + "integrity": "sha512-6ssnvwaTAi8AzKN8By2V0nS+WF5jTP7SfuK6sStGnDP7MCJo/4zHgM9oE1eQTS2jPmo3D673rckuCzRlig+HMA==", "cpu": [ "ia32" ], @@ -5111,9 +5112,9 @@ } }, "node_modules/esbuild-linux-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.12.tgz", - "integrity": "sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.14.tgz", + "integrity": "sha512-ONySx3U0wAJOJuxGUlXBWxVKFVpWv88JEv0NZ6NlHknmDd1yCbf4AEdClSgLrqKQDXYywmw4gYDvdLsS6z0hcw==", "cpu": [ "x64" ], @@ -5127,9 +5128,9 @@ } }, "node_modules/esbuild-linux-arm": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.12.tgz", - "integrity": "sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.14.tgz", + "integrity": "sha512-D2LImAIV3QzL7lHURyCHBkycVFbKwkDb1XEUWan+2fb4qfW7qAeUtul7ZIcIwFKZgPcl+6gKZmvLgPSj26RQ2Q==", "cpu": [ "arm" ], @@ -5143,9 +5144,9 @@ } }, "node_modules/esbuild-linux-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.12.tgz", - "integrity": "sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.14.tgz", + "integrity": "sha512-kle2Ov6a1e5AjlHlMQl1e+c4myGTeggrRzArQFmWp6O6JoqqB9hT+B28EW4tjFWgV/NxUq46pWYpgaWXsXRPAg==", "cpu": [ "arm64" ], @@ -5159,9 +5160,9 @@ } }, "node_modules/esbuild-linux-mips64le": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.12.tgz", - "integrity": "sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.14.tgz", + "integrity": "sha512-FVdMYIzOLXUq+OE7XYKesuEAqZhmAIV6qOoYahvUp93oXy0MOVTP370ECbPfGXXUdlvc0TNgkJa3YhEwyZ6MRA==", "cpu": [ "mips64el" ], @@ -5175,9 +5176,9 @@ } }, "node_modules/esbuild-linux-ppc64le": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.12.tgz", - "integrity": "sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.14.tgz", + "integrity": "sha512-2NzH+iuzMDA+jjtPjuIz/OhRDf8tzbQ1tRZJI//aT25o1HKc0reMMXxKIYq/8nSHXiJSnYV4ODzTiv45s+h73w==", "cpu": [ "ppc64" ], @@ -5191,9 +5192,9 @@ } }, "node_modules/esbuild-linux-riscv64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.12.tgz", - "integrity": "sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.14.tgz", + "integrity": "sha512-VqxvutZNlQxmUNS7Ac+aczttLEoHBJ9e3OYGqnULrfipRvG97qLrAv9EUY9iSrRKBqeEbSvS9bSfstZqwz0T4Q==", "cpu": [ "riscv64" ], @@ -5207,9 +5208,9 @@ } }, "node_modules/esbuild-linux-s390x": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.12.tgz", - "integrity": "sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.14.tgz", + "integrity": "sha512-+KVHEUshX5n6VP6Vp/AKv9fZIl5kr2ph8EUFmQUJnDpHwcfTSn2AQgYYm0HTBR2Mr4d0Wlr0FxF/Cs5pbFgiOw==", "cpu": [ "s390x" ], @@ -5223,9 +5224,9 @@ } }, "node_modules/esbuild-netbsd-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.12.tgz", - "integrity": "sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.14.tgz", + "integrity": "sha512-6D/dr17piEgevIm1xJfZP2SjB9Z+g8ERhNnBdlZPBWZl+KSPUKLGF13AbvC+nzGh8IxOH2TyTIdRMvKMP0nEzQ==", "cpu": [ "x64" ], @@ -5239,9 +5240,9 @@ } }, "node_modules/esbuild-openbsd-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.12.tgz", - "integrity": "sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.14.tgz", + "integrity": "sha512-rREQBIlMibBetgr2E9Lywt2Qxv2ZdpmYahR4IUlAQ1Efv/A5gYdO0/VIN3iowDbCNTLxp0bb57Vf0LFcffD6kA==", "cpu": [ "x64" ], @@ -5255,9 +5256,9 @@ } }, "node_modules/esbuild-sunos-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.12.tgz", - "integrity": "sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.14.tgz", + "integrity": "sha512-DNVjSp/BY4IfwtdUAvWGIDaIjJXY5KI4uD82+15v6k/w7px9dnaDaJJ2R6Mu+KCgr5oklmFc0KjBjh311Gxl9Q==", "cpu": [ "x64" ], @@ -5271,9 +5272,9 @@ } }, "node_modules/esbuild-windows-32": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.12.tgz", - "integrity": "sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.14.tgz", + "integrity": "sha512-pHBWrcA+/oLgvViuG9FO3kNPO635gkoVrRQwe6ZY1S0jdET07xe2toUvQoJQ8KT3/OkxqUasIty5hpuKFLD+eg==", "cpu": [ "ia32" ], @@ -5287,9 +5288,9 @@ } }, "node_modules/esbuild-windows-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.12.tgz", - "integrity": "sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.14.tgz", + "integrity": "sha512-CszIGQVk/P8FOS5UgAH4hKc9zOaFo69fe+k1rqgBHx3CSK3Opyk5lwYriIamaWOVjBt7IwEP6NALz+tkVWdFog==", "cpu": [ "x64" ], @@ -5303,9 +5304,9 @@ } }, "node_modules/esbuild-windows-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.12.tgz", - "integrity": "sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.14.tgz", + "integrity": "sha512-KW9W4psdZceaS9A7Jsgl4WialOznSURvqX/oHZk3gOP7KbjtHLSsnmSvNdzagGJfxbAe30UVGXRe8q8nDsOSQw==", "cpu": [ "arm64" ], @@ -5337,9 +5338,9 @@ } }, "node_modules/eslint": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", - "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz", + "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.3.3", @@ -8212,8 +8213,9 @@ } }, "node_modules/loupe": { - "version": "2.3.4", - "license": "MIT", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", "dependencies": { "get-func-name": "^2.0.0" } @@ -9525,24 +9527,21 @@ "version": "0.1.0" }, "node_modules/npm": { - "version": "8.19.2", - "resolved": "https://registry.npmjs.org/npm/-/npm-8.19.2.tgz", - "integrity": "sha512-MWkISVv5f7iZbfNkry5/5YBqSYJEDAKSJdL+uzSQuyLg+hgLQUyZynu3SH6bOZlvR9ZvJYk2EiJO6B1r+ynwHg==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm/-/npm-9.1.2.tgz", + "integrity": "sha512-qOFg33/5YCHLArtRBep9HJydPZURbCwt8nxwXDRHZO9PZtTUMCo1C4iXBFPW1TxnzAdHscdw76ihbupdmL7cmw==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", - "@npmcli/ci-detect", "@npmcli/config", - "@npmcli/fs", "@npmcli/map-workspaces", "@npmcli/package-json", - "@npmcli/promise-spawn", "@npmcli/run-script", "abbrev", "archy", "cacache", "chalk", - "chownr", + "ci-info", "cli-columns", "cli-table3", "columnify", @@ -9571,7 +9570,6 @@ "minipass", "minipass-pipeline", "mkdirp", - "mkdirp-infer-owner", "ms", "node-gyp", "nopt", @@ -9583,7 +9581,6 @@ "npm-registry-fetch", "npm-user-validate", "npmlog", - "opener", "p-map", "pacote", "parse-conflict-json", @@ -9592,7 +9589,6 @@ "read", "read-package-json", "read-package-json-fast", - "readdir-scoped-modules", "rimraf", "semver", "ssri", @@ -9606,86 +9602,80 @@ ], "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^5.6.2", - "@npmcli/ci-detect": "^2.0.0", - "@npmcli/config": "^4.2.1", - "@npmcli/fs": "^2.1.0", - "@npmcli/map-workspaces": "^2.0.3", - "@npmcli/package-json": "^2.0.0", - "@npmcli/promise-spawn": "*", - "@npmcli/run-script": "^4.2.1", - "abbrev": "~1.1.1", + "@npmcli/arborist": "^6.1.3", + "@npmcli/config": "^6.1.0", + "@npmcli/map-workspaces": "^3.0.0", + "@npmcli/package-json": "^3.0.0", + "@npmcli/run-script": "^6.0.0", + "abbrev": "^2.0.0", "archy": "~1.0.0", - "cacache": "^16.1.3", + "cacache": "^17.0.2", "chalk": "^4.1.2", - "chownr": "^2.0.0", + "ci-info": "^3.6.1", "cli-columns": "^4.0.0", - "cli-table3": "^0.6.2", + "cli-table3": "^0.6.3", "columnify": "^1.6.0", - "fastest-levenshtein": "^1.0.12", - "fs-minipass": "*", + "fastest-levenshtein": "^1.0.16", + "fs-minipass": "^2.1.0", "glob": "^8.0.1", "graceful-fs": "^4.2.10", - "hosted-git-info": "^5.1.0", + "hosted-git-info": "^6.1.1", "ini": "^3.0.1", - "init-package-json": "^3.0.2", + "init-package-json": "^4.0.1", "is-cidr": "^4.0.2", - "json-parse-even-better-errors": "^2.3.1", - "libnpmaccess": "^6.0.4", - "libnpmdiff": "^4.0.5", - "libnpmexec": "^4.0.13", - "libnpmfund": "^3.0.4", - "libnpmhook": "^8.0.4", - "libnpmorg": "^4.0.4", - "libnpmpack": "^4.1.3", - "libnpmpublish": "^6.0.5", - "libnpmsearch": "^5.0.4", - "libnpmteam": "^4.0.4", - "libnpmversion": "^3.0.7", - "make-fetch-happen": "^10.2.0", - "minimatch": "*", + "json-parse-even-better-errors": "^3.0.0", + "libnpmaccess": "^7.0.0", + "libnpmdiff": "^5.0.4", + "libnpmexec": "^5.0.4", + "libnpmfund": "^4.0.4", + "libnpmhook": "^9.0.0", + "libnpmorg": "^5.0.0", + "libnpmpack": "^5.0.4", + "libnpmpublish": "^7.0.4", + "libnpmsearch": "^6.0.0", + "libnpmteam": "^5.0.0", + "libnpmversion": "^4.0.1", + "make-fetch-happen": "^11.0.1", + "minimatch": "^5.1.0", "minipass": "^3.1.6", "minipass-pipeline": "^1.2.4", "mkdirp": "^1.0.4", - "mkdirp-infer-owner": "^2.0.0", "ms": "^2.1.2", - "node-gyp": "^9.1.0", - "nopt": "^6.0.0", - "npm-audit-report": "^3.0.0", - "npm-install-checks": "^5.0.0", - "npm-package-arg": "^9.1.0", - "npm-pick-manifest": "^7.0.2", - "npm-profile": "^6.2.0", - "npm-registry-fetch": "^13.3.1", + "node-gyp": "^9.3.0", + "nopt": "^7.0.0", + "npm-audit-report": "^4.0.0", + "npm-install-checks": "^6.0.0", + "npm-package-arg": "^10.0.0", + "npm-pick-manifest": "^8.0.1", + "npm-profile": "^7.0.1", + "npm-registry-fetch": "^14.0.2", "npm-user-validate": "^1.0.1", - "npmlog": "^6.0.2", - "opener": "^1.5.2", + "npmlog": "^7.0.1", "p-map": "^4.0.0", - "pacote": "^13.6.2", - "parse-conflict-json": "^2.0.2", - "proc-log": "^2.0.1", + "pacote": "^15.0.6", + "parse-conflict-json": "^3.0.0", + "proc-log": "^3.0.0", "qrcode-terminal": "^0.12.0", "read": "~1.0.7", - "read-package-json": "^5.0.2", - "read-package-json-fast": "^2.0.3", - "readdir-scoped-modules": "^1.1.0", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.1", "rimraf": "^3.0.2", - "semver": "^7.3.7", - "ssri": "^9.0.1", - "tar": "^6.1.11", + "semver": "^7.3.8", + "ssri": "^10.0.0", + "tar": "^6.1.12", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", - "treeverse": "^2.0.0", - "validate-npm-package-name": "^4.0.0", - "which": "^2.0.2", - "write-file-atomic": "^4.0.1" + "treeverse": "^3.0.0", + "validate-npm-package-name": "^5.0.0", + "which": "^3.0.0", + "write-file-atomic": "^5.0.0" }, "bin": { "npm": "bin/npm-cli.js", "npx": "bin/npx-cli.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-run-path": { @@ -9725,183 +9715,150 @@ "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "5.6.2", + "version": "6.1.3", "inBundle": true, "license": "ISC", "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/map-workspaces": "^2.0.3", - "@npmcli/metavuln-calculator": "^3.0.1", - "@npmcli/move-file": "^2.0.0", + "@npmcli/fs": "^3.1.0", + "@npmcli/installed-package-contents": "^2.0.0", + "@npmcli/map-workspaces": "^3.0.0", + "@npmcli/metavuln-calculator": "^5.0.0", "@npmcli/name-from-folder": "^1.0.1", - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/package-json": "^2.0.0", - "@npmcli/query": "^1.2.0", - "@npmcli/run-script": "^4.1.3", - "bin-links": "^3.0.3", - "cacache": "^16.1.3", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^3.0.0", + "@npmcli/query": "^3.0.0", + "@npmcli/run-script": "^6.0.0", + "bin-links": "^4.0.1", + "cacache": "^17.0.2", "common-ancestor-path": "^1.0.1", - "json-parse-even-better-errors": "^2.3.1", + "hosted-git-info": "^6.1.1", + "json-parse-even-better-errors": "^3.0.0", "json-stringify-nice": "^1.1.4", "minimatch": "^5.1.0", - "mkdirp": "^1.0.4", - "mkdirp-infer-owner": "^2.0.0", - "nopt": "^6.0.0", - "npm-install-checks": "^5.0.0", - "npm-package-arg": "^9.0.0", - "npm-pick-manifest": "^7.0.2", - "npm-registry-fetch": "^13.0.0", - "npmlog": "^6.0.2", - "pacote": "^13.6.1", - "parse-conflict-json": "^2.0.1", - "proc-log": "^2.0.0", + "nopt": "^7.0.0", + "npm-install-checks": "^6.0.0", + "npm-package-arg": "^10.0.0", + "npm-pick-manifest": "^8.0.1", + "npm-registry-fetch": "^14.0.2", + "npmlog": "^7.0.1", + "pacote": "^15.0.2", + "parse-conflict-json": "^3.0.0", + "proc-log": "^3.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^1.0.1", - "read-package-json-fast": "^2.0.2", - "readdir-scoped-modules": "^1.1.0", - "rimraf": "^3.0.2", + "read-package-json-fast": "^3.0.1", "semver": "^7.3.7", - "ssri": "^9.0.0", - "treeverse": "^2.0.0", + "ssri": "^10.0.0", + "treeverse": "^3.0.0", "walk-up-path": "^1.0.0" }, "bin": { "arborist": "bin/index.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/npm/node_modules/@npmcli/ci-detect": { - "version": "2.0.0", - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "4.2.2", + "version": "6.1.0", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/map-workspaces": "^2.0.2", + "@npmcli/map-workspaces": "^3.0.0", "ini": "^3.0.0", - "mkdirp-infer-owner": "^2.0.0", - "nopt": "^6.0.0", - "proc-log": "^2.0.0", - "read-package-json-fast": "^2.0.3", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", + "read-package-json-fast": "^3.0.0", "semver": "^7.3.5", "walk-up-path": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/disparity-colors": { - "version": "2.0.0", + "version": "3.0.0", "inBundle": true, "license": "ISC", "dependencies": { "ansi-styles": "^4.3.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/fs": { - "version": "2.1.2", + "version": "3.1.0", "inBundle": true, "license": "ISC", "dependencies": { - "@gar/promisify": "^1.1.3", "semver": "^7.3.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "3.0.2", + "version": "4.0.3", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", "lru-cache": "^7.4.4", "mkdirp": "^1.0.4", - "npm-pick-manifest": "^7.0.0", - "proc-log": "^2.0.0", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^2.0.2" + "which": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { - "version": "1.0.7", + "version": "2.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "bin": { - "installed-package-contents": "index.js" + "installed-package-contents": "lib/index.js" }, "engines": { - "node": ">= 10" - } - }, - "node_modules/npm/node_modules/@npmcli/installed-package-contents/node_modules/npm-bundled": { - "version": "1.1.2", - "inBundle": true, - "license": "ISC", - "dependencies": { - "npm-normalize-package-bin": "^1.0.1" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "2.0.4", + "version": "3.0.0", "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/name-from-folder": "^1.0.1", "glob": "^8.0.1", "minimatch": "^5.0.1", - "read-package-json-fast": "^2.0.3" + "read-package-json-fast": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "3.1.1", + "version": "5.0.0", "inBundle": true, "license": "ISC", "dependencies": { - "cacache": "^16.0.0", - "json-parse-even-better-errors": "^2.3.1", - "pacote": "^13.0.3", + "cacache": "^17.0.0", + "json-parse-even-better-errors": "^3.0.0", + "pacote": "^15.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/npm/node_modules/@npmcli/move-file": { - "version": "2.0.1", - "inBundle": true, - "license": "MIT", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/name-from-folder": { @@ -9910,61 +9867,59 @@ "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/node-gyp": { - "version": "2.0.0", + "version": "3.0.0", "inBundle": true, "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "2.0.0", + "version": "3.0.0", "inBundle": true, "license": "ISC", "dependencies": { - "json-parse-even-better-errors": "^2.3.1" + "json-parse-even-better-errors": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "3.0.0", + "version": "6.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "infer-owner": "^1.0.4" + "which": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/query": { - "version": "1.2.0", + "version": "3.0.0", "inBundle": true, "license": "ISC", "dependencies": { - "npm-package-arg": "^9.1.0", - "postcss-selector-parser": "^6.0.10", - "semver": "^7.3.7" + "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "4.2.1", + "version": "6.0.0", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", "node-gyp": "^9.0.0", - "read-package-json-fast": "^2.0.3", - "which": "^2.0.2" + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@tootallnate/once": { @@ -9976,9 +9931,23 @@ } }, "node_modules/npm/node_modules/abbrev": { - "version": "1.1.1", + "version": "2.0.0", "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/abort-controller": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } }, "node_modules/npm/node_modules/agent-base": { "version": "6.0.2", @@ -10049,49 +10018,90 @@ "license": "MIT" }, "node_modules/npm/node_modules/are-we-there-yet": { - "version": "3.0.1", + "version": "4.0.0", "inBundle": true, "license": "ISC", "dependencies": { "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "readable-stream": "^4.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/asap": { - "version": "2.0.6", + "node_modules/npm/node_modules/are-we-there-yet/node_modules/buffer": { + "version": "6.0.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "inBundle": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/npm/node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "4.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", "inBundle": true, "license": "MIT" }, + "node_modules/npm/node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, "node_modules/npm/node_modules/bin-links": { - "version": "3.0.3", + "version": "4.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "cmd-shim": "^5.0.0", - "mkdirp-infer-owner": "^2.0.0", - "npm-normalize-package-bin": "^2.0.0", - "read-cmd-shim": "^3.0.0", - "rimraf": "^3.0.0", - "write-file-atomic": "^4.0.0" + "cmd-shim": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "read-cmd-shim": "^4.0.0", + "write-file-atomic": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/npm/node_modules/bin-links/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/binary-extensions": { @@ -10119,31 +10129,26 @@ } }, "node_modules/npm/node_modules/cacache": { - "version": "16.1.3", + "version": "17.0.2", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", + "@npmcli/fs": "^3.1.0", "fs-minipass": "^2.1.0", "glob": "^8.0.1", - "infer-owner": "^1.0.4", "lru-cache": "^7.7.1", "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11", - "unique-filename": "^2.0.0" + "unique-filename": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/chalk": { @@ -10169,6 +10174,14 @@ "node": ">=10" } }, + "node_modules/npm/node_modules/ci-info": { + "version": "3.6.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/npm/node_modules/cidr-regex": { "version": "3.1.1", "inBundle": true, @@ -10201,7 +10214,7 @@ } }, "node_modules/npm/node_modules/cli-table3": { - "version": "0.6.2", + "version": "0.6.3", "inBundle": true, "license": "MIT", "dependencies": { @@ -10223,14 +10236,11 @@ } }, "node_modules/npm/node_modules/cmd-shim": { - "version": "5.0.0", + "version": "6.0.0", "inBundle": true, "license": "ISC", - "dependencies": { - "mkdirp-infer-owner": "^2.0.0" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/color-convert": { @@ -10316,14 +10326,6 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/debuglog": { - "version": "1.0.1", - "inBundle": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/npm/node_modules/defaults": { "version": "1.0.3", "inBundle": true, @@ -10345,15 +10347,6 @@ "node": ">= 0.6" } }, - "node_modules/npm/node_modules/dezalgo": { - "version": "1.0.4", - "inBundle": true, - "license": "ISC", - "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, "node_modules/npm/node_modules/diff": { "version": "5.1.0", "inBundle": true, @@ -10389,10 +10382,29 @@ "inBundle": true, "license": "MIT" }, + "node_modules/npm/node_modules/event-target-shim": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/events": { + "version": "3.3.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, "node_modules/npm/node_modules/fastest-levenshtein": { - "version": "1.0.12", + "version": "1.0.16", "inBundle": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } }, "node_modules/npm/node_modules/fs-minipass": { "version": "2.1.0", @@ -10416,7 +10428,7 @@ "license": "MIT" }, "node_modules/npm/node_modules/gauge": { - "version": "4.0.4", + "version": "5.0.0", "inBundle": true, "license": "ISC", "dependencies": { @@ -10430,7 +10442,7 @@ "wide-align": "^1.1.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/glob": { @@ -10481,14 +10493,14 @@ "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "5.1.0", + "version": "6.1.1", "inBundle": true, "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/http-cache-semantics": { @@ -10541,15 +10553,34 @@ "node": ">=0.10.0" } }, + "node_modules/npm/node_modules/ieee754": { + "version": "1.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "BSD-3-Clause" + }, "node_modules/npm/node_modules/ignore-walk": { - "version": "5.0.1", + "version": "6.0.0", "inBundle": true, "license": "ISC", "dependencies": { "minimatch": "^5.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/imurmurhash": { @@ -10596,20 +10627,20 @@ } }, "node_modules/npm/node_modules/init-package-json": { - "version": "3.0.2", + "version": "4.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "npm-package-arg": "^9.0.1", + "npm-package-arg": "^10.0.0", "promzard": "^0.3.0", "read": "^1.0.7", - "read-package-json": "^5.0.0", + "read-package-json": "^6.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^4.0.0" + "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/ip": { @@ -10666,9 +10697,12 @@ "license": "ISC" }, "node_modules/npm/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", + "version": "3.0.0", "inBundle": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, "node_modules/npm/node_modules/json-stringify-nice": { "version": "1.1.4", @@ -10697,160 +10731,158 @@ "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { - "version": "6.0.4", + "version": "7.0.0", "inBundle": true, "license": "ISC", "dependencies": { - "aproba": "^2.0.0", - "minipass": "^3.1.1", - "npm-package-arg": "^9.0.1", - "npm-registry-fetch": "^13.0.0" + "npm-package-arg": "^10.0.0", + "npm-registry-fetch": "^14.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "4.0.5", + "version": "5.0.4", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/disparity-colors": "^2.0.0", - "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/arborist": "^6.1.3", + "@npmcli/disparity-colors": "^3.0.0", + "@npmcli/installed-package-contents": "^2.0.0", "binary-extensions": "^2.2.0", "diff": "^5.1.0", "minimatch": "^5.0.1", - "npm-package-arg": "^9.0.1", - "pacote": "^13.6.1", + "npm-package-arg": "^10.0.0", + "pacote": "^15.0.2", "tar": "^6.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "4.0.13", + "version": "5.0.4", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^5.6.2", - "@npmcli/ci-detect": "^2.0.0", - "@npmcli/fs": "^2.1.1", - "@npmcli/run-script": "^4.2.0", + "@npmcli/arborist": "^6.1.3", + "@npmcli/run-script": "^6.0.0", "chalk": "^4.1.0", - "mkdirp-infer-owner": "^2.0.0", - "npm-package-arg": "^9.0.1", - "npmlog": "^6.0.2", - "pacote": "^13.6.1", - "proc-log": "^2.0.0", + "ci-info": "^3.6.1", + "npm-package-arg": "^10.0.0", + "npmlog": "^7.0.1", + "pacote": "^15.0.2", + "proc-log": "^3.0.0", "read": "^1.0.7", - "read-package-json-fast": "^2.0.2", + "read-package-json-fast": "^3.0.1", "semver": "^7.3.7", "walk-up-path": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "3.0.4", + "version": "4.0.4", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^5.6.2" + "@npmcli/arborist": "^6.1.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmhook": { - "version": "8.0.4", + "version": "9.0.0", "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^13.0.0" + "npm-registry-fetch": "^14.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmorg": { - "version": "4.0.4", + "version": "5.0.0", "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^13.0.0" + "npm-registry-fetch": "^14.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "4.1.3", + "version": "5.0.4", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/run-script": "^4.1.3", - "npm-package-arg": "^9.0.1", - "pacote": "^13.6.1" + "@npmcli/arborist": "^6.1.3", + "@npmcli/run-script": "^6.0.0", + "npm-package-arg": "^10.0.0", + "pacote": "^15.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "6.0.5", + "version": "7.0.4", "inBundle": true, "license": "ISC", "dependencies": { - "normalize-package-data": "^4.0.0", - "npm-package-arg": "^9.0.1", - "npm-registry-fetch": "^13.0.0", + "normalize-package-data": "^5.0.0", + "npm-package-arg": "^10.0.0", + "npm-registry-fetch": "^14.0.2", "semver": "^7.3.7", - "ssri": "^9.0.0" + "ssri": "^10.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmsearch": { - "version": "5.0.4", + "version": "6.0.0", "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^13.0.0" + "npm-registry-fetch": "^14.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmteam": { - "version": "4.0.4", + "version": "5.0.0", "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^13.0.0" + "npm-registry-fetch": "^14.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmversion": { - "version": "3.0.7", + "version": "4.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^3.0.0", - "@npmcli/run-script": "^4.1.3", - "json-parse-even-better-errors": "^2.3.1", - "proc-log": "^2.0.0", + "@npmcli/git": "^4.0.1", + "@npmcli/run-script": "^6.0.0", + "json-parse-even-better-errors": "^3.0.0", + "proc-log": "^3.0.0", "semver": "^7.3.7" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/lru-cache": { @@ -10862,12 +10894,12 @@ } }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "10.2.1", + "version": "11.0.1", "inBundle": true, "license": "ISC", "dependencies": { "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", + "cacache": "^17.0.0", "http-cache-semantics": "^4.1.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", @@ -10875,16 +10907,16 @@ "lru-cache": "^7.7.1", "minipass": "^3.1.6", "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", + "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" + "ssri": "^10.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/minimatch": { @@ -10921,7 +10953,7 @@ } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "2.1.1", + "version": "3.0.0", "inBundle": true, "license": "MIT", "dependencies": { @@ -10930,7 +10962,7 @@ "minizlib": "^2.1.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" }, "optionalDependencies": { "encoding": "^0.1.13" @@ -11001,19 +11033,6 @@ "node": ">=10" } }, - "node_modules/npm/node_modules/mkdirp-infer-owner": { - "version": "2.0.0", - "inBundle": true, - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "infer-owner": "^1.0.4", - "mkdirp": "^1.0.3" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/npm/node_modules/ms": { "version": "2.1.3", "inBundle": true, @@ -11033,7 +11052,7 @@ } }, "node_modules/npm/node_modules/node-gyp": { - "version": "9.1.0", + "version": "9.3.0", "inBundle": true, "license": "MIT", "dependencies": { @@ -11041,7 +11060,7 @@ "glob": "^7.1.4", "graceful-fs": "^4.2.6", "make-fetch-happen": "^10.0.3", - "nopt": "^5.0.0", + "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", "semver": "^7.3.5", @@ -11055,6 +11074,47 @@ "node": "^12.22 || ^14.13 || >=16" } }, + "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/fs": { + "version": "2.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/move-file": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/abbrev": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/node-gyp/node_modules/are-we-there-yet": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": { "version": "1.1.11", "inBundle": true, @@ -11064,6 +11124,89 @@ "concat-map": "0.0.1" } }, + "node_modules/npm/node_modules/node-gyp/node_modules/cacache": { + "version": "16.1.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/glob": { + "version": "8.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minimatch": { + "version": "5.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/gauge": { + "version": "4.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/npm/node_modules/node-gyp/node_modules/glob": { "version": "7.2.3", "inBundle": true, @@ -11083,6 +11226,32 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": { + "version": "10.2.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": { "version": "3.1.2", "inBundle": true, @@ -11094,21 +11263,23 @@ "node": "*" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { - "version": "5.0.0", + "node_modules/npm/node_modules/node-gyp/node_modules/minipass-fetch": { + "version": "2.1.2", "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/npm/node_modules/nopt": { + "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { "version": "6.0.0", "inBundle": true, "license": "ISC", @@ -11122,154 +11293,202 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/npm/node_modules/normalize-package-data": { - "version": "4.0.1", + "node_modules/npm/node_modules/node-gyp/node_modules/npmlog": { + "version": "6.0.2", "inBundle": true, - "license": "BSD-2-Clause", + "license": "ISC", "dependencies": { - "hosted-git-info": "^5.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/npm/node_modules/npm-audit-report": { - "version": "3.0.0", + "node_modules/npm/node_modules/node-gyp/node_modules/ssri": { + "version": "9.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "chalk": "^4.0.0" + "minipass": "^3.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/npm/node_modules/npm-bundled": { + "node_modules/npm/node_modules/node-gyp/node_modules/unique-filename": { "version": "2.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "npm-normalize-package-bin": "^2.0.0" + "unique-slug": "^3.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/npm/node_modules/npm-bundled/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", + "node_modules/npm/node_modules/node-gyp/node_modules/unique-slug": { + "version": "3.0.0", "inBundle": true, "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/npm/node_modules/npm-install-checks": { - "version": "5.0.0", + "node_modules/npm/node_modules/node-gyp/node_modules/which": { + "version": "2.0.2", "inBundle": true, - "license": "BSD-2-Clause", + "license": "ISC", "dependencies": { - "semver": "^7.1.1" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 8" } }, - "node_modules/npm/node_modules/npm-normalize-package-bin": { - "version": "1.0.1", + "node_modules/npm/node_modules/nopt": { + "version": "7.0.0", "inBundle": true, - "license": "ISC" + "license": "ISC", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, - "node_modules/npm/node_modules/npm-package-arg": { - "version": "9.1.0", + "node_modules/npm/node_modules/normalize-package-data": { + "version": "5.0.0", "inBundle": true, - "license": "ISC", + "license": "BSD-2-Clause", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", + "hosted-git-info": "^6.0.0", + "is-core-module": "^2.8.1", "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/npm-packlist": { - "version": "5.1.3", + "node_modules/npm/node_modules/npm-audit-report": { + "version": "4.0.0", "inBundle": true, "license": "ISC", "dependencies": { - "glob": "^8.0.1", - "ignore-walk": "^5.0.1", - "npm-bundled": "^2.0.0", - "npm-normalize-package-bin": "^2.0.0" + "chalk": "^4.0.0" }, - "bin": { - "npm-packlist": "bin/index.js" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-bundled": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/npm-packlist/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", + "node_modules/npm/node_modules/npm-install-checks": { + "version": "6.0.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "3.0.0", "inBundle": true, "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/npm-pick-manifest": { + "node_modules/npm/node_modules/npm-package-arg": { + "version": "10.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/npm-packlist": { "version": "7.0.2", "inBundle": true, "license": "ISC", "dependencies": { - "npm-install-checks": "^5.0.0", - "npm-normalize-package-bin": "^2.0.0", - "npm-package-arg": "^9.0.0", - "semver": "^7.3.5" + "ignore-walk": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "8.0.1", "inBundle": true, "license": "ISC", + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", + "semver": "^7.3.5" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/npm-profile": { - "version": "6.2.1", + "version": "7.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0" + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "13.3.1", + "version": "14.0.2", "inBundle": true, "license": "ISC", "dependencies": { - "make-fetch-happen": "^10.0.6", + "make-fetch-happen": "^11.0.0", "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", + "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/npm-user-validate": { @@ -11278,17 +11497,17 @@ "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/npmlog": { - "version": "6.0.2", + "version": "7.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "are-we-there-yet": "^3.0.0", + "are-we-there-yet": "^4.0.0", "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", + "gauge": "^5.0.0", "set-blocking": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/once": { @@ -11299,14 +11518,6 @@ "wrappy": "1" } }, - "node_modules/npm/node_modules/opener": { - "version": "1.5.2", - "inBundle": true, - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, "node_modules/npm/node_modules/p-map": { "version": "4.0.0", "inBundle": true, @@ -11322,50 +11533,46 @@ } }, "node_modules/npm/node_modules/pacote": { - "version": "13.6.2", + "version": "15.0.6", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^3.0.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/run-script": "^4.1.0", - "cacache": "^16.0.0", - "chownr": "^2.0.0", + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", "minipass": "^3.1.6", - "mkdirp": "^1.0.4", - "npm-package-arg": "^9.0.0", - "npm-packlist": "^5.1.0", - "npm-pick-manifest": "^7.0.0", - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^5.0.0", - "read-package-json-fast": "^2.0.3", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11" }, "bin": { "pacote": "lib/bin.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/parse-conflict-json": { - "version": "2.0.2", + "version": "3.0.0", "inBundle": true, "license": "ISC", "dependencies": { - "json-parse-even-better-errors": "^2.3.1", + "json-parse-even-better-errors": "^3.0.0", "just-diff": "^5.0.1", "just-diff-apply": "^5.2.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/path-is-absolute": { @@ -11389,11 +11596,19 @@ } }, "node_modules/npm/node_modules/proc-log": { - "version": "2.0.1", + "version": "3.0.0", "inBundle": true, "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/process": { + "version": "0.11.10", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" } }, "node_modules/npm/node_modules/promise-all-reject-late": { @@ -11456,45 +11671,37 @@ } }, "node_modules/npm/node_modules/read-cmd-shim": { - "version": "3.0.0", + "version": "4.0.0", "inBundle": true, "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/read-package-json": { - "version": "5.0.2", + "version": "6.0.0", "inBundle": true, "license": "ISC", "dependencies": { "glob": "^8.0.1", - "json-parse-even-better-errors": "^2.3.1", - "normalize-package-data": "^4.0.0", - "npm-normalize-package-bin": "^2.0.0" + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/read-package-json-fast": { - "version": "2.0.3", + "version": "3.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/npm/node_modules/read-package-json/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/readable-stream": { @@ -11510,17 +11717,6 @@ "node": ">= 6" } }, - "node_modules/npm/node_modules/readdir-scoped-modules": { - "version": "1.1.0", - "inBundle": true, - "license": "ISC", - "dependencies": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, "node_modules/npm/node_modules/retry": { "version": "0.12.0", "inBundle": true, @@ -11608,7 +11804,7 @@ "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.3.7", + "version": "7.3.8", "inBundle": true, "license": "ISC", "dependencies": { @@ -11706,14 +11902,14 @@ "license": "CC0-1.0" }, "node_modules/npm/node_modules/ssri": { - "version": "9.0.1", + "version": "10.0.0", "inBundle": true, "license": "ISC", "dependencies": { "minipass": "^3.1.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/string_decoder": { @@ -11760,7 +11956,7 @@ } }, "node_modules/npm/node_modules/tar": { - "version": "6.1.11", + "version": "6.1.12", "inBundle": true, "license": "ISC", "dependencies": { @@ -11772,7 +11968,7 @@ "yallist": "^4.0.0" }, "engines": { - "node": ">= 10" + "node": ">=10" } }, "node_modules/npm/node_modules/text-table": { @@ -11786,33 +11982,33 @@ "license": "MIT" }, "node_modules/npm/node_modules/treeverse": { - "version": "2.0.0", + "version": "3.0.0", "inBundle": true, "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/unique-filename": { - "version": "2.0.1", + "version": "3.0.0", "inBundle": true, "license": "ISC", "dependencies": { - "unique-slug": "^3.0.0" + "unique-slug": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/unique-slug": { - "version": "3.0.0", + "version": "4.0.0", "inBundle": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/util-deprecate": { @@ -11830,14 +12026,14 @@ } }, "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "4.0.0", + "version": "5.0.0", "inBundle": true, "license": "ISC", "dependencies": { "builtins": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/walk-up-path": { @@ -11854,17 +12050,17 @@ } }, "node_modules/npm/node_modules/which": { - "version": "2.0.2", + "version": "3.0.0", "inBundle": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, "bin": { - "node-which": "bin/node-which" + "node-which": "bin/which.js" }, "engines": { - "node": ">= 8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/wide-align": { @@ -11881,7 +12077,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/write-file-atomic": { - "version": "4.0.2", + "version": "5.0.0", "inBundle": true, "license": "ISC", "dependencies": { @@ -11889,7 +12085,7 @@ "signal-exit": "^3.0.7" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/yallist": { @@ -16982,8 +17178,9 @@ } }, "node_modules/tslib": { - "version": "2.4.0", - "license": "0BSD" + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -17030,9 +17227,9 @@ } }, "node_modules/typescript": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", - "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -18572,16 +18769,16 @@ "requires": {} }, "@esbuild/android-arm": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.12.tgz", - "integrity": "sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.14.tgz", + "integrity": "sha512-+Rb20XXxRGisNu2WmNKk+scpanb7nL5yhuI1KR9wQFiC43ddPj/V1fmNyzlFC9bKiG4mYzxW7egtoHVcynr+OA==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz", - "integrity": "sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.14.tgz", + "integrity": "sha512-eQi9rosGNVQFJyJWV0HCA5WZae/qWIQME7s8/j8DMvnylfBv62Pbu+zJ2eUDqNf2O4u3WB+OEXyfkpBoe194sg==", "dev": true, "optional": true }, @@ -20182,9 +20379,9 @@ "dev": true }, "@types/node": { - "version": "18.11.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.7.tgz", - "integrity": "sha512-LhFTglglr63mNXUSRYD8A+ZAIu5sFqNJ4Y2fPuY7UlrySJH87rRRlhtVmMHplmfk5WkoJGmDjE9oiTfyX94CpQ==", + "version": "18.11.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", + "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==", "dev": true }, "@types/normalize-package-data": { @@ -20325,9 +20522,9 @@ "integrity": "sha512-zKVyTt6rELvPXYwcVPTJcPFtY0AckN5A7xWuc7owBqR0FdtuDYhE9MZZUi6IY1kZUQFSXV1B3UOOIyLkVHYd2w==" }, "@xmldom/xmldom": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.4.tgz", - "integrity": "sha512-JIsjTbWBWJHb2t1D4UNZIJ6ohlRYCdoGzeHSzTorMH2zOq3UKlSBzFBMBdFK3xnUD/ANHw/SUzl/vx0z0JrqRw==", + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.6.tgz", + "integrity": "sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg==", "dev": true }, "abbrev": { @@ -20359,7 +20556,9 @@ } }, "ajv": { - "version": "8.11.0", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -21444,172 +21643,172 @@ "dev": true }, "esbuild": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.12.tgz", - "integrity": "sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.15.12", - "@esbuild/linux-loong64": "0.15.12", - "esbuild-android-64": "0.15.12", - "esbuild-android-arm64": "0.15.12", - "esbuild-darwin-64": "0.15.12", - "esbuild-darwin-arm64": "0.15.12", - "esbuild-freebsd-64": "0.15.12", - "esbuild-freebsd-arm64": "0.15.12", - "esbuild-linux-32": "0.15.12", - "esbuild-linux-64": "0.15.12", - "esbuild-linux-arm": "0.15.12", - "esbuild-linux-arm64": "0.15.12", - "esbuild-linux-mips64le": "0.15.12", - "esbuild-linux-ppc64le": "0.15.12", - "esbuild-linux-riscv64": "0.15.12", - "esbuild-linux-s390x": "0.15.12", - "esbuild-netbsd-64": "0.15.12", - "esbuild-openbsd-64": "0.15.12", - "esbuild-sunos-64": "0.15.12", - "esbuild-windows-32": "0.15.12", - "esbuild-windows-64": "0.15.12", - "esbuild-windows-arm64": "0.15.12" + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.14.tgz", + "integrity": "sha512-pJN8j42fvWLFWwSMG4luuupl2Me7mxciUOsMegKvwCmhEbJ2covUdFnihxm0FMIBV+cbwbtMoHgMCCI+pj1btQ==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.15.14", + "@esbuild/linux-loong64": "0.15.14", + "esbuild-android-64": "0.15.14", + "esbuild-android-arm64": "0.15.14", + "esbuild-darwin-64": "0.15.14", + "esbuild-darwin-arm64": "0.15.14", + "esbuild-freebsd-64": "0.15.14", + "esbuild-freebsd-arm64": "0.15.14", + "esbuild-linux-32": "0.15.14", + "esbuild-linux-64": "0.15.14", + "esbuild-linux-arm": "0.15.14", + "esbuild-linux-arm64": "0.15.14", + "esbuild-linux-mips64le": "0.15.14", + "esbuild-linux-ppc64le": "0.15.14", + "esbuild-linux-riscv64": "0.15.14", + "esbuild-linux-s390x": "0.15.14", + "esbuild-netbsd-64": "0.15.14", + "esbuild-openbsd-64": "0.15.14", + "esbuild-sunos-64": "0.15.14", + "esbuild-windows-32": "0.15.14", + "esbuild-windows-64": "0.15.14", + "esbuild-windows-arm64": "0.15.14" } }, "esbuild-android-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.12.tgz", - "integrity": "sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.14.tgz", + "integrity": "sha512-HuilVIb4rk9abT4U6bcFdU35UHOzcWVGLSjEmC58OVr96q5UiRqzDtWjPlCMugjhgUGKEs8Zf4ueIvYbOStbIg==", "dev": true, "optional": true }, "esbuild-android-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.12.tgz", - "integrity": "sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.14.tgz", + "integrity": "sha512-/QnxRVxsR2Vtf3XottAHj7hENAMW2wCs6S+OZcAbc/8nlhbAL/bCQRCVD78VtI5mdwqWkVi3wMqM94kScQCgqg==", "dev": true, "optional": true }, "esbuild-darwin-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.12.tgz", - "integrity": "sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.14.tgz", + "integrity": "sha512-ToNuf1uifu8hhwWvoZJGCdLIX/1zpo8cOGnT0XAhDQXiKOKYaotVNx7pOVB1f+wHoWwTLInrOmh3EmA7Fd+8Vg==", "dev": true, "optional": true }, "esbuild-darwin-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.12.tgz", - "integrity": "sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.14.tgz", + "integrity": "sha512-KgGP+y77GszfYJgceO0Wi/PiRtYo5y2Xo9rhBUpxTPaBgWDJ14gqYN0+NMbu+qC2fykxXaipHxN4Scaj9tUS1A==", "dev": true, "optional": true }, "esbuild-freebsd-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.12.tgz", - "integrity": "sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.14.tgz", + "integrity": "sha512-xr0E2n5lyWw3uFSwwUXHc0EcaBDtsal/iIfLioflHdhAe10KSctV978Te7YsfnsMKzcoGeS366+tqbCXdqDHQA==", "dev": true, "optional": true }, "esbuild-freebsd-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.12.tgz", - "integrity": "sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.14.tgz", + "integrity": "sha512-8XH96sOQ4b1LhMlO10eEWOjEngmZ2oyw3pW4o8kvBcpF6pULr56eeYVP5radtgw54g3T8nKHDHYEI5AItvskZg==", "dev": true, "optional": true }, "esbuild-linux-32": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.12.tgz", - "integrity": "sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.14.tgz", + "integrity": "sha512-6ssnvwaTAi8AzKN8By2V0nS+WF5jTP7SfuK6sStGnDP7MCJo/4zHgM9oE1eQTS2jPmo3D673rckuCzRlig+HMA==", "dev": true, "optional": true }, "esbuild-linux-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.12.tgz", - "integrity": "sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.14.tgz", + "integrity": "sha512-ONySx3U0wAJOJuxGUlXBWxVKFVpWv88JEv0NZ6NlHknmDd1yCbf4AEdClSgLrqKQDXYywmw4gYDvdLsS6z0hcw==", "dev": true, "optional": true }, "esbuild-linux-arm": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.12.tgz", - "integrity": "sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.14.tgz", + "integrity": "sha512-D2LImAIV3QzL7lHURyCHBkycVFbKwkDb1XEUWan+2fb4qfW7qAeUtul7ZIcIwFKZgPcl+6gKZmvLgPSj26RQ2Q==", "dev": true, "optional": true }, "esbuild-linux-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.12.tgz", - "integrity": "sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.14.tgz", + "integrity": "sha512-kle2Ov6a1e5AjlHlMQl1e+c4myGTeggrRzArQFmWp6O6JoqqB9hT+B28EW4tjFWgV/NxUq46pWYpgaWXsXRPAg==", "dev": true, "optional": true }, "esbuild-linux-mips64le": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.12.tgz", - "integrity": "sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.14.tgz", + "integrity": "sha512-FVdMYIzOLXUq+OE7XYKesuEAqZhmAIV6qOoYahvUp93oXy0MOVTP370ECbPfGXXUdlvc0TNgkJa3YhEwyZ6MRA==", "dev": true, "optional": true }, "esbuild-linux-ppc64le": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.12.tgz", - "integrity": "sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.14.tgz", + "integrity": "sha512-2NzH+iuzMDA+jjtPjuIz/OhRDf8tzbQ1tRZJI//aT25o1HKc0reMMXxKIYq/8nSHXiJSnYV4ODzTiv45s+h73w==", "dev": true, "optional": true }, "esbuild-linux-riscv64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.12.tgz", - "integrity": "sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.14.tgz", + "integrity": "sha512-VqxvutZNlQxmUNS7Ac+aczttLEoHBJ9e3OYGqnULrfipRvG97qLrAv9EUY9iSrRKBqeEbSvS9bSfstZqwz0T4Q==", "dev": true, "optional": true }, "esbuild-linux-s390x": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.12.tgz", - "integrity": "sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.14.tgz", + "integrity": "sha512-+KVHEUshX5n6VP6Vp/AKv9fZIl5kr2ph8EUFmQUJnDpHwcfTSn2AQgYYm0HTBR2Mr4d0Wlr0FxF/Cs5pbFgiOw==", "dev": true, "optional": true }, "esbuild-netbsd-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.12.tgz", - "integrity": "sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.14.tgz", + "integrity": "sha512-6D/dr17piEgevIm1xJfZP2SjB9Z+g8ERhNnBdlZPBWZl+KSPUKLGF13AbvC+nzGh8IxOH2TyTIdRMvKMP0nEzQ==", "dev": true, "optional": true }, "esbuild-openbsd-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.12.tgz", - "integrity": "sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.14.tgz", + "integrity": "sha512-rREQBIlMibBetgr2E9Lywt2Qxv2ZdpmYahR4IUlAQ1Efv/A5gYdO0/VIN3iowDbCNTLxp0bb57Vf0LFcffD6kA==", "dev": true, "optional": true }, "esbuild-sunos-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.12.tgz", - "integrity": "sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.14.tgz", + "integrity": "sha512-DNVjSp/BY4IfwtdUAvWGIDaIjJXY5KI4uD82+15v6k/w7px9dnaDaJJ2R6Mu+KCgr5oklmFc0KjBjh311Gxl9Q==", "dev": true, "optional": true }, "esbuild-windows-32": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.12.tgz", - "integrity": "sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.14.tgz", + "integrity": "sha512-pHBWrcA+/oLgvViuG9FO3kNPO635gkoVrRQwe6ZY1S0jdET07xe2toUvQoJQ8KT3/OkxqUasIty5hpuKFLD+eg==", "dev": true, "optional": true }, "esbuild-windows-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.12.tgz", - "integrity": "sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.14.tgz", + "integrity": "sha512-CszIGQVk/P8FOS5UgAH4hKc9zOaFo69fe+k1rqgBHx3CSK3Opyk5lwYriIamaWOVjBt7IwEP6NALz+tkVWdFog==", "dev": true, "optional": true }, "esbuild-windows-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.12.tgz", - "integrity": "sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA==", + "version": "0.15.14", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.14.tgz", + "integrity": "sha512-KW9W4psdZceaS9A7Jsgl4WialOznSURvqX/oHZk3gOP7KbjtHLSsnmSvNdzagGJfxbAe30UVGXRe8q8nDsOSQw==", "dev": true, "optional": true }, @@ -21621,9 +21820,9 @@ "dev": true }, "eslint": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", - "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz", + "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==", "dev": true, "requires": { "@eslint/eslintrc": "^1.3.3", @@ -23557,7 +23756,9 @@ "version": "2.0.4" }, "loupe": { - "version": "2.3.4", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", "requires": { "get-func-name": "^2.0.0" } @@ -24368,84 +24569,78 @@ "version": "0.1.0" }, "npm": { - "version": "8.19.2", - "resolved": "https://registry.npmjs.org/npm/-/npm-8.19.2.tgz", - "integrity": "sha512-MWkISVv5f7iZbfNkry5/5YBqSYJEDAKSJdL+uzSQuyLg+hgLQUyZynu3SH6bOZlvR9ZvJYk2EiJO6B1r+ynwHg==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm/-/npm-9.1.2.tgz", + "integrity": "sha512-qOFg33/5YCHLArtRBep9HJydPZURbCwt8nxwXDRHZO9PZtTUMCo1C4iXBFPW1TxnzAdHscdw76ihbupdmL7cmw==", "requires": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^5.6.2", - "@npmcli/ci-detect": "^2.0.0", - "@npmcli/config": "^4.2.1", - "@npmcli/fs": "^2.1.0", - "@npmcli/map-workspaces": "^2.0.3", - "@npmcli/package-json": "^2.0.0", - "@npmcli/promise-spawn": "*", - "@npmcli/run-script": "^4.2.1", - "abbrev": "~1.1.1", + "@npmcli/arborist": "^6.1.3", + "@npmcli/config": "^6.1.0", + "@npmcli/map-workspaces": "^3.0.0", + "@npmcli/package-json": "^3.0.0", + "@npmcli/run-script": "^6.0.0", + "abbrev": "^2.0.0", "archy": "~1.0.0", - "cacache": "^16.1.3", + "cacache": "^17.0.2", "chalk": "^4.1.2", - "chownr": "^2.0.0", + "ci-info": "^3.6.1", "cli-columns": "^4.0.0", - "cli-table3": "^0.6.2", + "cli-table3": "^0.6.3", "columnify": "^1.6.0", - "fastest-levenshtein": "^1.0.12", - "fs-minipass": "*", + "fastest-levenshtein": "^1.0.16", + "fs-minipass": "^2.1.0", "glob": "^8.0.1", "graceful-fs": "^4.2.10", - "hosted-git-info": "^5.1.0", + "hosted-git-info": "^6.1.1", "ini": "^3.0.1", - "init-package-json": "^3.0.2", + "init-package-json": "^4.0.1", "is-cidr": "^4.0.2", - "json-parse-even-better-errors": "^2.3.1", - "libnpmaccess": "^6.0.4", - "libnpmdiff": "^4.0.5", - "libnpmexec": "^4.0.13", - "libnpmfund": "^3.0.4", - "libnpmhook": "^8.0.4", - "libnpmorg": "^4.0.4", - "libnpmpack": "^4.1.3", - "libnpmpublish": "^6.0.5", - "libnpmsearch": "^5.0.4", - "libnpmteam": "^4.0.4", - "libnpmversion": "^3.0.7", - "make-fetch-happen": "^10.2.0", - "minimatch": "*", + "json-parse-even-better-errors": "^3.0.0", + "libnpmaccess": "^7.0.0", + "libnpmdiff": "^5.0.4", + "libnpmexec": "^5.0.4", + "libnpmfund": "^4.0.4", + "libnpmhook": "^9.0.0", + "libnpmorg": "^5.0.0", + "libnpmpack": "^5.0.4", + "libnpmpublish": "^7.0.4", + "libnpmsearch": "^6.0.0", + "libnpmteam": "^5.0.0", + "libnpmversion": "^4.0.1", + "make-fetch-happen": "^11.0.1", + "minimatch": "^5.1.0", "minipass": "^3.1.6", "minipass-pipeline": "^1.2.4", "mkdirp": "^1.0.4", - "mkdirp-infer-owner": "^2.0.0", "ms": "^2.1.2", - "node-gyp": "^9.1.0", - "nopt": "^6.0.0", - "npm-audit-report": "^3.0.0", - "npm-install-checks": "^5.0.0", - "npm-package-arg": "^9.1.0", - "npm-pick-manifest": "^7.0.2", - "npm-profile": "^6.2.0", - "npm-registry-fetch": "^13.3.1", + "node-gyp": "^9.3.0", + "nopt": "^7.0.0", + "npm-audit-report": "^4.0.0", + "npm-install-checks": "^6.0.0", + "npm-package-arg": "^10.0.0", + "npm-pick-manifest": "^8.0.1", + "npm-profile": "^7.0.1", + "npm-registry-fetch": "^14.0.2", "npm-user-validate": "^1.0.1", - "npmlog": "^6.0.2", - "opener": "^1.5.2", + "npmlog": "^7.0.1", "p-map": "^4.0.0", - "pacote": "^13.6.2", - "parse-conflict-json": "^2.0.2", - "proc-log": "^2.0.1", + "pacote": "^15.0.6", + "parse-conflict-json": "^3.0.0", + "proc-log": "^3.0.0", "qrcode-terminal": "^0.12.0", "read": "~1.0.7", - "read-package-json": "^5.0.2", - "read-package-json-fast": "^2.0.3", - "readdir-scoped-modules": "^1.1.0", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.1", "rimraf": "^3.0.2", - "semver": "^7.3.7", - "ssri": "^9.0.1", - "tar": "^6.1.11", + "semver": "^7.3.8", + "ssri": "^10.0.0", + "tar": "^6.1.12", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", - "treeverse": "^2.0.0", - "validate-npm-package-name": "^4.0.0", - "which": "^2.0.2", - "write-file-atomic": "^4.0.1" + "treeverse": "^3.0.0", + "validate-npm-package-name": "^5.0.0", + "which": "^3.0.0", + "write-file-atomic": "^5.0.0" }, "dependencies": { "@colors/colors": { @@ -24462,180 +24657,152 @@ "bundled": true }, "@npmcli/arborist": { - "version": "5.6.2", + "version": "6.1.3", "bundled": true, "requires": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/map-workspaces": "^2.0.3", - "@npmcli/metavuln-calculator": "^3.0.1", - "@npmcli/move-file": "^2.0.0", + "@npmcli/fs": "^3.1.0", + "@npmcli/installed-package-contents": "^2.0.0", + "@npmcli/map-workspaces": "^3.0.0", + "@npmcli/metavuln-calculator": "^5.0.0", "@npmcli/name-from-folder": "^1.0.1", - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/package-json": "^2.0.0", - "@npmcli/query": "^1.2.0", - "@npmcli/run-script": "^4.1.3", - "bin-links": "^3.0.3", - "cacache": "^16.1.3", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^3.0.0", + "@npmcli/query": "^3.0.0", + "@npmcli/run-script": "^6.0.0", + "bin-links": "^4.0.1", + "cacache": "^17.0.2", "common-ancestor-path": "^1.0.1", - "json-parse-even-better-errors": "^2.3.1", + "hosted-git-info": "^6.1.1", + "json-parse-even-better-errors": "^3.0.0", "json-stringify-nice": "^1.1.4", "minimatch": "^5.1.0", - "mkdirp": "^1.0.4", - "mkdirp-infer-owner": "^2.0.0", - "nopt": "^6.0.0", - "npm-install-checks": "^5.0.0", - "npm-package-arg": "^9.0.0", - "npm-pick-manifest": "^7.0.2", - "npm-registry-fetch": "^13.0.0", - "npmlog": "^6.0.2", - "pacote": "^13.6.1", - "parse-conflict-json": "^2.0.1", - "proc-log": "^2.0.0", + "nopt": "^7.0.0", + "npm-install-checks": "^6.0.0", + "npm-package-arg": "^10.0.0", + "npm-pick-manifest": "^8.0.1", + "npm-registry-fetch": "^14.0.2", + "npmlog": "^7.0.1", + "pacote": "^15.0.2", + "parse-conflict-json": "^3.0.0", + "proc-log": "^3.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^1.0.1", - "read-package-json-fast": "^2.0.2", - "readdir-scoped-modules": "^1.1.0", - "rimraf": "^3.0.2", + "read-package-json-fast": "^3.0.1", "semver": "^7.3.7", - "ssri": "^9.0.0", - "treeverse": "^2.0.0", + "ssri": "^10.0.0", + "treeverse": "^3.0.0", "walk-up-path": "^1.0.0" } }, - "@npmcli/ci-detect": { - "version": "2.0.0", - "bundled": true - }, "@npmcli/config": { - "version": "4.2.2", + "version": "6.1.0", "bundled": true, "requires": { - "@npmcli/map-workspaces": "^2.0.2", + "@npmcli/map-workspaces": "^3.0.0", "ini": "^3.0.0", - "mkdirp-infer-owner": "^2.0.0", - "nopt": "^6.0.0", - "proc-log": "^2.0.0", - "read-package-json-fast": "^2.0.3", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", + "read-package-json-fast": "^3.0.0", "semver": "^7.3.5", "walk-up-path": "^1.0.0" } }, "@npmcli/disparity-colors": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true, "requires": { "ansi-styles": "^4.3.0" } }, "@npmcli/fs": { - "version": "2.1.2", + "version": "3.1.0", "bundled": true, "requires": { - "@gar/promisify": "^1.1.3", "semver": "^7.3.5" } }, "@npmcli/git": { - "version": "3.0.2", + "version": "4.0.3", "bundled": true, "requires": { - "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", "lru-cache": "^7.4.4", "mkdirp": "^1.0.4", - "npm-pick-manifest": "^7.0.0", - "proc-log": "^2.0.0", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^2.0.2" + "which": "^3.0.0" } }, "@npmcli/installed-package-contents": { - "version": "1.0.7", + "version": "2.0.1", "bundled": true, "requires": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "dependencies": { - "npm-bundled": { - "version": "1.1.2", - "bundled": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - } + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" } }, "@npmcli/map-workspaces": { - "version": "2.0.4", + "version": "3.0.0", "bundled": true, "requires": { "@npmcli/name-from-folder": "^1.0.1", "glob": "^8.0.1", "minimatch": "^5.0.1", - "read-package-json-fast": "^2.0.3" + "read-package-json-fast": "^3.0.0" } }, "@npmcli/metavuln-calculator": { - "version": "3.1.1", + "version": "5.0.0", "bundled": true, "requires": { - "cacache": "^16.0.0", - "json-parse-even-better-errors": "^2.3.1", - "pacote": "^13.0.3", + "cacache": "^17.0.0", + "json-parse-even-better-errors": "^3.0.0", + "pacote": "^15.0.0", "semver": "^7.3.5" } }, - "@npmcli/move-file": { - "version": "2.0.1", - "bundled": true, - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, "@npmcli/name-from-folder": { "version": "1.0.1", "bundled": true }, "@npmcli/node-gyp": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true }, "@npmcli/package-json": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true, "requires": { - "json-parse-even-better-errors": "^2.3.1" + "json-parse-even-better-errors": "^3.0.0" } }, "@npmcli/promise-spawn": { - "version": "3.0.0", + "version": "6.0.1", "bundled": true, "requires": { - "infer-owner": "^1.0.4" + "which": "^3.0.0" } }, "@npmcli/query": { - "version": "1.2.0", + "version": "3.0.0", "bundled": true, "requires": { - "npm-package-arg": "^9.1.0", - "postcss-selector-parser": "^6.0.10", - "semver": "^7.3.7" + "postcss-selector-parser": "^6.0.10" } }, "@npmcli/run-script": { - "version": "4.2.1", + "version": "6.0.0", "bundled": true, "requires": { - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", "node-gyp": "^9.0.0", - "read-package-json-fast": "^2.0.3", - "which": "^2.0.2" + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" } }, "@tootallnate/once": { @@ -24643,9 +24810,16 @@ "bundled": true }, "abbrev": { - "version": "1.1.1", + "version": "2.0.0", "bundled": true }, + "abort-controller": { + "version": "3.0.0", + "bundled": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, "agent-base": { "version": "6.0.2", "bundled": true, @@ -24690,37 +24864,49 @@ "bundled": true }, "are-we-there-yet": { - "version": "3.0.1", + "version": "4.0.0", "bundled": true, "requires": { "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "readable-stream": "^4.1.0" + }, + "dependencies": { + "buffer": { + "version": "6.0.3", + "bundled": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "readable-stream": { + "version": "4.2.0", + "bundled": true, + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" + } + } } }, - "asap": { - "version": "2.0.6", - "bundled": true - }, "balanced-match": { "version": "1.0.2", "bundled": true }, + "base64-js": { + "version": "1.5.1", + "bundled": true + }, "bin-links": { - "version": "3.0.3", + "version": "4.0.1", "bundled": true, "requires": { - "cmd-shim": "^5.0.0", - "mkdirp-infer-owner": "^2.0.0", - "npm-normalize-package-bin": "^2.0.0", - "read-cmd-shim": "^3.0.0", - "rimraf": "^3.0.0", - "write-file-atomic": "^4.0.0" - }, - "dependencies": { - "npm-normalize-package-bin": { - "version": "2.0.0", - "bundled": true - } + "cmd-shim": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "read-cmd-shim": "^4.0.0", + "write-file-atomic": "^5.0.0" } }, "binary-extensions": { @@ -24742,27 +24928,22 @@ } }, "cacache": { - "version": "16.1.3", + "version": "17.0.2", "bundled": true, "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", + "@npmcli/fs": "^3.1.0", "fs-minipass": "^2.1.0", "glob": "^8.0.1", - "infer-owner": "^1.0.4", "lru-cache": "^7.7.1", "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11", - "unique-filename": "^2.0.0" + "unique-filename": "^3.0.0" } }, "chalk": { @@ -24777,6 +24958,10 @@ "version": "2.0.0", "bundled": true }, + "ci-info": { + "version": "3.6.1", + "bundled": true + }, "cidr-regex": { "version": "3.1.1", "bundled": true, @@ -24797,7 +24982,7 @@ } }, "cli-table3": { - "version": "0.6.2", + "version": "0.6.3", "bundled": true, "requires": { "@colors/colors": "1.5.0", @@ -24809,11 +24994,8 @@ "bundled": true }, "cmd-shim": { - "version": "5.0.0", - "bundled": true, - "requires": { - "mkdirp-infer-owner": "^2.0.0" - } + "version": "6.0.0", + "bundled": true }, "color-convert": { "version": "2.0.1", @@ -24867,10 +25049,6 @@ } } }, - "debuglog": { - "version": "1.0.1", - "bundled": true - }, "defaults": { "version": "1.0.3", "bundled": true, @@ -24886,14 +25064,6 @@ "version": "1.1.2", "bundled": true }, - "dezalgo": { - "version": "1.0.4", - "bundled": true, - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, "diff": { "version": "5.1.0", "bundled": true @@ -24918,8 +25088,16 @@ "version": "2.0.3", "bundled": true }, + "event-target-shim": { + "version": "5.0.1", + "bundled": true + }, + "events": { + "version": "3.3.0", + "bundled": true + }, "fastest-levenshtein": { - "version": "1.0.12", + "version": "1.0.16", "bundled": true }, "fs-minipass": { @@ -24938,7 +25116,7 @@ "bundled": true }, "gauge": { - "version": "4.0.4", + "version": "5.0.0", "bundled": true, "requires": { "aproba": "^1.0.3 || ^2.0.0", @@ -24982,7 +25160,7 @@ "bundled": true }, "hosted-git-info": { - "version": "5.1.0", + "version": "6.1.1", "bundled": true, "requires": { "lru-cache": "^7.5.1" @@ -25024,8 +25202,12 @@ "safer-buffer": ">= 2.1.2 < 3.0.0" } }, + "ieee754": { + "version": "1.2.1", + "bundled": true + }, "ignore-walk": { - "version": "5.0.1", + "version": "6.0.0", "bundled": true, "requires": { "minimatch": "^5.0.1" @@ -25060,16 +25242,16 @@ "bundled": true }, "init-package-json": { - "version": "3.0.2", + "version": "4.0.1", "bundled": true, "requires": { - "npm-package-arg": "^9.0.1", + "npm-package-arg": "^10.0.0", "promzard": "^0.3.0", "read": "^1.0.7", - "read-package-json": "^5.0.0", + "read-package-json": "^6.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^4.0.0" + "validate-npm-package-name": "^5.0.0" } }, "ip": { @@ -25107,7 +25289,7 @@ "bundled": true }, "json-parse-even-better-errors": { - "version": "2.3.1", + "version": "3.0.0", "bundled": true }, "json-stringify-nice": { @@ -25127,115 +25309,113 @@ "bundled": true }, "libnpmaccess": { - "version": "6.0.4", + "version": "7.0.0", "bundled": true, "requires": { - "aproba": "^2.0.0", - "minipass": "^3.1.1", - "npm-package-arg": "^9.0.1", - "npm-registry-fetch": "^13.0.0" + "npm-package-arg": "^10.0.0", + "npm-registry-fetch": "^14.0.2" } }, "libnpmdiff": { - "version": "4.0.5", + "version": "5.0.4", "bundled": true, "requires": { - "@npmcli/disparity-colors": "^2.0.0", - "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/arborist": "^6.1.3", + "@npmcli/disparity-colors": "^3.0.0", + "@npmcli/installed-package-contents": "^2.0.0", "binary-extensions": "^2.2.0", "diff": "^5.1.0", "minimatch": "^5.0.1", - "npm-package-arg": "^9.0.1", - "pacote": "^13.6.1", + "npm-package-arg": "^10.0.0", + "pacote": "^15.0.2", "tar": "^6.1.0" } }, "libnpmexec": { - "version": "4.0.13", + "version": "5.0.4", "bundled": true, "requires": { - "@npmcli/arborist": "^5.6.2", - "@npmcli/ci-detect": "^2.0.0", - "@npmcli/fs": "^2.1.1", - "@npmcli/run-script": "^4.2.0", + "@npmcli/arborist": "^6.1.3", + "@npmcli/run-script": "^6.0.0", "chalk": "^4.1.0", - "mkdirp-infer-owner": "^2.0.0", - "npm-package-arg": "^9.0.1", - "npmlog": "^6.0.2", - "pacote": "^13.6.1", - "proc-log": "^2.0.0", + "ci-info": "^3.6.1", + "npm-package-arg": "^10.0.0", + "npmlog": "^7.0.1", + "pacote": "^15.0.2", + "proc-log": "^3.0.0", "read": "^1.0.7", - "read-package-json-fast": "^2.0.2", + "read-package-json-fast": "^3.0.1", "semver": "^7.3.7", "walk-up-path": "^1.0.0" } }, "libnpmfund": { - "version": "3.0.4", + "version": "4.0.4", "bundled": true, "requires": { - "@npmcli/arborist": "^5.6.2" + "@npmcli/arborist": "^6.1.3" } }, "libnpmhook": { - "version": "8.0.4", + "version": "9.0.0", "bundled": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^13.0.0" + "npm-registry-fetch": "^14.0.2" } }, "libnpmorg": { - "version": "4.0.4", + "version": "5.0.0", "bundled": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^13.0.0" + "npm-registry-fetch": "^14.0.2" } }, "libnpmpack": { - "version": "4.1.3", + "version": "5.0.4", "bundled": true, "requires": { - "@npmcli/run-script": "^4.1.3", - "npm-package-arg": "^9.0.1", - "pacote": "^13.6.1" + "@npmcli/arborist": "^6.1.3", + "@npmcli/run-script": "^6.0.0", + "npm-package-arg": "^10.0.0", + "pacote": "^15.0.2" } }, "libnpmpublish": { - "version": "6.0.5", + "version": "7.0.4", "bundled": true, "requires": { - "normalize-package-data": "^4.0.0", - "npm-package-arg": "^9.0.1", - "npm-registry-fetch": "^13.0.0", + "normalize-package-data": "^5.0.0", + "npm-package-arg": "^10.0.0", + "npm-registry-fetch": "^14.0.2", "semver": "^7.3.7", - "ssri": "^9.0.0" + "ssri": "^10.0.0" } }, "libnpmsearch": { - "version": "5.0.4", + "version": "6.0.0", "bundled": true, "requires": { - "npm-registry-fetch": "^13.0.0" + "npm-registry-fetch": "^14.0.2" } }, "libnpmteam": { - "version": "4.0.4", + "version": "5.0.0", "bundled": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^13.0.0" + "npm-registry-fetch": "^14.0.2" } }, "libnpmversion": { - "version": "3.0.7", + "version": "4.0.1", "bundled": true, "requires": { - "@npmcli/git": "^3.0.0", - "@npmcli/run-script": "^4.1.3", - "json-parse-even-better-errors": "^2.3.1", - "proc-log": "^2.0.0", + "@npmcli/git": "^4.0.1", + "@npmcli/run-script": "^6.0.0", + "json-parse-even-better-errors": "^3.0.0", + "proc-log": "^3.0.0", "semver": "^7.3.7" } }, @@ -25244,11 +25424,11 @@ "bundled": true }, "make-fetch-happen": { - "version": "10.2.1", + "version": "11.0.1", "bundled": true, "requires": { "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", + "cacache": "^17.0.0", "http-cache-semantics": "^4.1.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", @@ -25256,13 +25436,13 @@ "lru-cache": "^7.7.1", "minipass": "^3.1.6", "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", + "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" + "ssri": "^10.0.0" } }, "minimatch": { @@ -25287,7 +25467,7 @@ } }, "minipass-fetch": { - "version": "2.1.1", + "version": "3.0.0", "bundled": true, "requires": { "encoding": "^0.1.13", @@ -25337,15 +25517,6 @@ "version": "1.0.4", "bundled": true }, - "mkdirp-infer-owner": { - "version": "2.0.0", - "bundled": true, - "requires": { - "chownr": "^2.0.0", - "infer-owner": "^1.0.4", - "mkdirp": "^1.0.3" - } - }, "ms": { "version": "2.1.3", "bundled": true @@ -25359,14 +25530,14 @@ "bundled": true }, "node-gyp": { - "version": "9.1.0", + "version": "9.3.0", "bundled": true, "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", "graceful-fs": "^4.2.6", "make-fetch-happen": "^10.0.3", - "nopt": "^5.0.0", + "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", "semver": "^7.3.5", @@ -25374,6 +25545,34 @@ "which": "^2.0.2" }, "dependencies": { + "@npmcli/fs": { + "version": "2.1.2", + "bundled": true, + "requires": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + } + }, + "@npmcli/move-file": { + "version": "2.0.1", + "bundled": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "are-we-there-yet": { + "version": "3.0.1", + "bundled": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, "brace-expansion": { "version": "1.1.11", "bundled": true, @@ -25382,6 +25581,71 @@ "concat-map": "0.0.1" } }, + "cacache": { + "version": "16.1.3", + "bundled": true, + "requires": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "8.0.3", + "bundled": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.0", + "bundled": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "gauge": { + "version": "4.0.4", + "bundled": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, "glob": { "version": "7.2.3", "bundled": true, @@ -25394,6 +25658,28 @@ "path-is-absolute": "^1.0.0" } }, + "make-fetch-happen": { + "version": "10.2.1", + "bundled": true, + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + } + }, "minimatch": { "version": "3.1.2", "bundled": true, @@ -25401,124 +25687,151 @@ "brace-expansion": "^1.1.7" } }, + "minipass-fetch": { + "version": "2.1.2", + "bundled": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + }, "nopt": { - "version": "5.0.0", + "version": "6.0.0", + "bundled": true, + "requires": { + "abbrev": "^1.0.0" + } + }, + "npmlog": { + "version": "6.0.2", + "bundled": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "ssri": { + "version": "9.0.1", + "bundled": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "unique-filename": { + "version": "2.0.1", + "bundled": true, + "requires": { + "unique-slug": "^3.0.0" + } + }, + "unique-slug": { + "version": "3.0.0", + "bundled": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "which": { + "version": "2.0.2", "bundled": true, "requires": { - "abbrev": "1" + "isexe": "^2.0.0" } } } }, "nopt": { - "version": "6.0.0", + "version": "7.0.0", "bundled": true, "requires": { - "abbrev": "^1.0.0" + "abbrev": "^2.0.0" } }, "normalize-package-data": { - "version": "4.0.1", + "version": "5.0.0", "bundled": true, "requires": { - "hosted-git-info": "^5.0.0", + "hosted-git-info": "^6.0.0", "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "npm-audit-report": { - "version": "3.0.0", + "version": "4.0.0", "bundled": true, "requires": { "chalk": "^4.0.0" } }, "npm-bundled": { - "version": "2.0.1", + "version": "3.0.0", "bundled": true, "requires": { - "npm-normalize-package-bin": "^2.0.0" - }, - "dependencies": { - "npm-normalize-package-bin": { - "version": "2.0.0", - "bundled": true - } + "npm-normalize-package-bin": "^3.0.0" } }, "npm-install-checks": { - "version": "5.0.0", + "version": "6.0.0", "bundled": true, "requires": { "semver": "^7.1.1" } }, "npm-normalize-package-bin": { - "version": "1.0.1", + "version": "3.0.0", "bundled": true }, "npm-package-arg": { - "version": "9.1.0", + "version": "10.0.0", "bundled": true, "requires": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "validate-npm-package-name": "^5.0.0" } }, "npm-packlist": { - "version": "5.1.3", + "version": "7.0.2", "bundled": true, "requires": { - "glob": "^8.0.1", - "ignore-walk": "^5.0.1", - "npm-bundled": "^2.0.0", - "npm-normalize-package-bin": "^2.0.0" - }, - "dependencies": { - "npm-normalize-package-bin": { - "version": "2.0.0", - "bundled": true - } + "ignore-walk": "^6.0.0" } }, "npm-pick-manifest": { - "version": "7.0.2", + "version": "8.0.1", "bundled": true, "requires": { - "npm-install-checks": "^5.0.0", - "npm-normalize-package-bin": "^2.0.0", - "npm-package-arg": "^9.0.0", + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", "semver": "^7.3.5" - }, - "dependencies": { - "npm-normalize-package-bin": { - "version": "2.0.0", - "bundled": true - } } }, "npm-profile": { - "version": "6.2.1", + "version": "7.0.1", "bundled": true, "requires": { - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0" + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0" } }, "npm-registry-fetch": { - "version": "13.3.1", + "version": "14.0.2", "bundled": true, "requires": { - "make-fetch-happen": "^10.0.6", + "make-fetch-happen": "^11.0.0", "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", + "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" } }, "npm-user-validate": { @@ -25526,12 +25839,12 @@ "bundled": true }, "npmlog": { - "version": "6.0.2", + "version": "7.0.1", "bundled": true, "requires": { - "are-we-there-yet": "^3.0.0", + "are-we-there-yet": "^4.0.0", "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", + "gauge": "^5.0.0", "set-blocking": "^2.0.0" } }, @@ -25542,10 +25855,6 @@ "wrappy": "1" } }, - "opener": { - "version": "1.5.2", - "bundled": true - }, "p-map": { "version": "4.0.0", "bundled": true, @@ -25554,37 +25863,33 @@ } }, "pacote": { - "version": "13.6.2", + "version": "15.0.6", "bundled": true, "requires": { - "@npmcli/git": "^3.0.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/run-script": "^4.1.0", - "cacache": "^16.0.0", - "chownr": "^2.0.0", + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", "minipass": "^3.1.6", - "mkdirp": "^1.0.4", - "npm-package-arg": "^9.0.0", - "npm-packlist": "^5.1.0", - "npm-pick-manifest": "^7.0.0", - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^5.0.0", - "read-package-json-fast": "^2.0.3", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11" } }, "parse-conflict-json": { - "version": "2.0.2", + "version": "3.0.0", "bundled": true, "requires": { - "json-parse-even-better-errors": "^2.3.1", + "json-parse-even-better-errors": "^3.0.0", "just-diff": "^5.0.1", "just-diff-apply": "^5.2.0" } @@ -25602,7 +25907,11 @@ } }, "proc-log": { - "version": "2.0.1", + "version": "3.0.0", + "bundled": true + }, + "process": { + "version": "0.11.10", "bundled": true }, "promise-all-reject-late": { @@ -25644,31 +25953,25 @@ } }, "read-cmd-shim": { - "version": "3.0.0", + "version": "4.0.0", "bundled": true }, "read-package-json": { - "version": "5.0.2", + "version": "6.0.0", "bundled": true, "requires": { "glob": "^8.0.1", - "json-parse-even-better-errors": "^2.3.1", - "normalize-package-data": "^4.0.0", - "npm-normalize-package-bin": "^2.0.0" - }, - "dependencies": { - "npm-normalize-package-bin": { - "version": "2.0.0", - "bundled": true - } + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" } }, "read-package-json-fast": { - "version": "2.0.3", + "version": "3.0.1", "bundled": true, "requires": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" } }, "readable-stream": { @@ -25680,16 +25983,6 @@ "util-deprecate": "^1.0.1" } }, - "readdir-scoped-modules": { - "version": "1.1.0", - "bundled": true, - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, "retry": { "version": "0.12.0", "bundled": true @@ -25740,7 +26033,7 @@ "optional": true }, "semver": { - "version": "7.3.7", + "version": "7.3.8", "bundled": true, "requires": { "lru-cache": "^6.0.0" @@ -25809,7 +26102,7 @@ "bundled": true }, "ssri": { - "version": "9.0.1", + "version": "10.0.0", "bundled": true, "requires": { "minipass": "^3.1.1" @@ -25846,7 +26139,7 @@ } }, "tar": { - "version": "6.1.11", + "version": "6.1.12", "bundled": true, "requires": { "chownr": "^2.0.0", @@ -25866,18 +26159,18 @@ "bundled": true }, "treeverse": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true }, "unique-filename": { - "version": "2.0.1", + "version": "3.0.0", "bundled": true, "requires": { - "unique-slug": "^3.0.0" + "unique-slug": "^4.0.0" } }, "unique-slug": { - "version": "3.0.0", + "version": "4.0.0", "bundled": true, "requires": { "imurmurhash": "^0.1.4" @@ -25896,7 +26189,7 @@ } }, "validate-npm-package-name": { - "version": "4.0.0", + "version": "5.0.0", "bundled": true, "requires": { "builtins": "^5.0.0" @@ -25914,7 +26207,7 @@ } }, "which": { - "version": "2.0.2", + "version": "3.0.0", "bundled": true, "requires": { "isexe": "^2.0.0" @@ -25932,7 +26225,7 @@ "bundled": true }, "write-file-atomic": { - "version": "4.0.2", + "version": "5.0.0", "bundled": true, "requires": { "imurmurhash": "^0.1.4", @@ -29359,7 +29652,9 @@ } }, "tslib": { - "version": "2.4.0" + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" }, "tsutils": { "version": "3.21.0", @@ -29392,9 +29687,9 @@ "dev": true }, "typescript": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", - "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", "dev": true }, "unbox-primitive": { diff --git a/package.json b/package.json index da06e87b47..464b6d1951 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zotero-better-bibtex", - "version": "6.7.36", + "version": "6.7.38", "description": "Make Zotero useful for us LaTeX holdouts.", "homepage": "https://retorque.re/zotero-better-bibtex", "license": "ISC", @@ -62,7 +62,7 @@ "@inkdropapp/html2markdown": "^2.6.5", "@lifeparticle/ap-style-title-case": "^1.5.0", "@ungap/structured-clone": "^1.0.1", - "ajv": "^8.11.0", + "ajv": "^8.11.2", "better-ajv-errors": "^1.2.0", "case": "^1.6.3", "citeproc": "^2.4.62", @@ -76,8 +76,8 @@ "jsesc": "^3.0.2", "kuromoji": "^0.1.2", "lodash": "^4.17.21", - "loupe": "^2.3.4", - "npm": "^8.19.2", + "loupe": "^2.3.6", + "npm": "^9.1.2", "ooooevan-jieba": "^1.0.3", "papaparse": "^5.3.2", "parse5": "^7.1.1", @@ -96,8 +96,8 @@ "@retorquere/zotero-sync": "^1.0.23", "@types/bluebird": "^3.5.37", "@types/lokijs": "^1.5.7", - "@types/node": "^18.11.7", - "@xmldom/xmldom": "^0.8.4", + "@types/node": "^18.11.9", + "@xmldom/xmldom": "^0.8.6", "ajv-keywords": "^5.1.0", "archiver": "^5.3.1", "assert": "^2.0.0", @@ -112,9 +112,9 @@ "dom-parser": "^0.1.6", "dotenv": "^16.0.3", "ejs": "^3.1.8", - "esbuild": "^0.15.12", + "esbuild": "^0.15.14", "escape-string-regexp": "^5.0.0", - "eslint": "^8.26.0", + "eslint": "^8.27.0", "estrace": "^4.1.1", "eta": "^1.12.3", "excel-column-name": "^1.0.1", @@ -153,8 +153,8 @@ "showdown": "^2.1.0", "string-template": "^1.0.0", "ts-node": "^10.9.1", - "tslib": "^2.4.0", - "typescript": "^4.8.4", + "tslib": "^2.4.1", + "typescript": "^4.9.3", "unicode-11.0.0": "^0.7.8", "unicode2latex": "^3.0.0", "uri-templates": "^0.2.0", diff --git a/schema/hashes.json b/schema/hashes.json index d2b95c9e56..06f65d0b4c 100644 --- a/schema/hashes.json +++ b/schema/hashes.json @@ -130,7 +130,9 @@ "6.0.12": "9c6d607d80192e64b428ddab59eb3e3705a2c3b548b3f36bb6c3971a8cfa0ea14547cfc8823f453c234079d763ea80aef51657c763d57a6245010ace5a177c79", "6.0.13": "9c6d607d80192e64b428ddab59eb3e3705a2c3b548b3f36bb6c3971a8cfa0ea14547cfc8823f453c234079d763ea80aef51657c763d57a6245010ace5a177c79", "6.0.14": "9c6d607d80192e64b428ddab59eb3e3705a2c3b548b3f36bb6c3971a8cfa0ea14547cfc8823f453c234079d763ea80aef51657c763d57a6245010ace5a177c79", - "6.0.15": "9c6d607d80192e64b428ddab59eb3e3705a2c3b548b3f36bb6c3971a8cfa0ea14547cfc8823f453c234079d763ea80aef51657c763d57a6245010ace5a177c79" + "6.0.15": "9c6d607d80192e64b428ddab59eb3e3705a2c3b548b3f36bb6c3971a8cfa0ea14547cfc8823f453c234079d763ea80aef51657c763d57a6245010ace5a177c79", + "6.0.16": "9c6d607d80192e64b428ddab59eb3e3705a2c3b548b3f36bb6c3971a8cfa0ea14547cfc8823f453c234079d763ea80aef51657c763d57a6245010ace5a177c79", + "6.0.18": "9c6d607d80192e64b428ddab59eb3e3705a2c3b548b3f36bb6c3971a8cfa0ea14547cfc8823f453c234079d763ea80aef51657c763d57a6245010ace5a177c79" }, "jurism": { "5.0m1": null, diff --git a/schema/zotero-type-ids.json b/schema/zotero-type-ids.json index 457a721ff6..eb53905d42 100644 --- a/schema/zotero-type-ids.json +++ b/schema/zotero-type-ids.json @@ -772,35 +772,35 @@ INSERT INTO baseFieldMappings VALUES (17, 110, 111); -- case/title/caseName INSERT INTO baseFieldMappings VALUES (20, 110, 112); -- statute/title/nameOfAct INSERT INTO baseFieldMappings VALUES (21, 110, 113); -- email/title/subject -INSERT INTO creatorTypes VALUES(1, "author"); -INSERT INTO creatorTypes VALUES(2, "contributor"); -INSERT INTO creatorTypes VALUES(3, "editor"); -INSERT INTO creatorTypes VALUES(4, "translator"); -INSERT INTO creatorTypes VALUES(5, "seriesEditor"); -INSERT INTO creatorTypes VALUES(6, "interviewee"); -INSERT INTO creatorTypes VALUES(7, "interviewer"); -INSERT INTO creatorTypes VALUES(8, "director"); -INSERT INTO creatorTypes VALUES(9, "scriptwriter"); -INSERT INTO creatorTypes VALUES(10, "producer"); -INSERT INTO creatorTypes VALUES(11, "castMember"); -INSERT INTO creatorTypes VALUES(12, "sponsor"); -INSERT INTO creatorTypes VALUES(13, "counsel"); -INSERT INTO creatorTypes VALUES(14, "inventor"); -INSERT INTO creatorTypes VALUES(15, "attorneyAgent"); -INSERT INTO creatorTypes VALUES(16, "recipient"); -INSERT INTO creatorTypes VALUES(17, "performer"); -INSERT INTO creatorTypes VALUES(18, "composer"); -INSERT INTO creatorTypes VALUES(19, "wordsBy"); -INSERT INTO creatorTypes VALUES(20, "cartographer"); -INSERT INTO creatorTypes VALUES(21, "programmer"); -INSERT INTO creatorTypes VALUES(22, "artist"); -INSERT INTO creatorTypes VALUES(23, "commenter"); -INSERT INTO creatorTypes VALUES(24, "presenter"); -INSERT INTO creatorTypes VALUES(25, "guest"); -INSERT INTO creatorTypes VALUES(26, "podcaster"); -INSERT INTO creatorTypes VALUES(27, "reviewedAuthor"); -INSERT INTO creatorTypes VALUES(28, "cosponsor"); -INSERT INTO creatorTypes VALUES(29, "bookAuthor"); +INSERT INTO creatorTypes VALUES(1, 'author'); +INSERT INTO creatorTypes VALUES(2, 'contributor'); +INSERT INTO creatorTypes VALUES(3, 'editor'); +INSERT INTO creatorTypes VALUES(4, 'translator'); +INSERT INTO creatorTypes VALUES(5, 'seriesEditor'); +INSERT INTO creatorTypes VALUES(6, 'interviewee'); +INSERT INTO creatorTypes VALUES(7, 'interviewer'); +INSERT INTO creatorTypes VALUES(8, 'director'); +INSERT INTO creatorTypes VALUES(9, 'scriptwriter'); +INSERT INTO creatorTypes VALUES(10, 'producer'); +INSERT INTO creatorTypes VALUES(11, 'castMember'); +INSERT INTO creatorTypes VALUES(12, 'sponsor'); +INSERT INTO creatorTypes VALUES(13, 'counsel'); +INSERT INTO creatorTypes VALUES(14, 'inventor'); +INSERT INTO creatorTypes VALUES(15, 'attorneyAgent'); +INSERT INTO creatorTypes VALUES(16, 'recipient'); +INSERT INTO creatorTypes VALUES(17, 'performer'); +INSERT INTO creatorTypes VALUES(18, 'composer'); +INSERT INTO creatorTypes VALUES(19, 'wordsBy'); +INSERT INTO creatorTypes VALUES(20, 'cartographer'); +INSERT INTO creatorTypes VALUES(21, 'programmer'); +INSERT INTO creatorTypes VALUES(22, 'artist'); +INSERT INTO creatorTypes VALUES(23, 'commenter'); +INSERT INTO creatorTypes VALUES(24, 'presenter'); +INSERT INTO creatorTypes VALUES(25, 'guest'); +INSERT INTO creatorTypes VALUES(26, 'podcaster'); +INSERT INTO creatorTypes VALUES(27, 'reviewedAuthor'); +INSERT INTO creatorTypes VALUES(28, 'cosponsor'); +INSERT INTO creatorTypes VALUES(29, 'bookAuthor'); INSERT INTO itemTypeCreatorTypes VALUES(2,1,1); INSERT INTO itemTypeCreatorTypes VALUES(2,2,0); diff --git a/setup/preferences.py b/setup/preferences.py index a93d9fa537..4d6900a4f0 100755 --- a/setup/preferences.py +++ b/setup/preferences.py @@ -14,6 +14,7 @@ import frontmatter from types import SimpleNamespace import subprocess +from pathlib import Path subprocess.check_output(['node', 'setup/preferences.js', 'content/Preferences.pug', 'build/content/Preferences.xul']) @@ -28,22 +29,30 @@ def jstype(v): if type(v) == int: return 'number' raise ValueError(f'Unexpected type {type(v)}') -def load(path): - #for lang in [l for l in os.listdir(os.path.join(root, 'locale')) if l != 'en-US'] + ['en-US']: # make sure en-US is loaded last for the website - for lang in ['en-US']: - #print(f' {os.path.basename(path)} {lang}') - with open(path) as f: - xul = f.read() - with open(os.path.join(root, f'locale/{lang}/zotero-better-bibtex.dtd')) as dtd: - for entity in etree.DTD(dtd).entities(): - xul = xul.replace(f'&{entity.name};', entity.content) - xul = etree.fromstring(xul) - ns = Munch() - for name, url in xul.nsmap.items(): - if not name: name = 'xul' - ns[name] = url +def loadxul(xul, replace, as_string=False, lang='en-US'): + #print(f' {os.path.basename(path)} {lang}') + if isinstance(xul, Path): + with open(str(xul)) as f: + xul = f.read() + else: + assert type(xul) == str, type(xul) + + with open(os.path.join(root, f'locale/{lang}/zotero-better-bibtex.dtd')) as dtd: + for entity in etree.DTD(dtd).entities(): + xul = replace(xul, entity) + if as_string: + return xul + xul = etree.fromstring(xul) + ns = Munch() + for name, url in xul.nsmap.items(): + if not name: name = 'xul' + ns[name] = url return xul, ns +loadxul.translate = lambda xul, entity: xul.replace(f'&{entity.name};', entity.content) +loadxul.stash = lambda xul, entity: xul.replace(f'&{entity.name};', f'###{entity.name};') +loadxul.restore = lambda xul, entity: xul.replace(f'###{entity.name};', f'&{entity.name};') + class Preferences: def __init__(self): self.preferences = {} @@ -52,11 +61,12 @@ def __init__(self): self.printed = [] self.vars = [] - self.pane, self.ns = load(os.path.join(root, 'build/content/Preferences.xul')) + self.path = Path(root) / 'build/content/Preferences.xul' + self.pane, self.ns = loadxul(self.path, loadxul.translate) self.parse() self.doc() self.save() - self.clean(os.path.join(root, 'build/content/Preferences.xul')) + self.clean() def parse(self): xul = f'{{{self.ns.xul}}}' @@ -300,17 +310,26 @@ def pref(self, pref, level): return doc - def clean(self, path): - xul = f'{{{self.ns.xul}}}' - bbt = f'{{{self.ns.bbt}}}' - for node in self.pane.findall(f'.//{bbt}*'): + def clean(self): + with open(str(self.path)) as f: + declarations = [line for line in f.readlines() if line.startswith('}}) to get started with BBT. - ## Add-on could not be installed because it appears to be corrupt. You have downloaded the Better BibTeX plugin by clicking on the @@ -174,3 +167,16 @@ JabRef import works generally well but has a few gotchas: ## [Background exports]({{< relref "../exporting/#background-exports" >}}) have been disabled When BBT encounters an error during a background export, it will automatically disable them; the UI will show `Background exports disabled`. For reasons that I haven't yet discovered, Firefox (the platform Zotero still builds on) sometimes declines BBT's request for a background thread, and will decline them until Zotero is restarted. In order to let you keep on working, BBT will disable background exports, and subsequent exports will be the normal Zotero foreground exports. You can re-enable the background exports using the `parallel exports` slider in BBT's `Advanced` preferences, under the `export` tab, or by restarting Zotero, which will re-enable them if you haven't manually set the slider to `0`. + +### Why Zotero + BBT instead of Mendeley? + +Among the reasons to just prefer Zotero over Mendeley outright you will find: + +* Mendeley is owned by Elsevier. +* Mendeley thinks you [cannot be trusted with your own data](https://www.zotero.org/support/kb/mendeley_import#mendeley_database_encryption) + +But wrt bibtex export, I don't think the Mendeley engineers actively use bib(la)tex: + +* Mendeley is still double-bracing titles -- a behavior so wrong (yet unfortunately ubiquitous), biblatex started [ignoring double-braced titles]() (see [here](https://tex.stackexchange.com/a/327387/27603) and [here](https://tex.stackexchange.com/a/233976/27603)). +* Mendeley uses CSL, so items should be entered in sentence case (as is the case in Zotero). But bib(la)tex expects title-case, so titles should be ocnverted to title case during export. This is difficult, so Mendeley just doesn't bother doing it. +* Verbatim fields that should per spec be exported as regular fields by Mendeley. diff --git a/submodules/biber b/submodules/biber index d08549cfd5..703be0d280 160000 --- a/submodules/biber +++ b/submodules/biber @@ -1 +1 @@ -Subproject commit d08549cfd5882ce6bbe79eb6d7267ebf2188029e +Subproject commit 703be0d2802da1eac70c93e5255916067aa1786b diff --git a/test/features/export.feature b/test/features/export.feature index b87ec0721c..d2b704a839 100644 --- a/test/features/export.feature +++ b/test/features/export.feature @@ -251,13 +251,14 @@ Feature: Export Examples: | BibTeX export is incompatible with Zotero 6 Preprint item type. #2080 | 1 | - @csl + @csl @timeout=3000 Scenario Outline: Export references for CSL-JSON to When I import references from "export/.json" Then an export using "Better CSL JSON" should match "export/*.csl.json" Examples: | file | references | + | Export Error Unexpected date type #2303 | 1 | | Better CSL JSON does not include authority field #2019 | 1 | | Multiple creators in Extra not exported in Better CSL JSON #2015 | 1 | | Deterministic ordering for CSL #1178 #1400 | 26 | @@ -529,7 +530,7 @@ Feature: Export When I set preference .parseParticles to false Then an export using "Better BibLaTeX" should match "export/*.off.biblatex" - #@retries=5 + # @retries=5 Scenario: auto-export Given I import 3 references with 2 attachments from "export/*.json" into a new collection And I set preference .autoExport to "immediate" @@ -586,11 +587,9 @@ Feature: Export And an export using "Better BibTeX" should match "export/*.bibtex" When I set preference .cache to false Then an export using "Better BibTeX" should match "export/*.bibtex" - When I reset the cache And I set preference .cache to false Then an export using "Better BibTeX" should match "export/*.bibtex" - When I reset the cache Then an export using "Better CSL JSON" should match "export/*.csl.json" And an export using "Better CSL JSON" should match "export/*.csl.json", but take no more than 150 seconds @@ -648,19 +647,14 @@ Feature: Export @use.with_client=zotero @use.with_slow=true @timeout=3000 Scenario: Compare export times Given I import 86 references from "export/*.json" - And I set preference .cache to false - Then I export the library 50 times using "Better BibTeX" # stock bibtex And I export the library 50 times using "id:9cb70025-a888-4a29-a210-93ec52da40d4" - Then I export the library 50 times using "Better BibLaTeX" # stock biblatex And I export the library 50 times using "id:b6e39b57-8942-4d11-8259-342c46ce395f" - Then I set preference .cache to true - And I export the library 50 times using "Better BibTeX" And I export the library 50 times using "Better BibLaTeX" diff --git a/test/fixtures/export/Export Error Unexpected date type #2303.csl.json b/test/fixtures/export/Export Error Unexpected date type #2303.csl.json new file mode 100644 index 0000000000..524199fa9e --- /dev/null +++ b/test/fixtures/export/Export Error Unexpected date type #2303.csl.json @@ -0,0 +1,3 @@ +[ + {"id":"peirce1998","author":[{"family":"Peirce","given":"Charles S."}],"citation-key":"peirce1998","container-title":"The Essential Peirce: Selected Philosophical Writings, Volume 2","event-place":"Bloomington","ISBN":"978-0-253-21190-3","issued":{"date-parts":[[1998,4,1]]},"language":"English","publisher":"Indiana University Press","publisher-place":"Bloomington","source":"Amazon","title":"Pragmatism (1907)","type":"chapter"} +] diff --git a/test/fixtures/export/Export Error Unexpected date type #2303.json b/test/fixtures/export/Export Error Unexpected date type #2303.json new file mode 100644 index 0000000000..9e28ad3821 --- /dev/null +++ b/test/fixtures/export/Export Error Unexpected date type #2303.json @@ -0,0 +1,46 @@ +{ + "collections": { }, + "config": { + "id": "36a3b0b5-bad0-4a04-b79b-441c7cef77db", + "label": "BetterBibTeX JSON", + "options": { + "exportNotes": true + }, + "preferences": { + "autoExportDelay": 229, + "baseAttachmentPath": "\\\\ad.uni-hamburg.de\\basis\\mit\\bm01\\bal6922\\Documents\\3_resources\\PDF", + "citekeyFormat": "auth.lower+year", + "extraMergeCSL": true, + "extraMergeCitekeys": true, + "extraMergeTeX": true, + "keyScope": "global", + "quickCopyMode": "citekeys", + "verbatimFields": "url,doi,file,eprint,verba,verbb,verbc,groups" + } + }, + "items": [ + { + "ISBN": "978-0-253-21190-3", + "citationKey": "peirce1998e", + "creators": [ + { + "creatorType": "author", + "firstName": "Charles S.", + "lastName": "Peirce" + } + ], + "date": "1998-04-01", + "extra": [ + "original-date:" + ], + "itemID": 687, + "itemType": "bookSection", + "language": "English", + "libraryCatalog": "Amazon", + "place": "Bloomington", + "publicationTitle": "The Essential Peirce: Selected Philosophical Writings, Volume 2", + "publisher": "Indiana University Press", + "title": "Pragmatism (1907)" + } + ] +} diff --git a/test/fixtures/import/Some bibtex entries quietly discarded on import from bib file #873.json b/test/fixtures/import/Some bibtex entries quietly discarded on import from bib file #873.json index 7bf25a52b2..080bf49bca 100644 --- a/test/fixtures/import/Some bibtex entries quietly discarded on import from bib file #873.json +++ b/test/fixtures/import/Some bibtex entries quietly discarded on import from bib file #873.json @@ -2,7 +2,9 @@ "config": { "id": "36a3b0b5-bad0-4a04-b79b-441c7cef77db", "label": "BetterBibTeX JSON", - "options": {}, + "options": { + "exportNotes": true + }, "preferences": { "citekeyFormat": "auth + year" } @@ -160,7 +162,7 @@ ], "rights": "unrestricted", "title": "Programming hierarchical task networks in the situation calculus", - "url": "http://citeseer.ist.psu.edu/525546.html; http://www.cs.toronto.edu/cogrobo/Papers/htn-opw.ps" + "url": "http://citeseer.ist.psu.edu/525546.html; http://www.cs.toronto.edu/cogrobo/Papers/htn-opw.ps" }, { "abstractNote": "Hierarchical task network and action-based planning approaches have traditionally been studied separately. In many domains, human expertise in the form of hierarchical reduction schemas exists, but is incomplete. In such domains, hybrid approaches that use both HTN and action-based planning techniques are needed. In this paper, we extend our previous work on refinement planning to include hierarchical planning. Specifically, we provide a generalized plan-space refinement that is capable of handling non-primitive actions. The generalization provides a principled way of handling partially hierarchical domains, while preserving systematicity, and respecting the user-intent inherent in the reduction schemas. Our general account also puts into perspective the many surface differences between the HTN and action-based planners, and could support the transfer of progress between HTN and action-based planning approaches.", @@ -223,7 +225,7 @@ ], "rights": "unrestricted", "title": "Propice-plan: Toward a unified framework for planning and execution", - "url": "http://citeseer.ist.psu.edu/507370.html; http://www.informatik.uni-ulm.de/ki/biundo/ECP-Papers/61-despouys.ps.gz" + "url": "http://citeseer.ist.psu.edu/507370.html; http://www.informatik.uni-ulm.de/ki/biundo/ECP-Papers/61-despouys.ps.gz" }, { "abstractNote": "Planning is a central activity in many areas including robotics, manufacturing, space mission sequencing, and logistics. As the size and complexity of planning problems grow, there is great economic pressure to automate this process in order to reduce the cost of planning effort, and to improve the quality of produced plans. AI planning research has focused on general-purpose planning systems which can process the specifications of an application domain and generate solutions to planning problems in that domain. Unfortunately, there is a big gap between theoretical and application oriented work in AI planning. The theoretical work has been mostly based on state-based planning, which has limited practical applications. The application-oriented work has been based on hierarchical task network (HTN) planning, which lacks a theoretical foundation. As a result, in spite of many years of research, building planning applications remains a formidable task. The goal of this dissertation is to facilitate building reliable and effective planning applications. The methodology includes design of a mathematical framework for HTN planning, analysis of this framework, development of provably correct algorithms based on this analysis, and the implementation of these algorithms for further evaluation and exploration. The representation, analyses, and algorithms described in this thesis will make it easier to apply HTN planning techniques effectively and correctly to planning applications. The precise and mathematical nature of the descriptions will also help teaching about HTN planning, will clarify misconceptions in the literature, and will stimulate further research.", diff --git a/translators/BetterBibTeX JSON.ts b/translators/BetterBibTeX JSON.ts index a86f4e6d61..de5c6a6971 100644 --- a/translators/BetterBibTeX JSON.ts +++ b/translators/BetterBibTeX JSON.ts @@ -6,7 +6,7 @@ declare var ZOTERO_TRANSLATOR_INFO: TranslatorMetadata // eslint-disable-line no import { validItem } from '../content/ajv' import { simplifyForImport, simplifyForExport } from '../gen/items/simplify' const version = require('../gen/version.js') -import { stringify } from '../content/stringify' +import { fast_stringify as stringify } from '../content/stringify' import { log } from '../content/logger' import { normalize, Library } from './lib/normalize' @@ -191,6 +191,6 @@ export function doExport(): void { if (translation.preferences.testing) normalize(data) - Zotero.write(stringify(data, null, ' ')) + Zotero.write(stringify(data, null, ' ', true)) translation.erase() } diff --git a/translators/csl/csl.ts b/translators/csl/csl.ts index 1b408a7240..7828bfe356 100644 --- a/translators/csl/csl.ts +++ b/translators/csl/csl.ts @@ -77,7 +77,7 @@ export abstract class CSLExporter { item.journalAbbreviation = item.journalAbbreviation || item.autoJournalAbbreviation - let csl = Zotero.Utilities.itemToCSLJSON(item) + let csl = Zotero.Utilities.Item.itemToCSLJSON(item) csl['citation-key'] = item.citationKey if (Zotero.worker) csl.note = item.extra || undefined @@ -116,7 +116,7 @@ export abstract class CSLExporter { for (const [name, value] of Object.entries(item.extraFields.kv)) { const ef = ExtraFields[name] - if (!ef.csl) continue + if (!ef.csl || !value) continue if (ef.type === 'date') { csl[name] = this.date2CSL(dateparser.parse(value)) diff --git a/translators/csl/json.ts b/translators/csl/json.ts index 0edb8d6ab0..d8c3e3b095 100644 --- a/translators/csl/json.ts +++ b/translators/csl/json.ts @@ -33,6 +33,7 @@ class Exporter extends CSLExporter { public date2CSL(date: ParsedDate): CSLDate { switch (date.type) { case 'date': + case 'open': return { 'date-parts': [ date2csl(date) ], circa: (date.approximate || date.uncertain) ? true : undefined, diff --git a/translators/csl/yaml.ts b/translators/csl/yaml.ts index f66a61f9c4..aa52a02871 100644 --- a/translators/csl/yaml.ts +++ b/translators/csl/yaml.ts @@ -140,6 +140,7 @@ class Exporter extends CSLExporter { public date2CSL(date: ParsedDate): CSLDate { // fudge for CSL-YAML dates switch (date.type) { case 'date': + case 'open': case 'season': return [ date2csl(date) ] as unknown as CSLDate diff --git a/translators/lib/normalize.ts b/translators/lib/normalize.ts index 782a216cc0..b4081ea1f1 100644 --- a/translators/lib/normalize.ts +++ b/translators/lib/normalize.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-return */ -import { stringify } from '../../content/stringify' +import { stable_stringify as stringify } from '../../content/stringify' import { RegularItem, Collection } from '../../gen/typings/serialized-item' function rjust(str: string | number, width: number, padding: string): string { diff --git a/tsconfig.json b/tsconfig.json index 5f19ee7dce..d857f26a13 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,6 +15,7 @@ "sourceMap": false, "downlevelIteration": true, "resolveJsonModule": true, + "moduleResolution": "node16", "skipLibCheck": true, "typeRoots": [ "./node_modules/@types", diff --git a/util/clean-lib.ts b/util/clean-lib.ts index 75e3ad8db4..3199481dc6 100755 --- a/util/clean-lib.ts +++ b/util/clean-lib.ts @@ -8,7 +8,7 @@ const validate = ajv.compile(require('../test/features/steps/bbtjsonschema.json' import * as jsonpatch from 'fast-json-patch' import { normalize } from '../translators/lib/normalize' -import { stringify } from '../content/stringify' +import { stable_stringify as stringify } from '../content/stringify' import * as fs from 'fs' import { sync as glob } from 'glob' import * as path from 'path' @@ -59,6 +59,7 @@ function stripCC(input) { } function clean(item) { + delete item.libraryID delete item.uri delete item.dateAdded delete item.dateModified diff --git a/util/testcase.py b/util/testcase.py index eb8c009392..bce83ce9e2 100755 --- a/util/testcase.py +++ b/util/testcase.py @@ -80,7 +80,11 @@ parser = Parser() doc = Munch.fromDict(parser.parse(args.feature)) -outlines = [child for child in doc.feature.children if child.type == 'ScenarioOutline' and (args.translator in child.name or args.mode == 'import')] +outlines = [ + child.scenario + for child in doc.feature.children + if child.get('scenario') and child.scenario.keyword == 'Scenario Outline' and (args.translator in child.scenario.name or args.mode == 'import') +] assert len(outlines) == 1, f'{len(outlines)} outlines found containing {args.translator}' with open(args.feature) as f: