diff --git a/.eslintrc b/.eslintrc
deleted file mode 100644
index fb776e1..0000000
--- a/.eslintrc
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "rules": {
- "indent": [ 2, "tab", { "SwitchCase": 1 }],
- "quotes": [ 2, "single" ],
- "semi": [ 2, "always" ],
- "keyword-spacing": [ 2, { "before": true, "after": true } ],
- "space-before-blocks": [ 2, "always" ],
- "no-mixed-spaces-and-tabs": [ 2, "smart-tabs" ],
- "object-shorthand": [2, "always" ],
- "no-const-assign": 2,
- "no-unused-vars": 2,
- "no-class-assign": 2,
- "no-this-before-super": 2,
- "no-var": 2,
- "quote-props": [ 2, "as-needed" ],
- "one-var": [ 2, "never" ],
- "prefer-arrow-callback": 2,
- "prefer-const": 2,
- "arrow-spacing": 2,
- "no-cond-assign": 0,
- "no-constant-condition": 0
- },
- "env": {
- "es6": true,
- "browser": true
- },
- "globals": {
- "DEBUG": true,
- "process": true,
- "Buffer": true,
- "globalThis": true
- },
- "extends": "eslint:recommended",
- "parserOptions": {
- "ecmaVersion": 2020,
- "sourceType": "module"
- }
-}
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..7aea765
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,3 @@
+CHANGELOG.md
+pnpm-lock.yaml
+example/*
diff --git a/README.md b/README.md
index fa4c4f9..1431e93 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ npm i magic-string
To use in browser, grab the [magic-string.umd.js](https://unpkg.com/magic-string/dist/magic-string.umd.js) file and add it to your page:
```html
-
+
```
(It also works with various module systems, if you prefer that sort of thing - it has a dependency on [vlq](https://github.com/Rich-Harris/vlq).)
@@ -39,7 +39,7 @@ These examples assume you're in node.js, or something similar:
```js
import MagicString from 'magic-string';
-import fs from 'fs'
+import fs from 'fs';
const s = new MagicString('problems = 99');
@@ -53,9 +53,9 @@ s.prepend('var ').append(';'); // most methods are chainable
s.toString(); // 'var answer = 42;'
const map = s.generateMap({
- source: 'source.js',
- file: 'converted.js.map',
- includeContent: true
+ source: 'source.js',
+ file: 'converted.js.map',
+ includeContent: true,
}); // generates a v3 sourcemap
fs.writeFileSync('converted.js', s.toString());
@@ -66,11 +66,13 @@ You can pass an options argument:
```js
const s = new MagicString(someCode, {
- // these options will be used if you later call `bundle.addSource( s )` - see below
- filename: 'foo.js',
- indentExclusionRanges: [/*...*/],
- // mark source as ignore in DevTools, see below #Bundling
- ignoreList: false
+ // these options will be used if you later call `bundle.addSource( s )` - see below
+ filename: 'foo.js',
+ indentExclusionRanges: [
+ /*...*/
+ ],
+ // mark source as ignore in DevTools, see below #Bundling
+ ignoreList: false,
});
```
@@ -86,11 +88,11 @@ Appends the specified content to the end of the string. Returns `this`.
### s.appendLeft( index, content )
-Appends the specified `content` at the `index` in the original string. If a range *ending* with `index` is subsequently moved, the insert will be moved with it. Returns `this`. See also `s.prependLeft(...)`.
+Appends the specified `content` at the `index` in the original string. If a range _ending_ with `index` is subsequently moved, the insert will be moved with it. Returns `this`. See also `s.prependLeft(...)`.
### s.appendRight( index, content )
-Appends the specified `content` at the `index` in the original string. If a range *starting* with `index` is subsequently moved, the insert will be moved with it. Returns `this`. See also `s.prependRight(...)`.
+Appends the specified `content` at the `index` in the original string. If a range _starting_ with `index` is subsequently moved, the insert will be moved with it. Returns `this`. See also `s.prependRight(...)`.
### s.clone()
@@ -104,15 +106,15 @@ Generates a sourcemap object with raw mappings in array form, rather than encode
Generates a [version 3 sourcemap](https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit). All options are, well, optional:
-* `file` - the filename where you plan to write the sourcemap
-* `source` - the filename of the file containing the original source
-* `includeContent` - whether to include the original content in the map's `sourcesContent` array
-* `hires` - whether the mapping should be high-resolution. Hi-res mappings map every single character, meaning (for example) your devtools will always be able to pinpoint the exact location of function calls and so on. With lo-res mappings, devtools may only be able to identify the correct line - but they're quicker to generate and less bulky. You can also set `"boundary"` to generate a semi-hi-res mappings segmented per word boundary instead of per character, suitable for string semantics that are separated by words. If sourcemap locations have been specified with `s.addSourcemapLocation()`, they will be used here.
+- `file` - the filename where you plan to write the sourcemap
+- `source` - the filename of the file containing the original source
+- `includeContent` - whether to include the original content in the map's `sourcesContent` array
+- `hires` - whether the mapping should be high-resolution. Hi-res mappings map every single character, meaning (for example) your devtools will always be able to pinpoint the exact location of function calls and so on. With lo-res mappings, devtools may only be able to identify the correct line - but they're quicker to generate and less bulky. You can also set `"boundary"` to generate a semi-hi-res mappings segmented per word boundary instead of per character, suitable for string semantics that are separated by words. If sourcemap locations have been specified with `s.addSourcemapLocation()`, they will be used here.
The returned sourcemap has two (non-enumerable) methods attached for convenience:
-* `toString` - returns the equivalent of `JSON.stringify(map)`
-* `toUrl` - returns a DataURI containing the sourcemap. Useful for doing this sort of thing:
+- `toString` - returns the equivalent of `JSON.stringify(map)`
+- `toUrl` - returns a DataURI containing the sourcemap. Useful for doing this sort of thing:
```js
code += '\n//# sourceMappingURL=' + map.toUrl();
@@ -166,27 +168,28 @@ Prepends the string with the specified content. Returns `this`.
### s.prependLeft ( index, content )
-Same as `s.appendLeft(...)`, except that the inserted content will go *before* any previous appends or prepends at `index`
+Same as `s.appendLeft(...)`, except that the inserted content will go _before_ any previous appends or prepends at `index`
### s.prependRight ( index, content )
-Same as `s.appendRight(...)`, except that the inserted content will go *before* any previous appends or prepends at `index`
+Same as `s.appendRight(...)`, except that the inserted content will go _before_ any previous appends or prepends at `index`
### s.replace( regexpOrString, substitution )
String replacement with RegExp or string. When using a RegExp, replacer function is also supported. Returns `this`.
```ts
-import MagicString from 'magic-string'
+import MagicString from 'magic-string';
-const s = new MagicString(source)
+const s = new MagicString(source);
-s.replace('foo', 'bar')
-s.replace(/foo/g, 'bar')
-s.replace(/(\w)(\d+)/g, (_, $1, $2) => $1.toUpperCase() + $2)
+s.replace('foo', 'bar');
+s.replace(/foo/g, 'bar');
+s.replace(/(\w)(\d+)/g, (_, $1, $2) => $1.toUpperCase() + $2);
```
-The differences from [`String.replace`]((https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace)):
+The differences from [`String.replace`](<(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace)>):
+
- It will always match against the **original string**
- It mutates the magic string state (use `.clone()` to be immutable)
@@ -248,31 +251,32 @@ To concatenate several sources, use `MagicString.Bundle`:
const bundle = new MagicString.Bundle();
bundle.addSource({
- filename: 'foo.js',
- content: new MagicString('var answer = 42;')
+ filename: 'foo.js',
+ content: new MagicString('var answer = 42;'),
});
bundle.addSource({
- filename: 'bar.js',
- content: new MagicString('console.log( answer )')
+ filename: 'bar.js',
+ content: new MagicString('console.log( answer )'),
});
// Sources can be marked as ignore-listed, which provides a hint to debuggers
// to not step into this code and also don't show the source files depending
// on user preferences.
bundle.addSource({
- filename: 'some-3rdparty-library.js',
- content: new MagicString('function myLib(){}'),
- ignoreList: false // <--
-})
+ filename: 'some-3rdparty-library.js',
+ content: new MagicString('function myLib(){}'),
+ ignoreList: false, // <--
+});
// Advanced: a source can include an `indentExclusionRanges` property
// alongside `filename` and `content`. This will be passed to `s.indent()`
// - see documentation above
-bundle.indent() // optionally, pass an indent string, otherwise it will be guessed
- .prepend('(function () {\n')
- .append('}());');
+bundle
+ .indent() // optionally, pass an indent string, otherwise it will be guessed
+ .prepend('(function () {\n')
+ .append('}());');
bundle.toString();
// (function () {
@@ -282,9 +286,9 @@ bundle.toString();
// options are as per `s.generateMap()` above
const map = bundle.generateMap({
- file: 'bundle.js',
- includeContent: true,
- hires: true
+ file: 'bundle.js',
+ includeContent: true,
+ hires: true,
});
```
@@ -293,7 +297,7 @@ As an alternative syntax, if you a) don't have `filename` or `indentExclusionRan
```js
const bundle = new MagicString.Bundle();
const source = new MagicString(someCode, {
- filename: 'foo.js'
+ filename: 'foo.js',
});
bundle.addSource(source);
diff --git a/benchmark/data-min.js b/benchmark/data-min.js
index 6ecb61f..8e3b936 100644
--- a/benchmark/data-min.js
+++ b/benchmark/data-min.js
@@ -1,12 +1,842 @@
/* eslint-disable */
-import{encode as k}from"sourcemap-codec";class p{constructor(t){this.bits=t instanceof p?t.bits.slice():[]}add(t){this.bits[t>>5]|=1<<(t&31)}has(t){return!!(this.bits[t>>5]&1<<(t&31))}}class g{constructor(t,e,n){this.start=t,this.end=e,this.original=n,this.intro="",this.outro="",this.content=n,this.storeName=!1,this.edited=!1,Object.defineProperties(this,{previous:{writable:!0,value:null},next:{writable:!0,value:null}})}appendLeft(t){this.outro+=t}appendRight(t){this.intro=this.intro+t}clone(){const t=new g(this.start,this.end,this.original);return t.intro=this.intro,t.outro=this.outro,t.content=this.content,t.storeName=this.storeName,t.edited=this.edited,t}contains(t){return this.start{throw new Error("Unsupported environment: `window.btoa` or `Buffer` should be supported.")};typeof window<"u"&&typeof window.btoa=="function"?w=l=>window.btoa(unescape(encodeURIComponent(l))):typeof Buffer=="function"&&(w=l=>Buffer.from(l,"utf-8").toString("base64"));class b{constructor(t){this.version=3,this.file=t.file,this.sources=t.sources,this.sourcesContent=t.sourcesContent,this.names=t.names,this.mappings=k(t.mappings)}toString(){return JSON.stringify(this)}toUrl(){return"data:application/json;charset=utf-8;base64,"+w(this.toString())}}function L(l){const t=l.split(`
-`),e=t.filter(r=>/^\t+/.test(r)),n=t.filter(r=>/^ {2,}/.test(r));if(e.length===0&&n.length===0)return null;if(e.length>=n.length)return" ";const i=n.reduce((r,s)=>{const h=/^ +/.exec(s)[0].length;return Math.min(h,r)},1/0);return new Array(i+1).join(" ")}function E(l,t){const e=l.split(/[/\\]/),n=t.split(/[/\\]/);for(e.pop();e[0]===n[0];)e.shift(),n.shift();if(e.length){let i=e.length;for(;i--;)e[i]=".."}return e.concat(n).join("/")}const R=Object.prototype.toString;function x(l){return R.call(l)==="[object Object]"}function C(l){const t=l.split(`
-`),e=[];for(let n=0,i=0;n>1;i=0&&r.push(i),this.rawSegments.push(r)}else this.pending&&this.rawSegments.push(this.pending);this.advance(e),this.pending=null}addUneditedChunk(t,e,n,i,r){let s=e.start,h=!0;for(;s1){for(let n=0;n{const h=r(s.start);s.intro.length&&i.advance(s.intro),s.edited?i.addEdit(e,s.content,h,s.storeName?n.indexOf(s.original):-1):i.addUneditedChunk(e,s,this.original,h,this.sourcemapLocations),s.outro.length&&i.advance(s.outro)}),{file:t.file?t.file.split(/[/\\]/).pop():null,sources:[t.source?E(t.file||"",t.source):null],sourcesContent:t.includeContent?[this.original]:[null],names:n,mappings:i.raw}}generateMap(t){return new b(this.generateDecodedMap(t))}getIndentString(){return this.indentStr===null?" ":this.indentStr}indent(t,e){const n=/^[^\r\n]/gm;if(x(t)&&(e=t,t=void 0),t=t!==void 0?t:this.indentStr||" ",t==="")return this;e=e||{};const i={};e.exclude&&(typeof e.exclude[0]=="number"?[e.exclude]:e.exclude).forEach(u=>{for(let m=u[0];mr?`${t}${a}`:(r=!0,a);this.intro=this.intro.replace(n,s);let h=0,o=this.firstChunk;for(;o;){const a=o.end;if(o.edited)i[h]||(o.content=o.content.replace(n,s),o.content.length&&(r=o.content[o.content.length-1]===`
-`));else for(h=o.start;h=t&&n<=e)throw new Error("Cannot move a selection inside itself");this._split(t),this._split(e),this._split(n);const i=this.byStart[t],r=this.byEnd[e],s=i.previous,h=r.next,o=this.byStart[n];if(!o&&r===this.lastChunk)return this;const a=o?o.previous:this.lastChunk;return s&&(s.next=h),h&&(h.previous=s),a&&(a.next=i),o&&(o.previous=r),i.previous||(this.firstChunk=r.next),r.next||(this.lastChunk=i.previous,this.lastChunk.next=null),i.previous=a,r.next=o||null,a||(this.firstChunk=i),o||(this.lastChunk=r),this}overwrite(t,e,n,i){if(typeof n!="string")throw new TypeError("replacement content must be a string");for(;t<0;)t+=this.original.length;for(;e<0;)e+=this.original.length;if(e>this.original.length)throw new Error("end is out of bounds");if(t===e)throw new Error("Cannot overwrite a zero-length range \u2013 use appendLeft or prependRight instead");this._split(t),this._split(e),i===!0&&(c.storeName||(console.warn("The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string"),c.storeName=!0),i={storeName:!0});const r=i!==void 0?i.storeName:!1,s=i!==void 0?i.contentOnly:!1;if(r){const a=this.original.slice(t,e);Object.defineProperty(this.storedNames,a,{writable:!0,value:!0,enumerable:!0})}const h=this.byStart[t],o=this.byEnd[e];if(h){let a=h;for(;a!==o;){if(a.next!==this.byStart[a.end])throw new Error("Cannot overwrite across a split point");a=a.next,a.edit("",!1)}h.edit(n,r,s)}else{const a=new g(t,e,"").edit(n,r);o.next=a,a.previous=o}return this}prepend(t){if(typeof t!="string")throw new TypeError("outro content must be a string");return this.intro=t+this.intro,this}prependLeft(t,e){if(typeof e!="string")throw new TypeError("inserted content must be a string");this._split(t);const n=this.byEnd[t];return n?n.prependLeft(e):this.intro=e+this.intro,this}prependRight(t,e){if(typeof e!="string")throw new TypeError("inserted content must be a string");this._split(t);const n=this.byStart[t];return n?n.prependRight(e):this.outro=e+this.outro,this}remove(t,e){for(;t<0;)t+=this.original.length;for(;e<0;)e+=this.original.length;if(t===e)return this;if(t<0||e>this.original.length)throw new Error("Character is out of bounds");if(t>e)throw new Error("end must be greater than start");this._split(t),this._split(e);let n=this.byStart[t];for(;n;)n.intro="",n.outro="",n.edit(""),n=e>n.end?this.byStart[n.end]:null;return this}lastChar(){if(this.outro.length)return this.outro[this.outro.length-1];let t=this.lastChunk;do{if(t.outro.length)return t.outro[t.outro.length-1];if(t.content.length)return t.content[t.content.length-1];if(t.intro.length)return t.intro[t.intro.length-1]}while(t=t.previous);return this.intro.length?this.intro[this.intro.length-1]:""}lastLine(){let t=this.outro.lastIndexOf(d);if(t!==-1)return this.outro.substr(t+1);let e=this.outro,n=this.lastChunk;do{if(n.outro.length>0){if(t=n.outro.lastIndexOf(d),t!==-1)return n.outro.substr(t+1)+e;e=n.outro+e}if(n.content.length>0){if(t=n.content.lastIndexOf(d),t!==-1)return n.content.substr(t+1)+e;e=n.content+e}if(n.intro.length>0){if(t=n.intro.lastIndexOf(d),t!==-1)return n.intro.substr(t+1)+e;e=n.intro+e}}while(n=n.previous);return t=this.intro.lastIndexOf(d),t!==-1?this.intro.substr(t+1)+e:this.intro+e}slice(t=0,e=this.original.length){for(;t<0;)t+=this.original.length;for(;e<0;)e+=this.original.length;let n="",i=this.firstChunk;for(;i&&(i.start>t||i.end<=t);){if(i.start=e)return n;i=i.next}if(i&&i.edited&&i.start!==t)throw new Error(`Cannot use replaced character ${t} as slice start anchor.`);const r=i;for(;i;){i.intro&&(r!==i||i.start===t)&&(n+=i.intro);const s=i.start=e;if(s&&i.edited&&i.end!==e)throw new Error(`Cannot use replaced character ${e} as slice end anchor.`);const h=r===i?t-i.start:0,o=s?i.content.length+e-i.end:i.content.length;if(n+=i.content.slice(h,o),i.outro&&(!s||i.end===e)&&(n+=i.outro),s)break;i=i.next}return n}snip(t,e){const n=this.clone();return n.remove(0,t),n.remove(e,n.original.length),n}_split(t){if(this.byStart[t]||this.byEnd[t])return;let e=this.lastSearchedChunk;const n=t>e.end;for(;e;){if(e.contains(t))return this._splitChunk(e,t);e=n?this.byStart[e.end]:this.byEnd[e.start]}}_splitChunk(t,e){if(t.edited&&t.content.length){const i=C(this.original)(e);throw new Error(`Cannot split a chunk that has already been edited (${i.line}:${i.column} \u2013 "${t.original}")`)}const n=t.split(e);return this.byEnd[e]=t,this.byStart[e]=n,this.byEnd[n.end]=n,t===this.lastChunk&&(this.lastChunk=n),this.lastSearchedChunk=t,!0}toString(){let t=this.intro,e=this.firstChunk;for(;e;)t+=e.toString(),e=e.next;return t+this.outro}isEmpty(){let t=this.firstChunk;do if(t.intro.length&&t.intro.trim()||t.content.length&&t.content.trim()||t.outro.length&&t.outro.trim())return!1;while(t=t.next);return!0}length(){let t=this.firstChunk,e=0;do e+=t.intro.length+t.content.length+t.outro.length;while(t=t.next);return e}trimLines(){return this.trim("[\\r\\n]")}trim(t){return this.trimStart(t).trimEnd(t)}trimEndAborted(t){const e=new RegExp((t||"\\s")+"+$");if(this.outro=this.outro.replace(e,""),this.outro.length)return!0;let n=this.lastChunk;do{const i=n.end,r=n.trimEnd(e);if(n.end!==i&&(this.lastChunk===n&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),r)return!0;n=n.previous}while(n);return!1}trimEnd(t){return this.trimEndAborted(t),this}trimStartAborted(t){const e=new RegExp("^"+(t||"\\s")+"+");if(this.intro=this.intro.replace(e,""),this.intro.length)return!0;let n=this.firstChunk;do{const i=n.end,r=n.trimStart(e);if(n.end!==i&&(n===this.lastChunk&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),r)return!0;n=n.next}while(n);return!1}trimStart(t){return this.trimStartAborted(t),this}hasChanged(){return this.original!==this.toString()}replace(t,e){function n(r,s){return typeof e=="string"?e.replace(/\$(\$|&|\d+)/g,(h,o)=>o==="$"?"$":o==="&"?r[0]:+o{s.index!=null&&this.overwrite(s.index,s.index+s[0].length,n(s,this.original))});else{const r=this.original.match(t);r&&r.index!=null&&this.overwrite(r.index,r.index+r[0].length,n(r,this.original))}return this}}const v=Object.prototype.hasOwnProperty;class S{constructor(t={}){this.intro=t.intro||"",this.separator=t.separator!==void 0?t.separator:`
-`,this.sources=[],this.uniqueSources=[],this.uniqueSourceIndexByFilename={}}addSource(t){if(t instanceof f)return this.addSource({content:t,filename:t.filename,separator:this.separator});if(!x(t)||!t.content)throw new Error("bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`");if(["filename","indentExclusionRanges","separator"].forEach(e=>{v.call(t,e)||(t[e]=t.content[e])}),t.separator===void 0&&(t.separator=this.separator),t.filename)if(!v.call(this.uniqueSourceIndexByFilename,t.filename))this.uniqueSourceIndexByFilename[t.filename]=this.uniqueSources.length,this.uniqueSources.push({filename:t.filename,content:t.content.original});else{const e=this.uniqueSources[this.uniqueSourceIndexByFilename[t.filename]];if(t.content.original!==e.content)throw new Error(`Illegal source: same filename (${t.filename}), different contents`)}return this.sources.push(t),this}append(t,e){return this.addSource({content:new f(t),separator:e&&e.separator||""}),this}clone(){const t=new S({intro:this.intro,separator:this.separator});return this.sources.forEach(e=>{t.addSource({filename:e.filename,content:e.content.clone(),separator:e.separator})}),t}generateDecodedMap(t={}){const e=[];this.sources.forEach(i=>{Object.keys(i.content.storedNames).forEach(r=>{~e.indexOf(r)||e.push(r)})});const n=new y(t.hires);return this.intro&&n.advance(this.intro),this.sources.forEach((i,r)=>{r>0&&n.advance(this.separator);const s=i.filename?this.uniqueSourceIndexByFilename[i.filename]:-1,h=i.content,o=C(h.original);h.intro&&n.advance(h.intro),h.firstChunk.eachNext(a=>{const u=o(a.start);a.intro.length&&n.advance(a.intro),i.filename?a.edited?n.addEdit(s,a.content,u,a.storeName?e.indexOf(a.original):-1):n.addUneditedChunk(s,a,h.original,u,h.sourcemapLocations):n.advance(a.content),a.outro.length&&n.advance(a.outro)}),h.outro&&n.advance(h.outro)}),{file:t.file?t.file.split(/[/\\]/).pop():null,sources:this.uniqueSources.map(i=>t.file?E(t.file,i.filename):i.filename),sourcesContent:this.uniqueSources.map(i=>t.includeContent?i.content:null),names:e,mappings:n.raw}}generateMap(t){return new b(this.generateDecodedMap(t))}getIndentString(){const t={};return this.sources.forEach(e=>{const n=e.content.indentStr;n!==null&&(t[n]||(t[n]=0),t[n]+=1)}),Object.keys(t).sort((e,n)=>t[e]-t[n])[0]||" "}indent(t){if(arguments.length||(t=this.getIndentString()),t==="")return this;let e=!this.intro||this.intro.slice(-1)===`
-`;return this.sources.forEach((n,i)=>{const r=n.separator!==void 0?n.separator:this.separator,s=e||i>0&&/\r?\n$/.test(r);n.content.indent(t,{exclude:n.indentExclusionRanges,indentStart:s}),e=n.content.lastChar()===`
-`}),this.intro&&(this.intro=t+this.intro.replace(/^[^\n]/gm,(n,i)=>i>0?t+n:n)),this}prepend(t){return this.intro=t+this.intro,this}toString(){const t=this.sources.map((e,n)=>{const i=e.separator!==void 0?e.separator:this.separator;return(n>0?i:"")+e.content.toString()}).join("");return this.intro+t}isEmpty(){return!(this.intro.length&&this.intro.trim()||this.sources.some(t=>!t.content.isEmpty()))}length(){return this.sources.reduce((t,e)=>t+e.content.length(),this.intro.length)}trimLines(){return this.trim("[\\r\\n]")}trim(t){return this.trimStart(t).trimEnd(t)}trimStart(t){const e=new RegExp("^"+(t||"\\s")+"+");if(this.intro=this.intro.replace(e,""),!this.intro){let n,i=0;do if(n=this.sources[i++],!n)break;while(!n.content.trimStartAborted(t))}return this}trimEnd(t){const e=new RegExp((t||"\\s")+"+$");let n,i=this.sources.length-1;do if(n=this.sources[i--],!n){this.intro=this.intro.replace(e,"");break}while(!n.content.trimEndAborted(t));return this}}export{S as Bundle,b as SourceMap,f as default};
+import { encode as k } from 'sourcemap-codec';
+class p {
+ constructor(t) {
+ this.bits = t instanceof p ? t.bits.slice() : [];
+ }
+ add(t) {
+ this.bits[t >> 5] |= 1 << (t & 31);
+ }
+ has(t) {
+ return !!(this.bits[t >> 5] & (1 << (t & 31)));
+ }
+}
+class g {
+ constructor(t, e, n) {
+ (this.start = t),
+ (this.end = e),
+ (this.original = n),
+ (this.intro = ''),
+ (this.outro = ''),
+ (this.content = n),
+ (this.storeName = !1),
+ (this.edited = !1),
+ Object.defineProperties(this, {
+ previous: { writable: !0, value: null },
+ next: { writable: !0, value: null },
+ });
+ }
+ appendLeft(t) {
+ this.outro += t;
+ }
+ appendRight(t) {
+ this.intro = this.intro + t;
+ }
+ clone() {
+ const t = new g(this.start, this.end, this.original);
+ return (
+ (t.intro = this.intro),
+ (t.outro = this.outro),
+ (t.content = this.content),
+ (t.storeName = this.storeName),
+ (t.edited = this.edited),
+ t
+ );
+ }
+ contains(t) {
+ return this.start < t && t < this.end;
+ }
+ eachNext(t) {
+ let e = this;
+ for (; e; ) t(e), (e = e.next);
+ }
+ eachPrevious(t) {
+ let e = this;
+ for (; e; ) t(e), (e = e.previous);
+ }
+ edit(t, e, n) {
+ return (
+ (this.content = t),
+ n || ((this.intro = ''), (this.outro = '')),
+ (this.storeName = e),
+ (this.edited = !0),
+ this
+ );
+ }
+ prependLeft(t) {
+ this.outro = t + this.outro;
+ }
+ prependRight(t) {
+ this.intro = t + this.intro;
+ }
+ split(t) {
+ const e = t - this.start,
+ n = this.original.slice(0, e),
+ i = this.original.slice(e);
+ this.original = n;
+ const r = new g(t, this.end, i);
+ return (
+ (r.outro = this.outro),
+ (this.outro = ''),
+ (this.end = t),
+ this.edited ? (r.edit('', !1), (this.content = '')) : (this.content = n),
+ (r.next = this.next),
+ r.next && (r.next.previous = r),
+ (r.previous = this),
+ (this.next = r),
+ r
+ );
+ }
+ toString() {
+ return this.intro + this.content + this.outro;
+ }
+ trimEnd(t) {
+ if (((this.outro = this.outro.replace(t, '')), this.outro.length)) return !0;
+ const e = this.content.replace(t, '');
+ if (e.length)
+ return e !== this.content && this.split(this.start + e.length).edit('', void 0, !0), !0;
+ if ((this.edit('', void 0, !0), (this.intro = this.intro.replace(t, '')), this.intro.length))
+ return !0;
+ }
+ trimStart(t) {
+ if (((this.intro = this.intro.replace(t, '')), this.intro.length)) return !0;
+ const e = this.content.replace(t, '');
+ if (e.length)
+ return e !== this.content && (this.split(this.end - e.length), this.edit('', void 0, !0)), !0;
+ if ((this.edit('', void 0, !0), (this.outro = this.outro.replace(t, '')), this.outro.length))
+ return !0;
+ }
+}
+let w = () => {
+ throw new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');
+};
+typeof window < 'u' && typeof window.btoa == 'function'
+ ? (w = (l) => window.btoa(unescape(encodeURIComponent(l))))
+ : typeof Buffer == 'function' && (w = (l) => Buffer.from(l, 'utf-8').toString('base64'));
+class b {
+ constructor(t) {
+ (this.version = 3),
+ (this.file = t.file),
+ (this.sources = t.sources),
+ (this.sourcesContent = t.sourcesContent),
+ (this.names = t.names),
+ (this.mappings = k(t.mappings));
+ }
+ toString() {
+ return JSON.stringify(this);
+ }
+ toUrl() {
+ return 'data:application/json;charset=utf-8;base64,' + w(this.toString());
+ }
+}
+function L(l) {
+ const t = l.split(`
+`),
+ e = t.filter((r) => /^\t+/.test(r)),
+ n = t.filter((r) => /^ {2,}/.test(r));
+ if (e.length === 0 && n.length === 0) return null;
+ if (e.length >= n.length) return ' ';
+ const i = n.reduce((r, s) => {
+ const h = /^ +/.exec(s)[0].length;
+ return Math.min(h, r);
+ }, 1 / 0);
+ return new Array(i + 1).join(' ');
+}
+function E(l, t) {
+ const e = l.split(/[/\\]/),
+ n = t.split(/[/\\]/);
+ for (e.pop(); e[0] === n[0]; ) e.shift(), n.shift();
+ if (e.length) {
+ let i = e.length;
+ for (; i--; ) e[i] = '..';
+ }
+ return e.concat(n).join('/');
+}
+const R = Object.prototype.toString;
+function x(l) {
+ return R.call(l) === '[object Object]';
+}
+function C(l) {
+ const t = l.split(`
+`),
+ e = [];
+ for (let n = 0, i = 0; n < t.length; n++) e.push(i), (i += t[n].length + 1);
+ return function (i) {
+ let r = 0,
+ s = e.length;
+ for (; r < s; ) {
+ const a = (r + s) >> 1;
+ i < e[a] ? (s = a) : (r = a + 1);
+ }
+ const h = r - 1,
+ o = i - e[h];
+ return { line: h, column: o };
+ };
+}
+class y {
+ constructor(t) {
+ (this.hires = t),
+ (this.generatedCodeLine = 0),
+ (this.generatedCodeColumn = 0),
+ (this.raw = []),
+ (this.rawSegments = this.raw[this.generatedCodeLine] = []),
+ (this.pending = null);
+ }
+ addEdit(t, e, n, i) {
+ if (e.length) {
+ const r = [this.generatedCodeColumn, t, n.line, n.column];
+ i >= 0 && r.push(i), this.rawSegments.push(r);
+ } else this.pending && this.rawSegments.push(this.pending);
+ this.advance(e), (this.pending = null);
+ }
+ addUneditedChunk(t, e, n, i, r) {
+ let s = e.start,
+ h = !0;
+ for (; s < e.end; )
+ (this.hires || h || r.has(s)) &&
+ this.rawSegments.push([this.generatedCodeColumn, t, i.line, i.column]),
+ n[s] ===
+ `
+`
+ ? ((i.line += 1),
+ (i.column = 0),
+ (this.generatedCodeLine += 1),
+ (this.raw[this.generatedCodeLine] = this.rawSegments = []),
+ (this.generatedCodeColumn = 0),
+ (h = !0))
+ : ((i.column += 1), (this.generatedCodeColumn += 1), (h = !1)),
+ (s += 1);
+ this.pending = null;
+ }
+ advance(t) {
+ if (!t) return;
+ const e = t.split(`
+`);
+ if (e.length > 1) {
+ for (let n = 0; n < e.length - 1; n++)
+ this.generatedCodeLine++, (this.raw[this.generatedCodeLine] = this.rawSegments = []);
+ this.generatedCodeColumn = 0;
+ }
+ this.generatedCodeColumn += e[e.length - 1].length;
+ }
+}
+const d = `
+`,
+ c = { insertLeft: !1, insertRight: !1, storeName: !1 };
+class f {
+ constructor(t, e = {}) {
+ const n = new g(0, t.length, t);
+ Object.defineProperties(this, {
+ original: { writable: !0, value: t },
+ outro: { writable: !0, value: '' },
+ intro: { writable: !0, value: '' },
+ firstChunk: { writable: !0, value: n },
+ lastChunk: { writable: !0, value: n },
+ lastSearchedChunk: { writable: !0, value: n },
+ byStart: { writable: !0, value: {} },
+ byEnd: { writable: !0, value: {} },
+ filename: { writable: !0, value: e.filename },
+ indentExclusionRanges: { writable: !0, value: e.indentExclusionRanges },
+ sourcemapLocations: { writable: !0, value: new p() },
+ storedNames: { writable: !0, value: {} },
+ indentStr: { writable: !0, value: L(t) },
+ }),
+ (this.byStart[0] = n),
+ (this.byEnd[t.length] = n);
+ }
+ addSourcemapLocation(t) {
+ this.sourcemapLocations.add(t);
+ }
+ append(t) {
+ if (typeof t != 'string') throw new TypeError('outro content must be a string');
+ return (this.outro += t), this;
+ }
+ appendLeft(t, e) {
+ if (typeof e != 'string') throw new TypeError('inserted content must be a string');
+ this._split(t);
+ const n = this.byEnd[t];
+ return n ? n.appendLeft(e) : (this.intro += e), this;
+ }
+ appendRight(t, e) {
+ if (typeof e != 'string') throw new TypeError('inserted content must be a string');
+ this._split(t);
+ const n = this.byStart[t];
+ return n ? n.appendRight(e) : (this.outro += e), this;
+ }
+ clone() {
+ const t = new f(this.original, { filename: this.filename });
+ let e = this.firstChunk,
+ n = (t.firstChunk = t.lastSearchedChunk = e.clone());
+ for (; e; ) {
+ (t.byStart[n.start] = n), (t.byEnd[n.end] = n);
+ const i = e.next,
+ r = i && i.clone();
+ r && ((n.next = r), (r.previous = n), (n = r)), (e = i);
+ }
+ return (
+ (t.lastChunk = n),
+ this.indentExclusionRanges && (t.indentExclusionRanges = this.indentExclusionRanges.slice()),
+ (t.sourcemapLocations = new p(this.sourcemapLocations)),
+ (t.intro = this.intro),
+ (t.outro = this.outro),
+ t
+ );
+ }
+ generateDecodedMap(t) {
+ t = t || {};
+ const e = 0,
+ n = Object.keys(this.storedNames),
+ i = new y(t.hires),
+ r = C(this.original);
+ return (
+ this.intro && i.advance(this.intro),
+ this.firstChunk.eachNext((s) => {
+ const h = r(s.start);
+ s.intro.length && i.advance(s.intro),
+ s.edited
+ ? i.addEdit(e, s.content, h, s.storeName ? n.indexOf(s.original) : -1)
+ : i.addUneditedChunk(e, s, this.original, h, this.sourcemapLocations),
+ s.outro.length && i.advance(s.outro);
+ }),
+ {
+ file: t.file ? t.file.split(/[/\\]/).pop() : null,
+ sources: [t.source ? E(t.file || '', t.source) : null],
+ sourcesContent: t.includeContent ? [this.original] : [null],
+ names: n,
+ mappings: i.raw,
+ }
+ );
+ }
+ generateMap(t) {
+ return new b(this.generateDecodedMap(t));
+ }
+ getIndentString() {
+ return this.indentStr === null ? ' ' : this.indentStr;
+ }
+ indent(t, e) {
+ const n = /^[^\r\n]/gm;
+ if ((x(t) && ((e = t), (t = void 0)), (t = t !== void 0 ? t : this.indentStr || ' '), t === ''))
+ return this;
+ e = e || {};
+ const i = {};
+ e.exclude &&
+ (typeof e.exclude[0] == 'number' ? [e.exclude] : e.exclude).forEach((u) => {
+ for (let m = u[0]; m < u[1]; m += 1) i[m] = !0;
+ });
+ let r = e.indentStart !== !1;
+ const s = (a) => (r ? `${t}${a}` : ((r = !0), a));
+ this.intro = this.intro.replace(n, s);
+ let h = 0,
+ o = this.firstChunk;
+ for (; o; ) {
+ const a = o.end;
+ if (o.edited)
+ i[h] ||
+ ((o.content = o.content.replace(n, s)),
+ o.content.length &&
+ (r =
+ o.content[o.content.length - 1] ===
+ `
+`));
+ else
+ for (h = o.start; h < a; ) {
+ if (!i[h]) {
+ const u = this.original[h];
+ u ===
+ `
+`
+ ? (r = !0)
+ : u !== '\r' &&
+ r &&
+ ((r = !1),
+ h === o.start || (this._splitChunk(o, h), (o = o.next)),
+ o.prependRight(t));
+ }
+ h += 1;
+ }
+ (h = o.end), (o = o.next);
+ }
+ return (this.outro = this.outro.replace(n, s)), this;
+ }
+ insert() {
+ throw new Error(
+ 'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',
+ );
+ }
+ insertLeft(t, e) {
+ return (
+ c.insertLeft ||
+ (console.warn(
+ 'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',
+ ),
+ (c.insertLeft = !0)),
+ this.appendLeft(t, e)
+ );
+ }
+ insertRight(t, e) {
+ return (
+ c.insertRight ||
+ (console.warn(
+ 'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',
+ ),
+ (c.insertRight = !0)),
+ this.prependRight(t, e)
+ );
+ }
+ move(t, e, n) {
+ if (n >= t && n <= e) throw new Error('Cannot move a selection inside itself');
+ this._split(t), this._split(e), this._split(n);
+ const i = this.byStart[t],
+ r = this.byEnd[e],
+ s = i.previous,
+ h = r.next,
+ o = this.byStart[n];
+ if (!o && r === this.lastChunk) return this;
+ const a = o ? o.previous : this.lastChunk;
+ return (
+ s && (s.next = h),
+ h && (h.previous = s),
+ a && (a.next = i),
+ o && (o.previous = r),
+ i.previous || (this.firstChunk = r.next),
+ r.next || ((this.lastChunk = i.previous), (this.lastChunk.next = null)),
+ (i.previous = a),
+ (r.next = o || null),
+ a || (this.firstChunk = i),
+ o || (this.lastChunk = r),
+ this
+ );
+ }
+ overwrite(t, e, n, i) {
+ if (typeof n != 'string') throw new TypeError('replacement content must be a string');
+ for (; t < 0; ) t += this.original.length;
+ for (; e < 0; ) e += this.original.length;
+ if (e > this.original.length) throw new Error('end is out of bounds');
+ if (t === e)
+ throw new Error(
+ 'Cannot overwrite a zero-length range \u2013 use appendLeft or prependRight instead',
+ );
+ this._split(t),
+ this._split(e),
+ i === !0 &&
+ (c.storeName ||
+ (console.warn(
+ 'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',
+ ),
+ (c.storeName = !0)),
+ (i = { storeName: !0 }));
+ const r = i !== void 0 ? i.storeName : !1,
+ s = i !== void 0 ? i.contentOnly : !1;
+ if (r) {
+ const a = this.original.slice(t, e);
+ Object.defineProperty(this.storedNames, a, { writable: !0, value: !0, enumerable: !0 });
+ }
+ const h = this.byStart[t],
+ o = this.byEnd[e];
+ if (h) {
+ let a = h;
+ for (; a !== o; ) {
+ if (a.next !== this.byStart[a.end])
+ throw new Error('Cannot overwrite across a split point');
+ (a = a.next), a.edit('', !1);
+ }
+ h.edit(n, r, s);
+ } else {
+ const a = new g(t, e, '').edit(n, r);
+ (o.next = a), (a.previous = o);
+ }
+ return this;
+ }
+ prepend(t) {
+ if (typeof t != 'string') throw new TypeError('outro content must be a string');
+ return (this.intro = t + this.intro), this;
+ }
+ prependLeft(t, e) {
+ if (typeof e != 'string') throw new TypeError('inserted content must be a string');
+ this._split(t);
+ const n = this.byEnd[t];
+ return n ? n.prependLeft(e) : (this.intro = e + this.intro), this;
+ }
+ prependRight(t, e) {
+ if (typeof e != 'string') throw new TypeError('inserted content must be a string');
+ this._split(t);
+ const n = this.byStart[t];
+ return n ? n.prependRight(e) : (this.outro = e + this.outro), this;
+ }
+ remove(t, e) {
+ for (; t < 0; ) t += this.original.length;
+ for (; e < 0; ) e += this.original.length;
+ if (t === e) return this;
+ if (t < 0 || e > this.original.length) throw new Error('Character is out of bounds');
+ if (t > e) throw new Error('end must be greater than start');
+ this._split(t), this._split(e);
+ let n = this.byStart[t];
+ for (; n; )
+ (n.intro = ''), (n.outro = ''), n.edit(''), (n = e > n.end ? this.byStart[n.end] : null);
+ return this;
+ }
+ lastChar() {
+ if (this.outro.length) return this.outro[this.outro.length - 1];
+ let t = this.lastChunk;
+ do {
+ if (t.outro.length) return t.outro[t.outro.length - 1];
+ if (t.content.length) return t.content[t.content.length - 1];
+ if (t.intro.length) return t.intro[t.intro.length - 1];
+ } while ((t = t.previous));
+ return this.intro.length ? this.intro[this.intro.length - 1] : '';
+ }
+ lastLine() {
+ let t = this.outro.lastIndexOf(d);
+ if (t !== -1) return this.outro.substr(t + 1);
+ let e = this.outro,
+ n = this.lastChunk;
+ do {
+ if (n.outro.length > 0) {
+ if (((t = n.outro.lastIndexOf(d)), t !== -1)) return n.outro.substr(t + 1) + e;
+ e = n.outro + e;
+ }
+ if (n.content.length > 0) {
+ if (((t = n.content.lastIndexOf(d)), t !== -1)) return n.content.substr(t + 1) + e;
+ e = n.content + e;
+ }
+ if (n.intro.length > 0) {
+ if (((t = n.intro.lastIndexOf(d)), t !== -1)) return n.intro.substr(t + 1) + e;
+ e = n.intro + e;
+ }
+ } while ((n = n.previous));
+ return (
+ (t = this.intro.lastIndexOf(d)), t !== -1 ? this.intro.substr(t + 1) + e : this.intro + e
+ );
+ }
+ slice(t = 0, e = this.original.length) {
+ for (; t < 0; ) t += this.original.length;
+ for (; e < 0; ) e += this.original.length;
+ let n = '',
+ i = this.firstChunk;
+ for (; i && (i.start > t || i.end <= t); ) {
+ if (i.start < e && i.end >= e) return n;
+ i = i.next;
+ }
+ if (i && i.edited && i.start !== t)
+ throw new Error(`Cannot use replaced character ${t} as slice start anchor.`);
+ const r = i;
+ for (; i; ) {
+ i.intro && (r !== i || i.start === t) && (n += i.intro);
+ const s = i.start < e && i.end >= e;
+ if (s && i.edited && i.end !== e)
+ throw new Error(`Cannot use replaced character ${e} as slice end anchor.`);
+ const h = r === i ? t - i.start : 0,
+ o = s ? i.content.length + e - i.end : i.content.length;
+ if (((n += i.content.slice(h, o)), i.outro && (!s || i.end === e) && (n += i.outro), s))
+ break;
+ i = i.next;
+ }
+ return n;
+ }
+ snip(t, e) {
+ const n = this.clone();
+ return n.remove(0, t), n.remove(e, n.original.length), n;
+ }
+ _split(t) {
+ if (this.byStart[t] || this.byEnd[t]) return;
+ let e = this.lastSearchedChunk;
+ const n = t > e.end;
+ for (; e; ) {
+ if (e.contains(t)) return this._splitChunk(e, t);
+ e = n ? this.byStart[e.end] : this.byEnd[e.start];
+ }
+ }
+ _splitChunk(t, e) {
+ if (t.edited && t.content.length) {
+ const i = C(this.original)(e);
+ throw new Error(
+ `Cannot split a chunk that has already been edited (${i.line}:${i.column} \u2013 "${t.original}")`,
+ );
+ }
+ const n = t.split(e);
+ return (
+ (this.byEnd[e] = t),
+ (this.byStart[e] = n),
+ (this.byEnd[n.end] = n),
+ t === this.lastChunk && (this.lastChunk = n),
+ (this.lastSearchedChunk = t),
+ !0
+ );
+ }
+ toString() {
+ let t = this.intro,
+ e = this.firstChunk;
+ for (; e; ) (t += e.toString()), (e = e.next);
+ return t + this.outro;
+ }
+ isEmpty() {
+ let t = this.firstChunk;
+ do
+ if (
+ (t.intro.length && t.intro.trim()) ||
+ (t.content.length && t.content.trim()) ||
+ (t.outro.length && t.outro.trim())
+ )
+ return !1;
+ while ((t = t.next));
+ return !0;
+ }
+ length() {
+ let t = this.firstChunk,
+ e = 0;
+ do e += t.intro.length + t.content.length + t.outro.length;
+ while ((t = t.next));
+ return e;
+ }
+ trimLines() {
+ return this.trim('[\\r\\n]');
+ }
+ trim(t) {
+ return this.trimStart(t).trimEnd(t);
+ }
+ trimEndAborted(t) {
+ const e = new RegExp((t || '\\s') + '+$');
+ if (((this.outro = this.outro.replace(e, '')), this.outro.length)) return !0;
+ let n = this.lastChunk;
+ do {
+ const i = n.end,
+ r = n.trimEnd(e);
+ if (
+ (n.end !== i &&
+ (this.lastChunk === n && (this.lastChunk = n.next),
+ (this.byEnd[n.end] = n),
+ (this.byStart[n.next.start] = n.next),
+ (this.byEnd[n.next.end] = n.next)),
+ r)
+ )
+ return !0;
+ n = n.previous;
+ } while (n);
+ return !1;
+ }
+ trimEnd(t) {
+ return this.trimEndAborted(t), this;
+ }
+ trimStartAborted(t) {
+ const e = new RegExp('^' + (t || '\\s') + '+');
+ if (((this.intro = this.intro.replace(e, '')), this.intro.length)) return !0;
+ let n = this.firstChunk;
+ do {
+ const i = n.end,
+ r = n.trimStart(e);
+ if (
+ (n.end !== i &&
+ (n === this.lastChunk && (this.lastChunk = n.next),
+ (this.byEnd[n.end] = n),
+ (this.byStart[n.next.start] = n.next),
+ (this.byEnd[n.next.end] = n.next)),
+ r)
+ )
+ return !0;
+ n = n.next;
+ } while (n);
+ return !1;
+ }
+ trimStart(t) {
+ return this.trimStartAborted(t), this;
+ }
+ hasChanged() {
+ return this.original !== this.toString();
+ }
+ replace(t, e) {
+ function n(r, s) {
+ return typeof e == 'string'
+ ? e.replace(/\$(\$|&|\d+)/g, (h, o) =>
+ o === '$' ? '$' : o === '&' ? r[0] : +o < r.length ? r[+o] : `$${o}`,
+ )
+ : e(...r, r.index, s, r.groups);
+ }
+ function i(r, s) {
+ let h;
+ const o = [];
+ for (; (h = r.exec(s)); ) o.push(h);
+ return o;
+ }
+ if (typeof t != 'string' && t.global)
+ i(t, this.original).forEach((s) => {
+ s.index != null && this.overwrite(s.index, s.index + s[0].length, n(s, this.original));
+ });
+ else {
+ const r = this.original.match(t);
+ r && r.index != null && this.overwrite(r.index, r.index + r[0].length, n(r, this.original));
+ }
+ return this;
+ }
+}
+const v = Object.prototype.hasOwnProperty;
+class S {
+ constructor(t = {}) {
+ (this.intro = t.intro || ''),
+ (this.separator =
+ t.separator !== void 0
+ ? t.separator
+ : `
+`),
+ (this.sources = []),
+ (this.uniqueSources = []),
+ (this.uniqueSourceIndexByFilename = {});
+ }
+ addSource(t) {
+ if (t instanceof f)
+ return this.addSource({ content: t, filename: t.filename, separator: this.separator });
+ if (!x(t) || !t.content)
+ throw new Error(
+ 'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',
+ );
+ if (
+ (['filename', 'indentExclusionRanges', 'separator'].forEach((e) => {
+ v.call(t, e) || (t[e] = t.content[e]);
+ }),
+ t.separator === void 0 && (t.separator = this.separator),
+ t.filename)
+ )
+ if (!v.call(this.uniqueSourceIndexByFilename, t.filename))
+ (this.uniqueSourceIndexByFilename[t.filename] = this.uniqueSources.length),
+ this.uniqueSources.push({ filename: t.filename, content: t.content.original });
+ else {
+ const e = this.uniqueSources[this.uniqueSourceIndexByFilename[t.filename]];
+ if (t.content.original !== e.content)
+ throw new Error(`Illegal source: same filename (${t.filename}), different contents`);
+ }
+ return this.sources.push(t), this;
+ }
+ append(t, e) {
+ return this.addSource({ content: new f(t), separator: (e && e.separator) || '' }), this;
+ }
+ clone() {
+ const t = new S({ intro: this.intro, separator: this.separator });
+ return (
+ this.sources.forEach((e) => {
+ t.addSource({ filename: e.filename, content: e.content.clone(), separator: e.separator });
+ }),
+ t
+ );
+ }
+ generateDecodedMap(t = {}) {
+ const e = [];
+ this.sources.forEach((i) => {
+ Object.keys(i.content.storedNames).forEach((r) => {
+ ~e.indexOf(r) || e.push(r);
+ });
+ });
+ const n = new y(t.hires);
+ return (
+ this.intro && n.advance(this.intro),
+ this.sources.forEach((i, r) => {
+ r > 0 && n.advance(this.separator);
+ const s = i.filename ? this.uniqueSourceIndexByFilename[i.filename] : -1,
+ h = i.content,
+ o = C(h.original);
+ h.intro && n.advance(h.intro),
+ h.firstChunk.eachNext((a) => {
+ const u = o(a.start);
+ a.intro.length && n.advance(a.intro),
+ i.filename
+ ? a.edited
+ ? n.addEdit(s, a.content, u, a.storeName ? e.indexOf(a.original) : -1)
+ : n.addUneditedChunk(s, a, h.original, u, h.sourcemapLocations)
+ : n.advance(a.content),
+ a.outro.length && n.advance(a.outro);
+ }),
+ h.outro && n.advance(h.outro);
+ }),
+ {
+ file: t.file ? t.file.split(/[/\\]/).pop() : null,
+ sources: this.uniqueSources.map((i) => (t.file ? E(t.file, i.filename) : i.filename)),
+ sourcesContent: this.uniqueSources.map((i) => (t.includeContent ? i.content : null)),
+ names: e,
+ mappings: n.raw,
+ }
+ );
+ }
+ generateMap(t) {
+ return new b(this.generateDecodedMap(t));
+ }
+ getIndentString() {
+ const t = {};
+ return (
+ this.sources.forEach((e) => {
+ const n = e.content.indentStr;
+ n !== null && (t[n] || (t[n] = 0), (t[n] += 1));
+ }),
+ Object.keys(t).sort((e, n) => t[e] - t[n])[0] || ' '
+ );
+ }
+ indent(t) {
+ if ((arguments.length || (t = this.getIndentString()), t === '')) return this;
+ let e =
+ !this.intro ||
+ this.intro.slice(-1) ===
+ `
+`;
+ return (
+ this.sources.forEach((n, i) => {
+ const r = n.separator !== void 0 ? n.separator : this.separator,
+ s = e || (i > 0 && /\r?\n$/.test(r));
+ n.content.indent(t, { exclude: n.indentExclusionRanges, indentStart: s }),
+ (e =
+ n.content.lastChar() ===
+ `
+`);
+ }),
+ this.intro &&
+ (this.intro = t + this.intro.replace(/^[^\n]/gm, (n, i) => (i > 0 ? t + n : n))),
+ this
+ );
+ }
+ prepend(t) {
+ return (this.intro = t + this.intro), this;
+ }
+ toString() {
+ const t = this.sources
+ .map((e, n) => {
+ const i = e.separator !== void 0 ? e.separator : this.separator;
+ return (n > 0 ? i : '') + e.content.toString();
+ })
+ .join('');
+ return this.intro + t;
+ }
+ isEmpty() {
+ return !(
+ (this.intro.length && this.intro.trim()) ||
+ this.sources.some((t) => !t.content.isEmpty())
+ );
+ }
+ length() {
+ return this.sources.reduce((t, e) => t + e.content.length(), this.intro.length);
+ }
+ trimLines() {
+ return this.trim('[\\r\\n]');
+ }
+ trim(t) {
+ return this.trimStart(t).trimEnd(t);
+ }
+ trimStart(t) {
+ const e = new RegExp('^' + (t || '\\s') + '+');
+ if (((this.intro = this.intro.replace(e, '')), !this.intro)) {
+ let n,
+ i = 0;
+ do if (((n = this.sources[i++]), !n)) break;
+ while (!n.content.trimStartAborted(t));
+ }
+ return this;
+ }
+ trimEnd(t) {
+ const e = new RegExp((t || '\\s') + '+$');
+ let n,
+ i = this.sources.length - 1;
+ do
+ if (((n = this.sources[i--]), !n)) {
+ this.intro = this.intro.replace(e, '');
+ break;
+ }
+ while (!n.content.trimEndAborted(t));
+ return this;
+ }
+}
+export { S as Bundle, b as SourceMap, f as default };
diff --git a/benchmark/data.js b/benchmark/data.js
index ffc840b..c900334 100644
--- a/benchmark/data.js
+++ b/benchmark/data.js
@@ -1,1077 +1,1058 @@
/* eslint-disable */
-import { encode } from "sourcemap-codec";
+import { encode } from 'sourcemap-codec';
class BitSet {
- constructor(arg) {
- this.bits = arg instanceof BitSet ? arg.bits.slice() : [];
- }
- add(n2) {
- this.bits[n2 >> 5] |= 1 << (n2 & 31);
- }
- has(n2) {
- return !!(this.bits[n2 >> 5] & 1 << (n2 & 31));
- }
+ constructor(arg) {
+ this.bits = arg instanceof BitSet ? arg.bits.slice() : [];
+ }
+ add(n2) {
+ this.bits[n2 >> 5] |= 1 << (n2 & 31);
+ }
+ has(n2) {
+ return !!(this.bits[n2 >> 5] & (1 << (n2 & 31)));
+ }
}
class Chunk {
- constructor(start, end, content) {
- this.start = start;
- this.end = end;
- this.original = content;
- this.intro = "";
- this.outro = "";
- this.content = content;
- this.storeName = false;
- this.edited = false;
- Object.defineProperties(this, {
- previous: { writable: true, value: null },
- next: { writable: true, value: null }
- });
- }
- appendLeft(content) {
- this.outro += content;
- }
- appendRight(content) {
- this.intro = this.intro + content;
- }
- clone() {
- const chunk = new Chunk(this.start, this.end, this.original);
- chunk.intro = this.intro;
- chunk.outro = this.outro;
- chunk.content = this.content;
- chunk.storeName = this.storeName;
- chunk.edited = this.edited;
- return chunk;
- }
- contains(index) {
- return this.start < index && index < this.end;
- }
- eachNext(fn) {
- let chunk = this;
- while (chunk) {
- fn(chunk);
- chunk = chunk.next;
- }
- }
- eachPrevious(fn) {
- let chunk = this;
- while (chunk) {
- fn(chunk);
- chunk = chunk.previous;
- }
- }
- edit(content, storeName, contentOnly) {
- this.content = content;
- if (!contentOnly) {
- this.intro = "";
- this.outro = "";
- }
- this.storeName = storeName;
- this.edited = true;
- return this;
- }
- prependLeft(content) {
- this.outro = content + this.outro;
- }
- prependRight(content) {
- this.intro = content + this.intro;
- }
- split(index) {
- const sliceIndex = index - this.start;
- const originalBefore = this.original.slice(0, sliceIndex);
- const originalAfter = this.original.slice(sliceIndex);
- this.original = originalBefore;
- const newChunk = new Chunk(index, this.end, originalAfter);
- newChunk.outro = this.outro;
- this.outro = "";
- this.end = index;
- if (this.edited) {
- newChunk.edit("", false);
- this.content = "";
- } else {
- this.content = originalBefore;
- }
- newChunk.next = this.next;
- if (newChunk.next)
- newChunk.next.previous = newChunk;
- newChunk.previous = this;
- this.next = newChunk;
- return newChunk;
- }
- toString() {
- return this.intro + this.content + this.outro;
- }
- trimEnd(rx) {
- this.outro = this.outro.replace(rx, "");
- if (this.outro.length)
- return true;
- const trimmed = this.content.replace(rx, "");
- if (trimmed.length) {
- if (trimmed !== this.content) {
- this.split(this.start + trimmed.length).edit("", void 0, true);
- }
- return true;
- } else {
- this.edit("", void 0, true);
- this.intro = this.intro.replace(rx, "");
- if (this.intro.length)
- return true;
- }
- }
- trimStart(rx) {
- this.intro = this.intro.replace(rx, "");
- if (this.intro.length)
- return true;
- const trimmed = this.content.replace(rx, "");
- if (trimmed.length) {
- if (trimmed !== this.content) {
- this.split(this.end - trimmed.length);
- this.edit("", void 0, true);
- }
- return true;
- } else {
- this.edit("", void 0, true);
- this.outro = this.outro.replace(rx, "");
- if (this.outro.length)
- return true;
- }
- }
+ constructor(start, end, content) {
+ this.start = start;
+ this.end = end;
+ this.original = content;
+ this.intro = '';
+ this.outro = '';
+ this.content = content;
+ this.storeName = false;
+ this.edited = false;
+ Object.defineProperties(this, {
+ previous: { writable: true, value: null },
+ next: { writable: true, value: null },
+ });
+ }
+ appendLeft(content) {
+ this.outro += content;
+ }
+ appendRight(content) {
+ this.intro = this.intro + content;
+ }
+ clone() {
+ const chunk = new Chunk(this.start, this.end, this.original);
+ chunk.intro = this.intro;
+ chunk.outro = this.outro;
+ chunk.content = this.content;
+ chunk.storeName = this.storeName;
+ chunk.edited = this.edited;
+ return chunk;
+ }
+ contains(index) {
+ return this.start < index && index < this.end;
+ }
+ eachNext(fn) {
+ let chunk = this;
+ while (chunk) {
+ fn(chunk);
+ chunk = chunk.next;
+ }
+ }
+ eachPrevious(fn) {
+ let chunk = this;
+ while (chunk) {
+ fn(chunk);
+ chunk = chunk.previous;
+ }
+ }
+ edit(content, storeName, contentOnly) {
+ this.content = content;
+ if (!contentOnly) {
+ this.intro = '';
+ this.outro = '';
+ }
+ this.storeName = storeName;
+ this.edited = true;
+ return this;
+ }
+ prependLeft(content) {
+ this.outro = content + this.outro;
+ }
+ prependRight(content) {
+ this.intro = content + this.intro;
+ }
+ split(index) {
+ const sliceIndex = index - this.start;
+ const originalBefore = this.original.slice(0, sliceIndex);
+ const originalAfter = this.original.slice(sliceIndex);
+ this.original = originalBefore;
+ const newChunk = new Chunk(index, this.end, originalAfter);
+ newChunk.outro = this.outro;
+ this.outro = '';
+ this.end = index;
+ if (this.edited) {
+ newChunk.edit('', false);
+ this.content = '';
+ } else {
+ this.content = originalBefore;
+ }
+ newChunk.next = this.next;
+ if (newChunk.next) newChunk.next.previous = newChunk;
+ newChunk.previous = this;
+ this.next = newChunk;
+ return newChunk;
+ }
+ toString() {
+ return this.intro + this.content + this.outro;
+ }
+ trimEnd(rx) {
+ this.outro = this.outro.replace(rx, '');
+ if (this.outro.length) return true;
+ const trimmed = this.content.replace(rx, '');
+ if (trimmed.length) {
+ if (trimmed !== this.content) {
+ this.split(this.start + trimmed.length).edit('', void 0, true);
+ }
+ return true;
+ } else {
+ this.edit('', void 0, true);
+ this.intro = this.intro.replace(rx, '');
+ if (this.intro.length) return true;
+ }
+ }
+ trimStart(rx) {
+ this.intro = this.intro.replace(rx, '');
+ if (this.intro.length) return true;
+ const trimmed = this.content.replace(rx, '');
+ if (trimmed.length) {
+ if (trimmed !== this.content) {
+ this.split(this.end - trimmed.length);
+ this.edit('', void 0, true);
+ }
+ return true;
+ } else {
+ this.edit('', void 0, true);
+ this.outro = this.outro.replace(rx, '');
+ if (this.outro.length) return true;
+ }
+ }
}
let _btoa = () => {
- throw new Error("Unsupported environment: `btoa` or `Buffer` should be supported.");
+ throw new Error('Unsupported environment: `btoa` or `Buffer` should be supported.');
};
-if (typeof Buffer === "function") {
- _btoa = (str) => Buffer.from(str, "utf-8").toString("base64");
-} else if (typeof btoa === "function") {
- _btoa = btoa;
+if (typeof Buffer === 'function') {
+ _btoa = (str) => Buffer.from(str, 'utf-8').toString('base64');
+} else if (typeof btoa === 'function') {
+ _btoa = btoa;
}
class SourceMap {
- constructor(properties) {
- this.version = 3;
- this.file = properties.file;
- this.sources = properties.sources;
- this.sourcesContent = properties.sourcesContent;
- this.names = properties.names;
- this.mappings = encode(properties.mappings);
- }
- toString() {
- return JSON.stringify(this);
- }
- toUrl() {
- return "data:application/json;charset=utf-8;base64," + _btoa(this.toString());
- }
+ constructor(properties) {
+ this.version = 3;
+ this.file = properties.file;
+ this.sources = properties.sources;
+ this.sourcesContent = properties.sourcesContent;
+ this.names = properties.names;
+ this.mappings = encode(properties.mappings);
+ }
+ toString() {
+ return JSON.stringify(this);
+ }
+ toUrl() {
+ return 'data:application/json;charset=utf-8;base64,' + _btoa(this.toString());
+ }
}
function guessIndent(code) {
- const lines = code.split("\n");
- const tabbed = lines.filter((line) => /^\t+/.test(line));
- const spaced = lines.filter((line) => /^ {2,}/.test(line));
- if (tabbed.length === 0 && spaced.length === 0) {
- return null;
- }
- if (tabbed.length >= spaced.length) {
- return " ";
- }
- const min = spaced.reduce((previous, current) => {
- const numSpaces = /^ +/.exec(current)[0].length;
- return Math.min(numSpaces, previous);
- }, Infinity);
- return new Array(min + 1).join(" ");
+ const lines = code.split('\n');
+ const tabbed = lines.filter((line) => /^\t+/.test(line));
+ const spaced = lines.filter((line) => /^ {2,}/.test(line));
+ if (tabbed.length === 0 && spaced.length === 0) {
+ return null;
+ }
+ if (tabbed.length >= spaced.length) {
+ return ' ';
+ }
+ const min = spaced.reduce((previous, current) => {
+ const numSpaces = /^ +/.exec(current)[0].length;
+ return Math.min(numSpaces, previous);
+ }, Infinity);
+ return new Array(min + 1).join(' ');
}
function getRelativePath(from, to) {
- const fromParts = from.split(/[/\\]/);
- const toParts = to.split(/[/\\]/);
- fromParts.pop();
- while (fromParts[0] === toParts[0]) {
- fromParts.shift();
- toParts.shift();
- }
- if (fromParts.length) {
- let i = fromParts.length;
- while (i--)
- fromParts[i] = "..";
- }
- return fromParts.concat(toParts).join("/");
+ const fromParts = from.split(/[/\\]/);
+ const toParts = to.split(/[/\\]/);
+ fromParts.pop();
+ while (fromParts[0] === toParts[0]) {
+ fromParts.shift();
+ toParts.shift();
+ }
+ if (fromParts.length) {
+ let i = fromParts.length;
+ while (i--) fromParts[i] = '..';
+ }
+ return fromParts.concat(toParts).join('/');
}
const toString = Object.prototype.toString;
function isObject(thing) {
- return toString.call(thing) === "[object Object]";
+ return toString.call(thing) === '[object Object]';
}
function getLocator(source) {
- const originalLines = source.split("\n");
- const lineOffsets = [];
- for (let i = 0, pos = 0; i < originalLines.length; i++) {
- lineOffsets.push(pos);
- pos += originalLines[i].length + 1;
- }
- return function locate(index) {
- let i = 0;
- let j = lineOffsets.length;
- while (i < j) {
- const m = i + j >> 1;
- if (index < lineOffsets[m]) {
- j = m;
- } else {
- i = m + 1;
- }
- }
- const line = i - 1;
- const column = index - lineOffsets[line];
- return { line, column };
- };
+ const originalLines = source.split('\n');
+ const lineOffsets = [];
+ for (let i = 0, pos = 0; i < originalLines.length; i++) {
+ lineOffsets.push(pos);
+ pos += originalLines[i].length + 1;
+ }
+ return function locate(index) {
+ let i = 0;
+ let j = lineOffsets.length;
+ while (i < j) {
+ const m = (i + j) >> 1;
+ if (index < lineOffsets[m]) {
+ j = m;
+ } else {
+ i = m + 1;
+ }
+ }
+ const line = i - 1;
+ const column = index - lineOffsets[line];
+ return { line, column };
+ };
}
class Mappings {
- constructor(hires) {
- this.hires = hires;
- this.generatedCodeLine = 0;
- this.generatedCodeColumn = 0;
- this.raw = [];
- this.rawSegments = this.raw[this.generatedCodeLine] = [];
- this.pending = null;
- }
- addEdit(sourceIndex, content, loc, nameIndex) {
- if (content.length) {
- const segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];
- if (nameIndex >= 0) {
- segment.push(nameIndex);
- }
- this.rawSegments.push(segment);
- } else if (this.pending) {
- this.rawSegments.push(this.pending);
- }
- this.advance(content);
- this.pending = null;
- }
- addUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {
- let originalCharIndex = chunk.start;
- let first = true;
- while (originalCharIndex < chunk.end) {
- if (this.hires || first || sourcemapLocations.has(originalCharIndex)) {
- this.rawSegments.push([this.generatedCodeColumn, sourceIndex, loc.line, loc.column]);
- }
- if (original[originalCharIndex] === "\n") {
- loc.line += 1;
- loc.column = 0;
- this.generatedCodeLine += 1;
- this.raw[this.generatedCodeLine] = this.rawSegments = [];
- this.generatedCodeColumn = 0;
- first = true;
- } else {
- loc.column += 1;
- this.generatedCodeColumn += 1;
- first = false;
- }
- originalCharIndex += 1;
- }
- this.pending = null;
- }
- advance(str) {
- if (!str)
- return;
- const lines = str.split("\n");
- if (lines.length > 1) {
- for (let i = 0; i < lines.length - 1; i++) {
- this.generatedCodeLine++;
- this.raw[this.generatedCodeLine] = this.rawSegments = [];
- }
- this.generatedCodeColumn = 0;
- }
- this.generatedCodeColumn += lines[lines.length - 1].length;
- }
+ constructor(hires) {
+ this.hires = hires;
+ this.generatedCodeLine = 0;
+ this.generatedCodeColumn = 0;
+ this.raw = [];
+ this.rawSegments = this.raw[this.generatedCodeLine] = [];
+ this.pending = null;
+ }
+ addEdit(sourceIndex, content, loc, nameIndex) {
+ if (content.length) {
+ const segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];
+ if (nameIndex >= 0) {
+ segment.push(nameIndex);
+ }
+ this.rawSegments.push(segment);
+ } else if (this.pending) {
+ this.rawSegments.push(this.pending);
+ }
+ this.advance(content);
+ this.pending = null;
+ }
+ addUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {
+ let originalCharIndex = chunk.start;
+ let first = true;
+ while (originalCharIndex < chunk.end) {
+ if (this.hires || first || sourcemapLocations.has(originalCharIndex)) {
+ this.rawSegments.push([this.generatedCodeColumn, sourceIndex, loc.line, loc.column]);
+ }
+ if (original[originalCharIndex] === '\n') {
+ loc.line += 1;
+ loc.column = 0;
+ this.generatedCodeLine += 1;
+ this.raw[this.generatedCodeLine] = this.rawSegments = [];
+ this.generatedCodeColumn = 0;
+ first = true;
+ } else {
+ loc.column += 1;
+ this.generatedCodeColumn += 1;
+ first = false;
+ }
+ originalCharIndex += 1;
+ }
+ this.pending = null;
+ }
+ advance(str) {
+ if (!str) return;
+ const lines = str.split('\n');
+ if (lines.length > 1) {
+ for (let i = 0; i < lines.length - 1; i++) {
+ this.generatedCodeLine++;
+ this.raw[this.generatedCodeLine] = this.rawSegments = [];
+ }
+ this.generatedCodeColumn = 0;
+ }
+ this.generatedCodeColumn += lines[lines.length - 1].length;
+ }
}
-const n = "\n";
+const n = '\n';
const warned = {
- insertLeft: false,
- insertRight: false,
- storeName: false
+ insertLeft: false,
+ insertRight: false,
+ storeName: false,
};
class MagicString {
- constructor(string, options = {}) {
- const chunk = new Chunk(0, string.length, string);
- Object.defineProperties(this, {
- original: { writable: true, value: string },
- outro: { writable: true, value: "" },
- intro: { writable: true, value: "" },
- firstChunk: { writable: true, value: chunk },
- lastChunk: { writable: true, value: chunk },
- lastSearchedChunk: { writable: true, value: chunk },
- byStart: { writable: true, value: {} },
- byEnd: { writable: true, value: {} },
- filename: { writable: true, value: options.filename },
- indentExclusionRanges: { writable: true, value: options.indentExclusionRanges },
- sourcemapLocations: { writable: true, value: new BitSet() },
- storedNames: { writable: true, value: {} },
- indentStr: { writable: true, value: guessIndent(string) }
- });
- this.byStart[0] = chunk;
- this.byEnd[string.length] = chunk;
- }
- addSourcemapLocation(char) {
- this.sourcemapLocations.add(char);
- }
- append(content) {
- if (typeof content !== "string")
- throw new TypeError("outro content must be a string");
- this.outro += content;
- return this;
- }
- appendLeft(index, content) {
- if (typeof content !== "string")
- throw new TypeError("inserted content must be a string");
- this._split(index);
- const chunk = this.byEnd[index];
- if (chunk) {
- chunk.appendLeft(content);
- } else {
- this.intro += content;
- }
- return this;
- }
- appendRight(index, content) {
- if (typeof content !== "string")
- throw new TypeError("inserted content must be a string");
- this._split(index);
- const chunk = this.byStart[index];
- if (chunk) {
- chunk.appendRight(content);
- } else {
- this.outro += content;
- }
- return this;
- }
- clone() {
- const cloned = new MagicString(this.original, { filename: this.filename });
- let originalChunk = this.firstChunk;
- let clonedChunk = cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone();
- while (originalChunk) {
- cloned.byStart[clonedChunk.start] = clonedChunk;
- cloned.byEnd[clonedChunk.end] = clonedChunk;
- const nextOriginalChunk = originalChunk.next;
- const nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();
- if (nextClonedChunk) {
- clonedChunk.next = nextClonedChunk;
- nextClonedChunk.previous = clonedChunk;
- clonedChunk = nextClonedChunk;
- }
- originalChunk = nextOriginalChunk;
- }
- cloned.lastChunk = clonedChunk;
- if (this.indentExclusionRanges) {
- cloned.indentExclusionRanges = this.indentExclusionRanges.slice();
- }
- cloned.sourcemapLocations = new BitSet(this.sourcemapLocations);
- cloned.intro = this.intro;
- cloned.outro = this.outro;
- return cloned;
- }
- generateDecodedMap(options) {
- options = options || {};
- const sourceIndex = 0;
- const names = Object.keys(this.storedNames);
- const mappings = new Mappings(options.hires);
- const locate = getLocator(this.original);
- if (this.intro) {
- mappings.advance(this.intro);
- }
- this.firstChunk.eachNext((chunk) => {
- const loc = locate(chunk.start);
- if (chunk.intro.length)
- mappings.advance(chunk.intro);
- if (chunk.edited) {
- mappings.addEdit(sourceIndex, chunk.content, loc, chunk.storeName ? names.indexOf(chunk.original) : -1);
- } else {
- mappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);
- }
- if (chunk.outro.length)
- mappings.advance(chunk.outro);
- });
- return {
- file: options.file ? options.file.split(/[/\\]/).pop() : null,
- sources: [options.source ? getRelativePath(options.file || "", options.source) : null],
- sourcesContent: options.includeContent ? [this.original] : [null],
- names,
- mappings: mappings.raw
- };
- }
- generateMap(options) {
- return new SourceMap(this.generateDecodedMap(options));
- }
- getIndentString() {
- return this.indentStr === null ? " " : this.indentStr;
- }
- indent(indentStr, options) {
- const pattern = /^[^\r\n]/gm;
- if (isObject(indentStr)) {
- options = indentStr;
- indentStr = void 0;
- }
- indentStr = indentStr !== void 0 ? indentStr : this.indentStr || " ";
- if (indentStr === "")
- return this;
- options = options || {};
- const isExcluded = {};
- if (options.exclude) {
- const exclusions = typeof options.exclude[0] === "number" ? [options.exclude] : options.exclude;
- exclusions.forEach((exclusion) => {
- for (let i = exclusion[0]; i < exclusion[1]; i += 1) {
- isExcluded[i] = true;
- }
- });
- }
- let shouldIndentNextCharacter = options.indentStart !== false;
- const replacer = (match) => {
- if (shouldIndentNextCharacter)
- return `${indentStr}${match}`;
- shouldIndentNextCharacter = true;
- return match;
- };
- this.intro = this.intro.replace(pattern, replacer);
- let charIndex = 0;
- let chunk = this.firstChunk;
- while (chunk) {
- const end = chunk.end;
- if (chunk.edited) {
- if (!isExcluded[charIndex]) {
- chunk.content = chunk.content.replace(pattern, replacer);
- if (chunk.content.length) {
- shouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === "\n";
- }
- }
- } else {
- charIndex = chunk.start;
- while (charIndex < end) {
- if (!isExcluded[charIndex]) {
- const char = this.original[charIndex];
- if (char === "\n") {
- shouldIndentNextCharacter = true;
- } else if (char !== "\r" && shouldIndentNextCharacter) {
- shouldIndentNextCharacter = false;
- if (charIndex === chunk.start) {
- chunk.prependRight(indentStr);
- } else {
- this._splitChunk(chunk, charIndex);
- chunk = chunk.next;
- chunk.prependRight(indentStr);
- }
- }
- }
- charIndex += 1;
- }
- }
- charIndex = chunk.end;
- chunk = chunk.next;
- }
- this.outro = this.outro.replace(pattern, replacer);
- return this;
- }
- insert() {
- throw new Error("magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)");
- }
- insertLeft(index, content) {
- if (!warned.insertLeft) {
- console.warn("magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead");
- warned.insertLeft = true;
- }
- return this.appendLeft(index, content);
- }
- insertRight(index, content) {
- if (!warned.insertRight) {
- console.warn("magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead");
- warned.insertRight = true;
- }
- return this.prependRight(index, content);
- }
- move(start, end, index) {
- if (index >= start && index <= end)
- throw new Error("Cannot move a selection inside itself");
- this._split(start);
- this._split(end);
- this._split(index);
- const first = this.byStart[start];
- const last = this.byEnd[end];
- const oldLeft = first.previous;
- const oldRight = last.next;
- const newRight = this.byStart[index];
- if (!newRight && last === this.lastChunk)
- return this;
- const newLeft = newRight ? newRight.previous : this.lastChunk;
- if (oldLeft)
- oldLeft.next = oldRight;
- if (oldRight)
- oldRight.previous = oldLeft;
- if (newLeft)
- newLeft.next = first;
- if (newRight)
- newRight.previous = last;
- if (!first.previous)
- this.firstChunk = last.next;
- if (!last.next) {
- this.lastChunk = first.previous;
- this.lastChunk.next = null;
- }
- first.previous = newLeft;
- last.next = newRight || null;
- if (!newLeft)
- this.firstChunk = first;
- if (!newRight)
- this.lastChunk = last;
- return this;
- }
- overwrite(start, end, content, options) {
- if (typeof content !== "string")
- throw new TypeError("replacement content must be a string");
- while (start < 0)
- start += this.original.length;
- while (end < 0)
- end += this.original.length;
- if (end > this.original.length)
- throw new Error("end is out of bounds");
- if (start === end)
- throw new Error("Cannot overwrite a zero-length range \u2013 use appendLeft or prependRight instead");
- this._split(start);
- this._split(end);
- if (options === true) {
- if (!warned.storeName) {
- console.warn("The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string");
- warned.storeName = true;
- }
- options = { storeName: true };
- }
- const storeName = options !== void 0 ? options.storeName : false;
- const contentOnly = options !== void 0 ? options.contentOnly : false;
- if (storeName) {
- const original = this.original.slice(start, end);
- Object.defineProperty(this.storedNames, original, {
- writable: true,
- value: true,
- enumerable: true
- });
- }
- const first = this.byStart[start];
- const last = this.byEnd[end];
- if (first) {
- let chunk = first;
- while (chunk !== last) {
- if (chunk.next !== this.byStart[chunk.end]) {
- throw new Error("Cannot overwrite across a split point");
- }
- chunk = chunk.next;
- chunk.edit("", false);
- }
- first.edit(content, storeName, contentOnly);
- } else {
- const newChunk = new Chunk(start, end, "").edit(content, storeName);
- last.next = newChunk;
- newChunk.previous = last;
- }
- return this;
- }
- prepend(content) {
- if (typeof content !== "string")
- throw new TypeError("outro content must be a string");
- this.intro = content + this.intro;
- return this;
- }
- prependLeft(index, content) {
- if (typeof content !== "string")
- throw new TypeError("inserted content must be a string");
- this._split(index);
- const chunk = this.byEnd[index];
- if (chunk) {
- chunk.prependLeft(content);
- } else {
- this.intro = content + this.intro;
- }
- return this;
- }
- prependRight(index, content) {
- if (typeof content !== "string")
- throw new TypeError("inserted content must be a string");
- this._split(index);
- const chunk = this.byStart[index];
- if (chunk) {
- chunk.prependRight(content);
- } else {
- this.outro = content + this.outro;
- }
- return this;
- }
- remove(start, end) {
- while (start < 0)
- start += this.original.length;
- while (end < 0)
- end += this.original.length;
- if (start === end)
- return this;
- if (start < 0 || end > this.original.length)
- throw new Error("Character is out of bounds");
- if (start > end)
- throw new Error("end must be greater than start");
- this._split(start);
- this._split(end);
- let chunk = this.byStart[start];
- while (chunk) {
- chunk.intro = "";
- chunk.outro = "";
- chunk.edit("");
- chunk = end > chunk.end ? this.byStart[chunk.end] : null;
- }
- return this;
- }
- lastChar() {
- if (this.outro.length)
- return this.outro[this.outro.length - 1];
- let chunk = this.lastChunk;
- do {
- if (chunk.outro.length)
- return chunk.outro[chunk.outro.length - 1];
- if (chunk.content.length)
- return chunk.content[chunk.content.length - 1];
- if (chunk.intro.length)
- return chunk.intro[chunk.intro.length - 1];
- } while (chunk = chunk.previous);
- if (this.intro.length)
- return this.intro[this.intro.length - 1];
- return "";
- }
- lastLine() {
- let lineIndex = this.outro.lastIndexOf(n);
- if (lineIndex !== -1)
- return this.outro.substr(lineIndex + 1);
- let lineStr = this.outro;
- let chunk = this.lastChunk;
- do {
- if (chunk.outro.length > 0) {
- lineIndex = chunk.outro.lastIndexOf(n);
- if (lineIndex !== -1)
- return chunk.outro.substr(lineIndex + 1) + lineStr;
- lineStr = chunk.outro + lineStr;
- }
- if (chunk.content.length > 0) {
- lineIndex = chunk.content.lastIndexOf(n);
- if (lineIndex !== -1)
- return chunk.content.substr(lineIndex + 1) + lineStr;
- lineStr = chunk.content + lineStr;
- }
- if (chunk.intro.length > 0) {
- lineIndex = chunk.intro.lastIndexOf(n);
- if (lineIndex !== -1)
- return chunk.intro.substr(lineIndex + 1) + lineStr;
- lineStr = chunk.intro + lineStr;
- }
- } while (chunk = chunk.previous);
- lineIndex = this.intro.lastIndexOf(n);
- if (lineIndex !== -1)
- return this.intro.substr(lineIndex + 1) + lineStr;
- return this.intro + lineStr;
- }
- slice(start = 0, end = this.original.length) {
- if (this.original.length !== 0) {
- while (start < 0)
- start += this.original.length;
- while (end < 0)
- end += this.original.length;
- }
- let result = "";
- let chunk = this.firstChunk;
- while (chunk && (chunk.start > start || chunk.end <= start)) {
- if (chunk.start < end && chunk.end >= end) {
- return result;
- }
- chunk = chunk.next;
- }
- if (chunk && chunk.edited && chunk.start !== start)
- throw new Error(`Cannot use replaced character ${start} as slice start anchor.`);
- const startChunk = chunk;
- while (chunk) {
- if (chunk.intro && (startChunk !== chunk || chunk.start === start)) {
- result += chunk.intro;
- }
- const containsEnd = chunk.start < end && chunk.end >= end;
- if (containsEnd && chunk.edited && chunk.end !== end)
- throw new Error(`Cannot use replaced character ${end} as slice end anchor.`);
- const sliceStart = startChunk === chunk ? start - chunk.start : 0;
- const sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;
- result += chunk.content.slice(sliceStart, sliceEnd);
- if (chunk.outro && (!containsEnd || chunk.end === end)) {
- result += chunk.outro;
- }
- if (containsEnd) {
- break;
- }
- chunk = chunk.next;
- }
- return result;
- }
- snip(start, end) {
- const clone = this.clone();
- clone.remove(0, start);
- clone.remove(end, clone.original.length);
- return clone;
- }
- _split(index) {
- if (this.byStart[index] || this.byEnd[index])
- return;
- let chunk = this.lastSearchedChunk;
- const searchForward = index > chunk.end;
- while (chunk) {
- if (chunk.contains(index))
- return this._splitChunk(chunk, index);
- chunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];
- }
- }
- _splitChunk(chunk, index) {
- if (chunk.edited && chunk.content.length) {
- const loc = getLocator(this.original)(index);
- throw new Error(`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} \u2013 "${chunk.original}")`);
- }
- const newChunk = chunk.split(index);
- this.byEnd[index] = chunk;
- this.byStart[index] = newChunk;
- this.byEnd[newChunk.end] = newChunk;
- if (chunk === this.lastChunk)
- this.lastChunk = newChunk;
- this.lastSearchedChunk = chunk;
- return true;
- }
- toString() {
- let str = this.intro;
- let chunk = this.firstChunk;
- while (chunk) {
- str += chunk.toString();
- chunk = chunk.next;
- }
- return str + this.outro;
- }
- isEmpty() {
- let chunk = this.firstChunk;
- do {
- if (chunk.intro.length && chunk.intro.trim() || chunk.content.length && chunk.content.trim() || chunk.outro.length && chunk.outro.trim())
- return false;
- } while (chunk = chunk.next);
- return true;
- }
- length() {
- let chunk = this.firstChunk;
- let length = 0;
- do {
- length += chunk.intro.length + chunk.content.length + chunk.outro.length;
- } while (chunk = chunk.next);
- return length;
- }
- trimLines() {
- return this.trim("[\\r\\n]");
- }
- trim(charType) {
- return this.trimStart(charType).trimEnd(charType);
- }
- trimEndAborted(charType) {
- const rx = new RegExp((charType || "\\s") + "+$");
- this.outro = this.outro.replace(rx, "");
- if (this.outro.length)
- return true;
- let chunk = this.lastChunk;
- do {
- const end = chunk.end;
- const aborted = chunk.trimEnd(rx);
- if (chunk.end !== end) {
- if (this.lastChunk === chunk) {
- this.lastChunk = chunk.next;
- }
- this.byEnd[chunk.end] = chunk;
- this.byStart[chunk.next.start] = chunk.next;
- this.byEnd[chunk.next.end] = chunk.next;
- }
- if (aborted)
- return true;
- chunk = chunk.previous;
- } while (chunk);
- return false;
- }
- trimEnd(charType) {
- this.trimEndAborted(charType);
- return this;
- }
- trimStartAborted(charType) {
- const rx = new RegExp("^" + (charType || "\\s") + "+");
- this.intro = this.intro.replace(rx, "");
- if (this.intro.length)
- return true;
- let chunk = this.firstChunk;
- do {
- const end = chunk.end;
- const aborted = chunk.trimStart(rx);
- if (chunk.end !== end) {
- if (chunk === this.lastChunk)
- this.lastChunk = chunk.next;
- this.byEnd[chunk.end] = chunk;
- this.byStart[chunk.next.start] = chunk.next;
- this.byEnd[chunk.next.end] = chunk.next;
- }
- if (aborted)
- return true;
- chunk = chunk.next;
- } while (chunk);
- return false;
- }
- trimStart(charType) {
- this.trimStartAborted(charType);
- return this;
- }
- hasChanged() {
- return this.original !== this.toString();
- }
- replace(searchValue, replacement) {
- function getReplacement(match, str) {
- if (typeof replacement === "string") {
- return replacement.replace(/\$(\$|&|\d+)/g, (_, i) => {
- if (i === "$")
- return "$";
- if (i === "&")
- return match[0];
- const num = +i;
- if (num < match.length)
- return match[+i];
- return `$${i}`;
- });
- } else {
- return replacement(...match, match.index, str, match.groups);
- }
- }
- function matchAll(re, str) {
- let match;
- const matches = [];
- while (match = re.exec(str)) {
- matches.push(match);
- }
- return matches;
- }
- if (typeof searchValue !== "string" && searchValue.global) {
- const matches = matchAll(searchValue, this.original);
- matches.forEach((match) => {
- if (match.index != null)
- this.overwrite(match.index, match.index + match[0].length, getReplacement(match, this.original));
- });
- } else {
- const match = this.original.match(searchValue);
- if (match && match.index != null)
- this.overwrite(match.index, match.index + match[0].length, getReplacement(match, this.original));
- }
- return this;
- }
+ constructor(string, options = {}) {
+ const chunk = new Chunk(0, string.length, string);
+ Object.defineProperties(this, {
+ original: { writable: true, value: string },
+ outro: { writable: true, value: '' },
+ intro: { writable: true, value: '' },
+ firstChunk: { writable: true, value: chunk },
+ lastChunk: { writable: true, value: chunk },
+ lastSearchedChunk: { writable: true, value: chunk },
+ byStart: { writable: true, value: {} },
+ byEnd: { writable: true, value: {} },
+ filename: { writable: true, value: options.filename },
+ indentExclusionRanges: { writable: true, value: options.indentExclusionRanges },
+ sourcemapLocations: { writable: true, value: new BitSet() },
+ storedNames: { writable: true, value: {} },
+ indentStr: { writable: true, value: guessIndent(string) },
+ });
+ this.byStart[0] = chunk;
+ this.byEnd[string.length] = chunk;
+ }
+ addSourcemapLocation(char) {
+ this.sourcemapLocations.add(char);
+ }
+ append(content) {
+ if (typeof content !== 'string') throw new TypeError('outro content must be a string');
+ this.outro += content;
+ return this;
+ }
+ appendLeft(index, content) {
+ if (typeof content !== 'string') throw new TypeError('inserted content must be a string');
+ this._split(index);
+ const chunk = this.byEnd[index];
+ if (chunk) {
+ chunk.appendLeft(content);
+ } else {
+ this.intro += content;
+ }
+ return this;
+ }
+ appendRight(index, content) {
+ if (typeof content !== 'string') throw new TypeError('inserted content must be a string');
+ this._split(index);
+ const chunk = this.byStart[index];
+ if (chunk) {
+ chunk.appendRight(content);
+ } else {
+ this.outro += content;
+ }
+ return this;
+ }
+ clone() {
+ const cloned = new MagicString(this.original, { filename: this.filename });
+ let originalChunk = this.firstChunk;
+ let clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());
+ while (originalChunk) {
+ cloned.byStart[clonedChunk.start] = clonedChunk;
+ cloned.byEnd[clonedChunk.end] = clonedChunk;
+ const nextOriginalChunk = originalChunk.next;
+ const nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();
+ if (nextClonedChunk) {
+ clonedChunk.next = nextClonedChunk;
+ nextClonedChunk.previous = clonedChunk;
+ clonedChunk = nextClonedChunk;
+ }
+ originalChunk = nextOriginalChunk;
+ }
+ cloned.lastChunk = clonedChunk;
+ if (this.indentExclusionRanges) {
+ cloned.indentExclusionRanges = this.indentExclusionRanges.slice();
+ }
+ cloned.sourcemapLocations = new BitSet(this.sourcemapLocations);
+ cloned.intro = this.intro;
+ cloned.outro = this.outro;
+ return cloned;
+ }
+ generateDecodedMap(options) {
+ options = options || {};
+ const sourceIndex = 0;
+ const names = Object.keys(this.storedNames);
+ const mappings = new Mappings(options.hires);
+ const locate = getLocator(this.original);
+ if (this.intro) {
+ mappings.advance(this.intro);
+ }
+ this.firstChunk.eachNext((chunk) => {
+ const loc = locate(chunk.start);
+ if (chunk.intro.length) mappings.advance(chunk.intro);
+ if (chunk.edited) {
+ mappings.addEdit(
+ sourceIndex,
+ chunk.content,
+ loc,
+ chunk.storeName ? names.indexOf(chunk.original) : -1,
+ );
+ } else {
+ mappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);
+ }
+ if (chunk.outro.length) mappings.advance(chunk.outro);
+ });
+ return {
+ file: options.file ? options.file.split(/[/\\]/).pop() : null,
+ sources: [options.source ? getRelativePath(options.file || '', options.source) : null],
+ sourcesContent: options.includeContent ? [this.original] : [null],
+ names,
+ mappings: mappings.raw,
+ };
+ }
+ generateMap(options) {
+ return new SourceMap(this.generateDecodedMap(options));
+ }
+ getIndentString() {
+ return this.indentStr === null ? ' ' : this.indentStr;
+ }
+ indent(indentStr, options) {
+ const pattern = /^[^\r\n]/gm;
+ if (isObject(indentStr)) {
+ options = indentStr;
+ indentStr = void 0;
+ }
+ indentStr = indentStr !== void 0 ? indentStr : this.indentStr || ' ';
+ if (indentStr === '') return this;
+ options = options || {};
+ const isExcluded = {};
+ if (options.exclude) {
+ const exclusions =
+ typeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;
+ exclusions.forEach((exclusion) => {
+ for (let i = exclusion[0]; i < exclusion[1]; i += 1) {
+ isExcluded[i] = true;
+ }
+ });
+ }
+ let shouldIndentNextCharacter = options.indentStart !== false;
+ const replacer = (match) => {
+ if (shouldIndentNextCharacter) return `${indentStr}${match}`;
+ shouldIndentNextCharacter = true;
+ return match;
+ };
+ this.intro = this.intro.replace(pattern, replacer);
+ let charIndex = 0;
+ let chunk = this.firstChunk;
+ while (chunk) {
+ const end = chunk.end;
+ if (chunk.edited) {
+ if (!isExcluded[charIndex]) {
+ chunk.content = chunk.content.replace(pattern, replacer);
+ if (chunk.content.length) {
+ shouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\n';
+ }
+ }
+ } else {
+ charIndex = chunk.start;
+ while (charIndex < end) {
+ if (!isExcluded[charIndex]) {
+ const char = this.original[charIndex];
+ if (char === '\n') {
+ shouldIndentNextCharacter = true;
+ } else if (char !== '\r' && shouldIndentNextCharacter) {
+ shouldIndentNextCharacter = false;
+ if (charIndex === chunk.start) {
+ chunk.prependRight(indentStr);
+ } else {
+ this._splitChunk(chunk, charIndex);
+ chunk = chunk.next;
+ chunk.prependRight(indentStr);
+ }
+ }
+ }
+ charIndex += 1;
+ }
+ }
+ charIndex = chunk.end;
+ chunk = chunk.next;
+ }
+ this.outro = this.outro.replace(pattern, replacer);
+ return this;
+ }
+ insert() {
+ throw new Error(
+ 'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',
+ );
+ }
+ insertLeft(index, content) {
+ if (!warned.insertLeft) {
+ console.warn(
+ 'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',
+ );
+ warned.insertLeft = true;
+ }
+ return this.appendLeft(index, content);
+ }
+ insertRight(index, content) {
+ if (!warned.insertRight) {
+ console.warn(
+ 'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',
+ );
+ warned.insertRight = true;
+ }
+ return this.prependRight(index, content);
+ }
+ move(start, end, index) {
+ if (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');
+ this._split(start);
+ this._split(end);
+ this._split(index);
+ const first = this.byStart[start];
+ const last = this.byEnd[end];
+ const oldLeft = first.previous;
+ const oldRight = last.next;
+ const newRight = this.byStart[index];
+ if (!newRight && last === this.lastChunk) return this;
+ const newLeft = newRight ? newRight.previous : this.lastChunk;
+ if (oldLeft) oldLeft.next = oldRight;
+ if (oldRight) oldRight.previous = oldLeft;
+ if (newLeft) newLeft.next = first;
+ if (newRight) newRight.previous = last;
+ if (!first.previous) this.firstChunk = last.next;
+ if (!last.next) {
+ this.lastChunk = first.previous;
+ this.lastChunk.next = null;
+ }
+ first.previous = newLeft;
+ last.next = newRight || null;
+ if (!newLeft) this.firstChunk = first;
+ if (!newRight) this.lastChunk = last;
+ return this;
+ }
+ overwrite(start, end, content, options) {
+ if (typeof content !== 'string') throw new TypeError('replacement content must be a string');
+ while (start < 0) start += this.original.length;
+ while (end < 0) end += this.original.length;
+ if (end > this.original.length) throw new Error('end is out of bounds');
+ if (start === end)
+ throw new Error(
+ 'Cannot overwrite a zero-length range \u2013 use appendLeft or prependRight instead',
+ );
+ this._split(start);
+ this._split(end);
+ if (options === true) {
+ if (!warned.storeName) {
+ console.warn(
+ 'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',
+ );
+ warned.storeName = true;
+ }
+ options = { storeName: true };
+ }
+ const storeName = options !== void 0 ? options.storeName : false;
+ const contentOnly = options !== void 0 ? options.contentOnly : false;
+ if (storeName) {
+ const original = this.original.slice(start, end);
+ Object.defineProperty(this.storedNames, original, {
+ writable: true,
+ value: true,
+ enumerable: true,
+ });
+ }
+ const first = this.byStart[start];
+ const last = this.byEnd[end];
+ if (first) {
+ let chunk = first;
+ while (chunk !== last) {
+ if (chunk.next !== this.byStart[chunk.end]) {
+ throw new Error('Cannot overwrite across a split point');
+ }
+ chunk = chunk.next;
+ chunk.edit('', false);
+ }
+ first.edit(content, storeName, contentOnly);
+ } else {
+ const newChunk = new Chunk(start, end, '').edit(content, storeName);
+ last.next = newChunk;
+ newChunk.previous = last;
+ }
+ return this;
+ }
+ prepend(content) {
+ if (typeof content !== 'string') throw new TypeError('outro content must be a string');
+ this.intro = content + this.intro;
+ return this;
+ }
+ prependLeft(index, content) {
+ if (typeof content !== 'string') throw new TypeError('inserted content must be a string');
+ this._split(index);
+ const chunk = this.byEnd[index];
+ if (chunk) {
+ chunk.prependLeft(content);
+ } else {
+ this.intro = content + this.intro;
+ }
+ return this;
+ }
+ prependRight(index, content) {
+ if (typeof content !== 'string') throw new TypeError('inserted content must be a string');
+ this._split(index);
+ const chunk = this.byStart[index];
+ if (chunk) {
+ chunk.prependRight(content);
+ } else {
+ this.outro = content + this.outro;
+ }
+ return this;
+ }
+ remove(start, end) {
+ while (start < 0) start += this.original.length;
+ while (end < 0) end += this.original.length;
+ if (start === end) return this;
+ if (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');
+ if (start > end) throw new Error('end must be greater than start');
+ this._split(start);
+ this._split(end);
+ let chunk = this.byStart[start];
+ while (chunk) {
+ chunk.intro = '';
+ chunk.outro = '';
+ chunk.edit('');
+ chunk = end > chunk.end ? this.byStart[chunk.end] : null;
+ }
+ return this;
+ }
+ lastChar() {
+ if (this.outro.length) return this.outro[this.outro.length - 1];
+ let chunk = this.lastChunk;
+ do {
+ if (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];
+ if (chunk.content.length) return chunk.content[chunk.content.length - 1];
+ if (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];
+ } while ((chunk = chunk.previous));
+ if (this.intro.length) return this.intro[this.intro.length - 1];
+ return '';
+ }
+ lastLine() {
+ let lineIndex = this.outro.lastIndexOf(n);
+ if (lineIndex !== -1) return this.outro.substr(lineIndex + 1);
+ let lineStr = this.outro;
+ let chunk = this.lastChunk;
+ do {
+ if (chunk.outro.length > 0) {
+ lineIndex = chunk.outro.lastIndexOf(n);
+ if (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;
+ lineStr = chunk.outro + lineStr;
+ }
+ if (chunk.content.length > 0) {
+ lineIndex = chunk.content.lastIndexOf(n);
+ if (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;
+ lineStr = chunk.content + lineStr;
+ }
+ if (chunk.intro.length > 0) {
+ lineIndex = chunk.intro.lastIndexOf(n);
+ if (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;
+ lineStr = chunk.intro + lineStr;
+ }
+ } while ((chunk = chunk.previous));
+ lineIndex = this.intro.lastIndexOf(n);
+ if (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;
+ return this.intro + lineStr;
+ }
+ slice(start = 0, end = this.original.length) {
+ if (this.original.length !== 0) {
+ while (start < 0) start += this.original.length;
+ while (end < 0) end += this.original.length;
+ }
+ let result = '';
+ let chunk = this.firstChunk;
+ while (chunk && (chunk.start > start || chunk.end <= start)) {
+ if (chunk.start < end && chunk.end >= end) {
+ return result;
+ }
+ chunk = chunk.next;
+ }
+ if (chunk && chunk.edited && chunk.start !== start)
+ throw new Error(`Cannot use replaced character ${start} as slice start anchor.`);
+ const startChunk = chunk;
+ while (chunk) {
+ if (chunk.intro && (startChunk !== chunk || chunk.start === start)) {
+ result += chunk.intro;
+ }
+ const containsEnd = chunk.start < end && chunk.end >= end;
+ if (containsEnd && chunk.edited && chunk.end !== end)
+ throw new Error(`Cannot use replaced character ${end} as slice end anchor.`);
+ const sliceStart = startChunk === chunk ? start - chunk.start : 0;
+ const sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;
+ result += chunk.content.slice(sliceStart, sliceEnd);
+ if (chunk.outro && (!containsEnd || chunk.end === end)) {
+ result += chunk.outro;
+ }
+ if (containsEnd) {
+ break;
+ }
+ chunk = chunk.next;
+ }
+ return result;
+ }
+ snip(start, end) {
+ const clone = this.clone();
+ clone.remove(0, start);
+ clone.remove(end, clone.original.length);
+ return clone;
+ }
+ _split(index) {
+ if (this.byStart[index] || this.byEnd[index]) return;
+ let chunk = this.lastSearchedChunk;
+ const searchForward = index > chunk.end;
+ while (chunk) {
+ if (chunk.contains(index)) return this._splitChunk(chunk, index);
+ chunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];
+ }
+ }
+ _splitChunk(chunk, index) {
+ if (chunk.edited && chunk.content.length) {
+ const loc = getLocator(this.original)(index);
+ throw new Error(
+ `Cannot split a chunk that has already been edited (${loc.line}:${loc.column} \u2013 "${chunk.original}")`,
+ );
+ }
+ const newChunk = chunk.split(index);
+ this.byEnd[index] = chunk;
+ this.byStart[index] = newChunk;
+ this.byEnd[newChunk.end] = newChunk;
+ if (chunk === this.lastChunk) this.lastChunk = newChunk;
+ this.lastSearchedChunk = chunk;
+ return true;
+ }
+ toString() {
+ let str = this.intro;
+ let chunk = this.firstChunk;
+ while (chunk) {
+ str += chunk.toString();
+ chunk = chunk.next;
+ }
+ return str + this.outro;
+ }
+ isEmpty() {
+ let chunk = this.firstChunk;
+ do {
+ if (
+ (chunk.intro.length && chunk.intro.trim()) ||
+ (chunk.content.length && chunk.content.trim()) ||
+ (chunk.outro.length && chunk.outro.trim())
+ )
+ return false;
+ } while ((chunk = chunk.next));
+ return true;
+ }
+ length() {
+ let chunk = this.firstChunk;
+ let length = 0;
+ do {
+ length += chunk.intro.length + chunk.content.length + chunk.outro.length;
+ } while ((chunk = chunk.next));
+ return length;
+ }
+ trimLines() {
+ return this.trim('[\\r\\n]');
+ }
+ trim(charType) {
+ return this.trimStart(charType).trimEnd(charType);
+ }
+ trimEndAborted(charType) {
+ const rx = new RegExp((charType || '\\s') + '+$');
+ this.outro = this.outro.replace(rx, '');
+ if (this.outro.length) return true;
+ let chunk = this.lastChunk;
+ do {
+ const end = chunk.end;
+ const aborted = chunk.trimEnd(rx);
+ if (chunk.end !== end) {
+ if (this.lastChunk === chunk) {
+ this.lastChunk = chunk.next;
+ }
+ this.byEnd[chunk.end] = chunk;
+ this.byStart[chunk.next.start] = chunk.next;
+ this.byEnd[chunk.next.end] = chunk.next;
+ }
+ if (aborted) return true;
+ chunk = chunk.previous;
+ } while (chunk);
+ return false;
+ }
+ trimEnd(charType) {
+ this.trimEndAborted(charType);
+ return this;
+ }
+ trimStartAborted(charType) {
+ const rx = new RegExp('^' + (charType || '\\s') + '+');
+ this.intro = this.intro.replace(rx, '');
+ if (this.intro.length) return true;
+ let chunk = this.firstChunk;
+ do {
+ const end = chunk.end;
+ const aborted = chunk.trimStart(rx);
+ if (chunk.end !== end) {
+ if (chunk === this.lastChunk) this.lastChunk = chunk.next;
+ this.byEnd[chunk.end] = chunk;
+ this.byStart[chunk.next.start] = chunk.next;
+ this.byEnd[chunk.next.end] = chunk.next;
+ }
+ if (aborted) return true;
+ chunk = chunk.next;
+ } while (chunk);
+ return false;
+ }
+ trimStart(charType) {
+ this.trimStartAborted(charType);
+ return this;
+ }
+ hasChanged() {
+ return this.original !== this.toString();
+ }
+ replace(searchValue, replacement) {
+ function getReplacement(match, str) {
+ if (typeof replacement === 'string') {
+ return replacement.replace(/\$(\$|&|\d+)/g, (_, i) => {
+ if (i === '$') return '$';
+ if (i === '&') return match[0];
+ const num = +i;
+ if (num < match.length) return match[+i];
+ return `$${i}`;
+ });
+ } else {
+ return replacement(...match, match.index, str, match.groups);
+ }
+ }
+ function matchAll(re, str) {
+ let match;
+ const matches = [];
+ while ((match = re.exec(str))) {
+ matches.push(match);
+ }
+ return matches;
+ }
+ if (typeof searchValue !== 'string' && searchValue.global) {
+ const matches = matchAll(searchValue, this.original);
+ matches.forEach((match) => {
+ if (match.index != null)
+ this.overwrite(
+ match.index,
+ match.index + match[0].length,
+ getReplacement(match, this.original),
+ );
+ });
+ } else {
+ const match = this.original.match(searchValue);
+ if (match && match.index != null)
+ this.overwrite(
+ match.index,
+ match.index + match[0].length,
+ getReplacement(match, this.original),
+ );
+ }
+ return this;
+ }
}
const hasOwnProp = Object.prototype.hasOwnProperty;
class Bundle {
- constructor(options = {}) {
- this.intro = options.intro || "";
- this.separator = options.separator !== void 0 ? options.separator : "\n";
- this.sources = [];
- this.uniqueSources = [];
- this.uniqueSourceIndexByFilename = {};
- }
- addSource(source) {
- if (source instanceof MagicString) {
- return this.addSource({
- content: source,
- filename: source.filename,
- separator: this.separator
- });
- }
- if (!isObject(source) || !source.content) {
- throw new Error("bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`");
- }
- ["filename", "indentExclusionRanges", "separator"].forEach((option) => {
- if (!hasOwnProp.call(source, option))
- source[option] = source.content[option];
- });
- if (source.separator === void 0) {
- source.separator = this.separator;
- }
- if (source.filename) {
- if (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {
- this.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;
- this.uniqueSources.push({ filename: source.filename, content: source.content.original });
- } else {
- const uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];
- if (source.content.original !== uniqueSource.content) {
- throw new Error(`Illegal source: same filename (${source.filename}), different contents`);
- }
- }
- }
- this.sources.push(source);
- return this;
- }
- append(str, options) {
- this.addSource({
- content: new MagicString(str),
- separator: options && options.separator || ""
- });
- return this;
- }
- clone() {
- const bundle = new Bundle({
- intro: this.intro,
- separator: this.separator
- });
- this.sources.forEach((source) => {
- bundle.addSource({
- filename: source.filename,
- content: source.content.clone(),
- separator: source.separator
- });
- });
- return bundle;
- }
- generateDecodedMap(options = {}) {
- const names = [];
- this.sources.forEach((source) => {
- Object.keys(source.content.storedNames).forEach((name) => {
- if (!~names.indexOf(name))
- names.push(name);
- });
- });
- const mappings = new Mappings(options.hires);
- if (this.intro) {
- mappings.advance(this.intro);
- }
- this.sources.forEach((source, i) => {
- if (i > 0) {
- mappings.advance(this.separator);
- }
- const sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;
- const magicString = source.content;
- const locate = getLocator(magicString.original);
- if (magicString.intro) {
- mappings.advance(magicString.intro);
- }
- magicString.firstChunk.eachNext((chunk) => {
- const loc = locate(chunk.start);
- if (chunk.intro.length)
- mappings.advance(chunk.intro);
- if (source.filename) {
- if (chunk.edited) {
- mappings.addEdit(sourceIndex, chunk.content, loc, chunk.storeName ? names.indexOf(chunk.original) : -1);
- } else {
- mappings.addUneditedChunk(sourceIndex, chunk, magicString.original, loc, magicString.sourcemapLocations);
- }
- } else {
- mappings.advance(chunk.content);
- }
- if (chunk.outro.length)
- mappings.advance(chunk.outro);
- });
- if (magicString.outro) {
- mappings.advance(magicString.outro);
- }
- });
- return {
- file: options.file ? options.file.split(/[/\\]/).pop() : null,
- sources: this.uniqueSources.map((source) => {
- return options.file ? getRelativePath(options.file, source.filename) : source.filename;
- }),
- sourcesContent: this.uniqueSources.map((source) => {
- return options.includeContent ? source.content : null;
- }),
- names,
- mappings: mappings.raw
- };
- }
- generateMap(options) {
- return new SourceMap(this.generateDecodedMap(options));
- }
- getIndentString() {
- const indentStringCounts = {};
- this.sources.forEach((source) => {
- const indentStr = source.content.indentStr;
- if (indentStr === null)
- return;
- if (!indentStringCounts[indentStr])
- indentStringCounts[indentStr] = 0;
- indentStringCounts[indentStr] += 1;
- });
- return Object.keys(indentStringCounts).sort((a, b) => {
- return indentStringCounts[a] - indentStringCounts[b];
- })[0] || " ";
- }
- indent(indentStr) {
- if (!arguments.length) {
- indentStr = this.getIndentString();
- }
- if (indentStr === "")
- return this;
- let trailingNewline = !this.intro || this.intro.slice(-1) === "\n";
- this.sources.forEach((source, i) => {
- const separator = source.separator !== void 0 ? source.separator : this.separator;
- const indentStart = trailingNewline || i > 0 && /\r?\n$/.test(separator);
- source.content.indent(indentStr, {
- exclude: source.indentExclusionRanges,
- indentStart
- });
- trailingNewline = source.content.lastChar() === "\n";
- });
- if (this.intro) {
- this.intro = indentStr + this.intro.replace(/^[^\n]/gm, (match, index) => {
- return index > 0 ? indentStr + match : match;
- });
- }
- return this;
- }
- prepend(str) {
- this.intro = str + this.intro;
- return this;
- }
- toString() {
- const body = this.sources.map((source, i) => {
- const separator = source.separator !== void 0 ? source.separator : this.separator;
- const str = (i > 0 ? separator : "") + source.content.toString();
- return str;
- }).join("");
- return this.intro + body;
- }
- isEmpty() {
- if (this.intro.length && this.intro.trim())
- return false;
- if (this.sources.some((source) => !source.content.isEmpty()))
- return false;
- return true;
- }
- length() {
- return this.sources.reduce((length, source) => length + source.content.length(), this.intro.length);
- }
- trimLines() {
- return this.trim("[\\r\\n]");
- }
- trim(charType) {
- return this.trimStart(charType).trimEnd(charType);
- }
- trimStart(charType) {
- const rx = new RegExp("^" + (charType || "\\s") + "+");
- this.intro = this.intro.replace(rx, "");
- if (!this.intro) {
- let source;
- let i = 0;
- do {
- source = this.sources[i++];
- if (!source) {
- break;
- }
- } while (!source.content.trimStartAborted(charType));
- }
- return this;
- }
- trimEnd(charType) {
- const rx = new RegExp((charType || "\\s") + "+$");
- let source;
- let i = this.sources.length - 1;
- do {
- source = this.sources[i--];
- if (!source) {
- this.intro = this.intro.replace(rx, "");
- break;
- }
- } while (!source.content.trimEndAborted(charType));
- return this;
- }
+ constructor(options = {}) {
+ this.intro = options.intro || '';
+ this.separator = options.separator !== void 0 ? options.separator : '\n';
+ this.sources = [];
+ this.uniqueSources = [];
+ this.uniqueSourceIndexByFilename = {};
+ }
+ addSource(source) {
+ if (source instanceof MagicString) {
+ return this.addSource({
+ content: source,
+ filename: source.filename,
+ separator: this.separator,
+ });
+ }
+ if (!isObject(source) || !source.content) {
+ throw new Error(
+ 'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',
+ );
+ }
+ ['filename', 'indentExclusionRanges', 'separator'].forEach((option) => {
+ if (!hasOwnProp.call(source, option)) source[option] = source.content[option];
+ });
+ if (source.separator === void 0) {
+ source.separator = this.separator;
+ }
+ if (source.filename) {
+ if (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {
+ this.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;
+ this.uniqueSources.push({ filename: source.filename, content: source.content.original });
+ } else {
+ const uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];
+ if (source.content.original !== uniqueSource.content) {
+ throw new Error(`Illegal source: same filename (${source.filename}), different contents`);
+ }
+ }
+ }
+ this.sources.push(source);
+ return this;
+ }
+ append(str, options) {
+ this.addSource({
+ content: new MagicString(str),
+ separator: (options && options.separator) || '',
+ });
+ return this;
+ }
+ clone() {
+ const bundle = new Bundle({
+ intro: this.intro,
+ separator: this.separator,
+ });
+ this.sources.forEach((source) => {
+ bundle.addSource({
+ filename: source.filename,
+ content: source.content.clone(),
+ separator: source.separator,
+ });
+ });
+ return bundle;
+ }
+ generateDecodedMap(options = {}) {
+ const names = [];
+ this.sources.forEach((source) => {
+ Object.keys(source.content.storedNames).forEach((name) => {
+ if (!~names.indexOf(name)) names.push(name);
+ });
+ });
+ const mappings = new Mappings(options.hires);
+ if (this.intro) {
+ mappings.advance(this.intro);
+ }
+ this.sources.forEach((source, i) => {
+ if (i > 0) {
+ mappings.advance(this.separator);
+ }
+ const sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;
+ const magicString = source.content;
+ const locate = getLocator(magicString.original);
+ if (magicString.intro) {
+ mappings.advance(magicString.intro);
+ }
+ magicString.firstChunk.eachNext((chunk) => {
+ const loc = locate(chunk.start);
+ if (chunk.intro.length) mappings.advance(chunk.intro);
+ if (source.filename) {
+ if (chunk.edited) {
+ mappings.addEdit(
+ sourceIndex,
+ chunk.content,
+ loc,
+ chunk.storeName ? names.indexOf(chunk.original) : -1,
+ );
+ } else {
+ mappings.addUneditedChunk(
+ sourceIndex,
+ chunk,
+ magicString.original,
+ loc,
+ magicString.sourcemapLocations,
+ );
+ }
+ } else {
+ mappings.advance(chunk.content);
+ }
+ if (chunk.outro.length) mappings.advance(chunk.outro);
+ });
+ if (magicString.outro) {
+ mappings.advance(magicString.outro);
+ }
+ });
+ return {
+ file: options.file ? options.file.split(/[/\\]/).pop() : null,
+ sources: this.uniqueSources.map((source) => {
+ return options.file ? getRelativePath(options.file, source.filename) : source.filename;
+ }),
+ sourcesContent: this.uniqueSources.map((source) => {
+ return options.includeContent ? source.content : null;
+ }),
+ names,
+ mappings: mappings.raw,
+ };
+ }
+ generateMap(options) {
+ return new SourceMap(this.generateDecodedMap(options));
+ }
+ getIndentString() {
+ const indentStringCounts = {};
+ this.sources.forEach((source) => {
+ const indentStr = source.content.indentStr;
+ if (indentStr === null) return;
+ if (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;
+ indentStringCounts[indentStr] += 1;
+ });
+ return (
+ Object.keys(indentStringCounts).sort((a, b) => {
+ return indentStringCounts[a] - indentStringCounts[b];
+ })[0] || ' '
+ );
+ }
+ indent(indentStr) {
+ if (!arguments.length) {
+ indentStr = this.getIndentString();
+ }
+ if (indentStr === '') return this;
+ let trailingNewline = !this.intro || this.intro.slice(-1) === '\n';
+ this.sources.forEach((source, i) => {
+ const separator = source.separator !== void 0 ? source.separator : this.separator;
+ const indentStart = trailingNewline || (i > 0 && /\r?\n$/.test(separator));
+ source.content.indent(indentStr, {
+ exclude: source.indentExclusionRanges,
+ indentStart,
+ });
+ trailingNewline = source.content.lastChar() === '\n';
+ });
+ if (this.intro) {
+ this.intro =
+ indentStr +
+ this.intro.replace(/^[^\n]/gm, (match, index) => {
+ return index > 0 ? indentStr + match : match;
+ });
+ }
+ return this;
+ }
+ prepend(str) {
+ this.intro = str + this.intro;
+ return this;
+ }
+ toString() {
+ const body = this.sources
+ .map((source, i) => {
+ const separator = source.separator !== void 0 ? source.separator : this.separator;
+ const str = (i > 0 ? separator : '') + source.content.toString();
+ return str;
+ })
+ .join('');
+ return this.intro + body;
+ }
+ isEmpty() {
+ if (this.intro.length && this.intro.trim()) return false;
+ if (this.sources.some((source) => !source.content.isEmpty())) return false;
+ return true;
+ }
+ length() {
+ return this.sources.reduce(
+ (length, source) => length + source.content.length(),
+ this.intro.length,
+ );
+ }
+ trimLines() {
+ return this.trim('[\\r\\n]');
+ }
+ trim(charType) {
+ return this.trimStart(charType).trimEnd(charType);
+ }
+ trimStart(charType) {
+ const rx = new RegExp('^' + (charType || '\\s') + '+');
+ this.intro = this.intro.replace(rx, '');
+ if (!this.intro) {
+ let source;
+ let i = 0;
+ do {
+ source = this.sources[i++];
+ if (!source) {
+ break;
+ }
+ } while (!source.content.trimStartAborted(charType));
+ }
+ return this;
+ }
+ trimEnd(charType) {
+ const rx = new RegExp((charType || '\\s') + '+$');
+ let source;
+ let i = this.sources.length - 1;
+ do {
+ source = this.sources[i--];
+ if (!source) {
+ this.intro = this.intro.replace(rx, '');
+ break;
+ }
+ } while (!source.content.trimEndAborted(charType));
+ return this;
+ }
}
-export {
- Bundle,
- SourceMap,
- MagicString as default
-};
+export { Bundle, SourceMap, MagicString as default };
diff --git a/benchmark/index.mjs b/benchmark/index.mjs
index ba60ff2..bc955c0 100644
--- a/benchmark/index.mjs
+++ b/benchmark/index.mjs
@@ -8,35 +8,33 @@ console.log(`node ${process.version}\n`);
function runWithInstance(name, inputs, func, setup) {
const ss = [];
- new Benchmark(
- name,
- {
- setup: () => {
- for (const [i, input] of inputs.entries()) {
- ss[i] = new MagicString(input);
- if (setup) {
- setup(ss[i]);
- }
- }
- },
- fn: () => {
- for (const i of inputs.keys()) {
- func(ss[i]);
+ new Benchmark(name, {
+ setup: () => {
+ for (const [i, input] of inputs.entries()) {
+ ss[i] = new MagicString(input);
+ if (setup) {
+ setup(ss[i]);
}
}
- }
- ).on('complete', (event) => {
- console.log(String(event.target));
- }).on('error', (event) => {
- console.error(event.target.error);
- }).run();
+ },
+ fn: () => {
+ for (const i of inputs.keys()) {
+ func(ss[i]);
+ }
+ },
+ })
+ .on('complete', (event) => {
+ console.log(String(event.target));
+ })
+ .on('error', (event) => {
+ console.error(event.target.error);
+ })
+ .run();
}
async function bench() {
const inputs = await Promise.all(
- ['data.js', 'data-min.js'].map(
- (file) => fs.readFile(new URL(file, import.meta.url), 'utf-8')
- )
+ ['data.js', 'data-min.js'].map((file) => fs.readFile(new URL(file, import.meta.url), 'utf-8')),
);
new Benchmark('construct', {
@@ -44,42 +42,55 @@ async function bench() {
for (const input of inputs) {
new MagicString(input);
}
- }
- }).on('complete', (event) => {
- console.log(String(event.target));
- }).on('error', (event) => {
- console.error(event.target.error);
- }).run();
+ },
+ })
+ .on('complete', (event) => {
+ console.log(String(event.target));
+ })
+ .on('error', (event) => {
+ console.error(event.target.error);
+ })
+ .run();
- runWithInstance('append', inputs, s => {
+ runWithInstance('append', inputs, (s) => {
s.append(';"append";');
});
- runWithInstance('indent', inputs, s => {
+ runWithInstance('indent', inputs, (s) => {
s.indent();
});
- runWithInstance('generateMap (no edit)', inputs, s => {
+ runWithInstance('generateMap (no edit)', inputs, (s) => {
s.generateMap();
});
- runWithInstance('generateMap (edit)', inputs, s => {
- s.generateMap();
- }, s => {
- s.replace(/replacement/g, 'replacement\nReplacement');
- });
+ runWithInstance(
+ 'generateMap (edit)',
+ inputs,
+ (s) => {
+ s.generateMap();
+ },
+ (s) => {
+ s.replace(/replacement/g, 'replacement\nReplacement');
+ },
+ );
- runWithInstance('generateDecodedMap (no edit)', inputs, s => {
+ runWithInstance('generateDecodedMap (no edit)', inputs, (s) => {
s.generateDecodedMap();
});
- runWithInstance('generateDecodedMap (edit)', inputs, s => {
- s.generateDecodedMap();
- }, s => {
- s.replace(/replacement/g, 'replacement\nReplacement');
- });
+ runWithInstance(
+ 'generateDecodedMap (edit)',
+ inputs,
+ (s) => {
+ s.generateDecodedMap();
+ },
+ (s) => {
+ s.replace(/replacement/g, 'replacement\nReplacement');
+ },
+ );
const size = 1000000;
- runWithInstance('overwrite', ['a'.repeat(size)], s => {
- for (let i = 1; i < size; i+=2) {
- s.overwrite(i, i+1, 'b');
+ runWithInstance('overwrite', ['a'.repeat(size)], (s) => {
+ for (let i = 1; i < size; i += 2) {
+ s.overwrite(i, i + 1, 'b');
}
});
}
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 0000000..be2bb17
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,36 @@
+import js from '@eslint/js';
+
+export default [
+ js.configs.recommended,
+ {
+ rules: {
+ 'space-before-blocks': [2, 'always'],
+ 'no-mixed-spaces-and-tabs': [2, 'smart-tabs'],
+ 'object-shorthand': [2, 'always'],
+ 'no-const-assign': 2,
+ 'no-unused-vars': 2,
+ 'no-class-assign': 2,
+ 'no-this-before-super': 2,
+ 'no-var': 2,
+ 'one-var': [2, 'never'],
+ 'prefer-arrow-callback': 2,
+ 'prefer-const': 2,
+ 'no-cond-assign': 0,
+ 'no-constant-condition': 0,
+ 'no-console': [2, { allow: ['warn', 'error'] }],
+ },
+ languageOptions: {
+ globals: {
+ DEBUG: true,
+ process: true,
+ Buffer: true,
+ globalThis: true,
+ console: true,
+ },
+ parserOptions: {
+ ecmaVersion: 2020,
+ sourceType: 'module',
+ },
+ },
+ },
+];
diff --git a/package.json b/package.json
index 22ca1e2..7e731a6 100644
--- a/package.json
+++ b/package.json
@@ -1,66 +1,67 @@
{
- "name": "magic-string",
- "version": "0.30.15",
- "packageManager": "pnpm@9.6.0",
- "description": "Modify strings, generate sourcemaps",
- "keywords": [
- "string",
- "string manipulation",
- "sourcemap",
- "templating",
- "transpilation"
- ],
- "type": "module",
- "repository": "https://github.com/rich-harris/magic-string",
- "license": "MIT",
- "author": "Rich Harris",
- "main": "./dist/magic-string.cjs.js",
- "module": "./dist/magic-string.es.mjs",
- "sideEffects": false,
- "jsnext:main": "./dist/magic-string.es.mjs",
- "types": "./dist/magic-string.cjs.d.ts",
- "exports": {
- "./package.json": "./package.json",
- ".": {
- "import": "./dist/magic-string.es.mjs",
- "require": "./dist/magic-string.cjs.js"
- }
- },
- "files": [
- "dist/*",
- "index.d.ts",
- "README.md"
- ],
- "scripts": {
- "build": "rollup -c",
- "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
- "format": "prettier --single-quote --print-width 100 --use-tabs --write {src,test}/*.js {src,test}/**/*.js",
- "lint": "eslint src test && publint",
- "lint:fix": "eslint src test --fix",
- "prepare": "npm run build",
- "prepublishOnly": "npm run lint && rm -rf dist && npm test",
- "release": "bumpp -x \"npm run changelog\" --all --commit --tag --push && npm publish",
- "pretest": "npm run build",
- "test": "vitest run",
- "test:dev": "vitest",
- "bench": "npm run build && node benchmark/index.mjs",
- "watch": "rollup -cw"
- },
- "devDependencies": {
- "@rollup/plugin-node-resolve": "^15.2.3",
- "@rollup/plugin-replace": "^5.0.7",
- "benchmark": "^2.1.4",
- "bumpp": "^9.4.1",
- "conventional-changelog-cli": "^3.0.0",
- "eslint": "^8.57.0",
- "prettier": "^3.3.3",
- "publint": "^0.2.9",
- "rollup": "^3.29.4",
- "source-map-js": "^1.2.0",
- "source-map-support": "^0.5.21",
- "vitest": "^2.1.8"
- },
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.0"
- }
+ "name": "magic-string",
+ "version": "0.30.15",
+ "packageManager": "pnpm@9.15.0",
+ "description": "Modify strings, generate sourcemaps",
+ "keywords": [
+ "string",
+ "string manipulation",
+ "sourcemap",
+ "templating",
+ "transpilation"
+ ],
+ "type": "module",
+ "repository": "https://github.com/rich-harris/magic-string",
+ "license": "MIT",
+ "author": "Rich Harris",
+ "main": "./dist/magic-string.cjs.js",
+ "module": "./dist/magic-string.es.mjs",
+ "sideEffects": false,
+ "jsnext:main": "./dist/magic-string.es.mjs",
+ "types": "./dist/magic-string.cjs.d.ts",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "import": "./dist/magic-string.es.mjs",
+ "require": "./dist/magic-string.cjs.js"
+ }
+ },
+ "files": [
+ "dist/*",
+ "index.d.ts",
+ "README.md"
+ ],
+ "scripts": {
+ "build": "rollup -c",
+ "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
+ "format": "prettier --single-quote --print-width 100 --use-tabs --write .",
+ "lint": "eslint src test && publint",
+ "lint:fix": "eslint src test --fix",
+ "prepare": "npm run build",
+ "prepublishOnly": "npm run lint && rm -rf dist && npm test",
+ "release": "bumpp -x \"npm run changelog\" --all --commit --tag --push && npm publish",
+ "pretest": "npm run build",
+ "test": "vitest run",
+ "test:dev": "vitest",
+ "bench": "npm run build && node benchmark/index.mjs",
+ "watch": "rollup -cw"
+ },
+ "devDependencies": {
+ "@eslint/js": "^9.16.0",
+ "@rollup/plugin-node-resolve": "^15.3.0",
+ "@rollup/plugin-replace": "^5.0.7",
+ "benchmark": "^2.1.4",
+ "bumpp": "^9.9.1",
+ "conventional-changelog-cli": "^3.0.0",
+ "eslint": "^9.16.0",
+ "prettier": "^3.4.2",
+ "publint": "^0.2.12",
+ "rollup": "^3.29.5",
+ "source-map-js": "^1.2.1",
+ "source-map-support": "^0.5.21",
+ "vitest": "^2.1.8"
+ },
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0"
+ }
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9732588..4a74e9b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -5,42 +5,44 @@ settings:
excludeLinksFromLockfile: false
importers:
-
.:
dependencies:
'@jridgewell/sourcemap-codec':
specifier: ^1.5.0
version: 1.5.0
devDependencies:
+ '@eslint/js':
+ specifier: ^9.16.0
+ version: 9.16.0
'@rollup/plugin-node-resolve':
- specifier: ^15.2.3
- version: 15.2.3(rollup@3.29.4)
+ specifier: ^15.3.0
+ version: 15.3.0(rollup@3.29.5)
'@rollup/plugin-replace':
specifier: ^5.0.7
- version: 5.0.7(rollup@3.29.4)
+ version: 5.0.7(rollup@3.29.5)
benchmark:
specifier: ^2.1.4
version: 2.1.4
bumpp:
- specifier: ^9.4.1
- version: 9.4.1
+ specifier: ^9.9.1
+ version: 9.9.1
conventional-changelog-cli:
specifier: ^3.0.0
version: 3.0.0
eslint:
- specifier: ^8.57.0
- version: 8.57.0
+ specifier: ^9.16.0
+ version: 9.16.0(jiti@2.4.1)
prettier:
- specifier: ^3.3.3
- version: 3.3.3
+ specifier: ^3.4.2
+ version: 3.4.2
publint:
- specifier: ^0.2.9
- version: 0.2.9
+ specifier: ^0.2.12
+ version: 0.2.12
rollup:
- specifier: ^3.29.4
- version: 3.29.4
+ specifier: ^3.29.5
+ version: 3.29.5
source-map-js:
- specifier: ^1.2.0
+ specifier: ^1.2.1
version: 1.2.1
source-map-support:
specifier: ^0.5.21
@@ -50,218 +52,353 @@ importers:
version: 2.1.8
packages:
-
'@aashutoshrathi/word-wrap@1.2.6':
- resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==,
+ }
+ engines: { node: '>=0.10.0' }
'@babel/code-frame@7.24.2':
- resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==,
+ }
+ engines: { node: '>=6.9.0' }
'@babel/helper-validator-identifier@7.22.20':
- resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==,
+ }
+ engines: { node: '>=6.9.0' }
'@babel/highlight@7.24.2':
- resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==,
+ }
+ engines: { node: '>=6.9.0' }
'@esbuild/aix-ppc64@0.21.5':
- resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==,
+ }
+ engines: { node: '>=12' }
cpu: [ppc64]
os: [aix]
'@esbuild/android-arm64@0.21.5':
- resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==,
+ }
+ engines: { node: '>=12' }
cpu: [arm64]
os: [android]
'@esbuild/android-arm@0.21.5':
- resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==,
+ }
+ engines: { node: '>=12' }
cpu: [arm]
os: [android]
'@esbuild/android-x64@0.21.5':
- resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==,
+ }
+ engines: { node: '>=12' }
cpu: [x64]
os: [android]
'@esbuild/darwin-arm64@0.21.5':
- resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==,
+ }
+ engines: { node: '>=12' }
cpu: [arm64]
os: [darwin]
'@esbuild/darwin-x64@0.21.5':
- resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==,
+ }
+ engines: { node: '>=12' }
cpu: [x64]
os: [darwin]
'@esbuild/freebsd-arm64@0.21.5':
- resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==,
+ }
+ engines: { node: '>=12' }
cpu: [arm64]
os: [freebsd]
'@esbuild/freebsd-x64@0.21.5':
- resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==,
+ }
+ engines: { node: '>=12' }
cpu: [x64]
os: [freebsd]
'@esbuild/linux-arm64@0.21.5':
- resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==,
+ }
+ engines: { node: '>=12' }
cpu: [arm64]
os: [linux]
'@esbuild/linux-arm@0.21.5':
- resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==,
+ }
+ engines: { node: '>=12' }
cpu: [arm]
os: [linux]
'@esbuild/linux-ia32@0.21.5':
- resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==,
+ }
+ engines: { node: '>=12' }
cpu: [ia32]
os: [linux]
'@esbuild/linux-loong64@0.21.5':
- resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==,
+ }
+ engines: { node: '>=12' }
cpu: [loong64]
os: [linux]
'@esbuild/linux-mips64el@0.21.5':
- resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==,
+ }
+ engines: { node: '>=12' }
cpu: [mips64el]
os: [linux]
'@esbuild/linux-ppc64@0.21.5':
- resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==,
+ }
+ engines: { node: '>=12' }
cpu: [ppc64]
os: [linux]
'@esbuild/linux-riscv64@0.21.5':
- resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==,
+ }
+ engines: { node: '>=12' }
cpu: [riscv64]
os: [linux]
'@esbuild/linux-s390x@0.21.5':
- resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==,
+ }
+ engines: { node: '>=12' }
cpu: [s390x]
os: [linux]
'@esbuild/linux-x64@0.21.5':
- resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==,
+ }
+ engines: { node: '>=12' }
cpu: [x64]
os: [linux]
'@esbuild/netbsd-x64@0.21.5':
- resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==,
+ }
+ engines: { node: '>=12' }
cpu: [x64]
os: [netbsd]
'@esbuild/openbsd-x64@0.21.5':
- resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==,
+ }
+ engines: { node: '>=12' }
cpu: [x64]
os: [openbsd]
'@esbuild/sunos-x64@0.21.5':
- resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==,
+ }
+ engines: { node: '>=12' }
cpu: [x64]
os: [sunos]
'@esbuild/win32-arm64@0.21.5':
- resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==,
+ }
+ engines: { node: '>=12' }
cpu: [arm64]
os: [win32]
'@esbuild/win32-ia32@0.21.5':
- resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==,
+ }
+ engines: { node: '>=12' }
cpu: [ia32]
os: [win32]
'@esbuild/win32-x64@0.21.5':
- resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==,
+ }
+ engines: { node: '>=12' }
cpu: [x64]
os: [win32]
'@eslint-community/eslint-utils@4.4.0':
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- '@eslint-community/regexpp@4.10.0':
- resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
-
- '@eslint/eslintrc@2.1.4':
- resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- '@eslint/js@8.57.0':
- resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- '@humanwhocodes/config-array@0.11.14':
- resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
- engines: {node: '>=10.10.0'}
- deprecated: Use @eslint/config-array instead
+ '@eslint-community/regexpp@4.12.1':
+ resolution:
+ {
+ integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==,
+ }
+ engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 }
+
+ '@eslint/config-array@0.19.1':
+ resolution:
+ {
+ integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+ '@eslint/core@0.9.1':
+ resolution:
+ {
+ integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+ '@eslint/eslintrc@3.2.0':
+ resolution:
+ {
+ integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+ '@eslint/js@9.16.0':
+ resolution:
+ {
+ integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+ '@eslint/object-schema@2.1.5':
+ resolution:
+ {
+ integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+ '@eslint/plugin-kit@0.2.4':
+ resolution:
+ {
+ integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+ '@humanfs/core@0.19.1':
+ resolution:
+ {
+ integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==,
+ }
+ engines: { node: '>=18.18.0' }
+
+ '@humanfs/node@0.16.6':
+ resolution:
+ {
+ integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==,
+ }
+ engines: { node: '>=18.18.0' }
'@humanwhocodes/module-importer@1.0.1':
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
-
- '@humanwhocodes/object-schema@2.0.3':
- resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
- deprecated: Use @eslint/object-schema instead
+ resolution:
+ {
+ integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==,
+ }
+ engines: { node: '>=12.22' }
+
+ '@humanwhocodes/retry@0.3.1':
+ resolution:
+ {
+ integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==,
+ }
+ engines: { node: '>=18.18' }
+
+ '@humanwhocodes/retry@0.4.1':
+ resolution:
+ {
+ integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==,
+ }
+ engines: { node: '>=18.18' }
'@hutson/parse-repository-url@3.0.2':
- resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==,
+ }
+ engines: { node: '>=6.9.0' }
'@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
- '@jsdevtools/ez-spawn@3.0.4':
- resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==}
- engines: {node: '>=10'}
-
- '@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
-
- '@rollup/plugin-node-resolve@15.2.3':
- resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==,
+ }
+
+ '@rollup/plugin-node-resolve@15.3.0':
+ resolution:
+ {
+ integrity: sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==,
+ }
+ engines: { node: '>=14.0.0' }
peerDependencies:
rollup: ^2.78.0||^3.0.0||^4.0.0
peerDependenciesMeta:
@@ -269,8 +406,11 @@ packages:
optional: true
'@rollup/plugin-replace@5.0.7':
- resolution: {integrity: sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==,
+ }
+ engines: { node: '>=14.0.0' }
peerDependencies:
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
peerDependenciesMeta:
@@ -278,8 +418,11 @@ packages:
optional: true
'@rollup/pluginutils@5.1.0':
- resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==,
+ }
+ engines: { node: '>=14.0.0' }
peerDependencies:
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
peerDependenciesMeta:
@@ -287,115 +430,190 @@ packages:
optional: true
'@rollup/rollup-android-arm-eabi@4.28.0':
- resolution: {integrity: sha512-wLJuPLT6grGZsy34g4N1yRfYeouklTgPhH1gWXCYspenKYD0s3cR99ZevOGw5BexMNywkbV3UkjADisozBmpPQ==}
+ resolution:
+ {
+ integrity: sha512-wLJuPLT6grGZsy34g4N1yRfYeouklTgPhH1gWXCYspenKYD0s3cR99ZevOGw5BexMNywkbV3UkjADisozBmpPQ==,
+ }
cpu: [arm]
os: [android]
'@rollup/rollup-android-arm64@4.28.0':
- resolution: {integrity: sha512-eiNkznlo0dLmVG/6wf+Ifi/v78G4d4QxRhuUl+s8EWZpDewgk7PX3ZyECUXU0Zq/Ca+8nU8cQpNC4Xgn2gFNDA==}
+ resolution:
+ {
+ integrity: sha512-eiNkznlo0dLmVG/6wf+Ifi/v78G4d4QxRhuUl+s8EWZpDewgk7PX3ZyECUXU0Zq/Ca+8nU8cQpNC4Xgn2gFNDA==,
+ }
cpu: [arm64]
os: [android]
'@rollup/rollup-darwin-arm64@4.28.0':
- resolution: {integrity: sha512-lmKx9yHsppblnLQZOGxdO66gT77bvdBtr/0P+TPOseowE7D9AJoBw8ZDULRasXRWf1Z86/gcOdpBrV6VDUY36Q==}
+ resolution:
+ {
+ integrity: sha512-lmKx9yHsppblnLQZOGxdO66gT77bvdBtr/0P+TPOseowE7D9AJoBw8ZDULRasXRWf1Z86/gcOdpBrV6VDUY36Q==,
+ }
cpu: [arm64]
os: [darwin]
'@rollup/rollup-darwin-x64@4.28.0':
- resolution: {integrity: sha512-8hxgfReVs7k9Js1uAIhS6zq3I+wKQETInnWQtgzt8JfGx51R1N6DRVy3F4o0lQwumbErRz52YqwjfvuwRxGv1w==}
+ resolution:
+ {
+ integrity: sha512-8hxgfReVs7k9Js1uAIhS6zq3I+wKQETInnWQtgzt8JfGx51R1N6DRVy3F4o0lQwumbErRz52YqwjfvuwRxGv1w==,
+ }
cpu: [x64]
os: [darwin]
'@rollup/rollup-freebsd-arm64@4.28.0':
- resolution: {integrity: sha512-lA1zZB3bFx5oxu9fYud4+g1mt+lYXCoch0M0V/xhqLoGatbzVse0wlSQ1UYOWKpuSu3gyN4qEc0Dxf/DII1bhQ==}
+ resolution:
+ {
+ integrity: sha512-lA1zZB3bFx5oxu9fYud4+g1mt+lYXCoch0M0V/xhqLoGatbzVse0wlSQ1UYOWKpuSu3gyN4qEc0Dxf/DII1bhQ==,
+ }
cpu: [arm64]
os: [freebsd]
'@rollup/rollup-freebsd-x64@4.28.0':
- resolution: {integrity: sha512-aI2plavbUDjCQB/sRbeUZWX9qp12GfYkYSJOrdYTL/C5D53bsE2/nBPuoiJKoWp5SN78v2Vr8ZPnB+/VbQ2pFA==}
+ resolution:
+ {
+ integrity: sha512-aI2plavbUDjCQB/sRbeUZWX9qp12GfYkYSJOrdYTL/C5D53bsE2/nBPuoiJKoWp5SN78v2Vr8ZPnB+/VbQ2pFA==,
+ }
cpu: [x64]
os: [freebsd]
'@rollup/rollup-linux-arm-gnueabihf@4.28.0':
- resolution: {integrity: sha512-WXveUPKtfqtaNvpf0iOb0M6xC64GzUX/OowbqfiCSXTdi/jLlOmH0Ba94/OkiY2yTGTwteo4/dsHRfh5bDCZ+w==}
+ resolution:
+ {
+ integrity: sha512-WXveUPKtfqtaNvpf0iOb0M6xC64GzUX/OowbqfiCSXTdi/jLlOmH0Ba94/OkiY2yTGTwteo4/dsHRfh5bDCZ+w==,
+ }
cpu: [arm]
os: [linux]
'@rollup/rollup-linux-arm-musleabihf@4.28.0':
- resolution: {integrity: sha512-yLc3O2NtOQR67lI79zsSc7lk31xjwcaocvdD1twL64PK1yNaIqCeWI9L5B4MFPAVGEVjH5k1oWSGuYX1Wutxpg==}
+ resolution:
+ {
+ integrity: sha512-yLc3O2NtOQR67lI79zsSc7lk31xjwcaocvdD1twL64PK1yNaIqCeWI9L5B4MFPAVGEVjH5k1oWSGuYX1Wutxpg==,
+ }
cpu: [arm]
os: [linux]
'@rollup/rollup-linux-arm64-gnu@4.28.0':
- resolution: {integrity: sha512-+P9G9hjEpHucHRXqesY+3X9hD2wh0iNnJXX/QhS/J5vTdG6VhNYMxJ2rJkQOxRUd17u5mbMLHM7yWGZdAASfcg==}
+ resolution:
+ {
+ integrity: sha512-+P9G9hjEpHucHRXqesY+3X9hD2wh0iNnJXX/QhS/J5vTdG6VhNYMxJ2rJkQOxRUd17u5mbMLHM7yWGZdAASfcg==,
+ }
cpu: [arm64]
os: [linux]
'@rollup/rollup-linux-arm64-musl@4.28.0':
- resolution: {integrity: sha512-1xsm2rCKSTpKzi5/ypT5wfc+4bOGa/9yI/eaOLW0oMs7qpC542APWhl4A37AENGZ6St6GBMWhCCMM6tXgTIplw==}
+ resolution:
+ {
+ integrity: sha512-1xsm2rCKSTpKzi5/ypT5wfc+4bOGa/9yI/eaOLW0oMs7qpC542APWhl4A37AENGZ6St6GBMWhCCMM6tXgTIplw==,
+ }
cpu: [arm64]
os: [linux]
'@rollup/rollup-linux-powerpc64le-gnu@4.28.0':
- resolution: {integrity: sha512-zgWxMq8neVQeXL+ouSf6S7DoNeo6EPgi1eeqHXVKQxqPy1B2NvTbaOUWPn/7CfMKL7xvhV0/+fq/Z/J69g1WAQ==}
+ resolution:
+ {
+ integrity: sha512-zgWxMq8neVQeXL+ouSf6S7DoNeo6EPgi1eeqHXVKQxqPy1B2NvTbaOUWPn/7CfMKL7xvhV0/+fq/Z/J69g1WAQ==,
+ }
cpu: [ppc64]
os: [linux]
'@rollup/rollup-linux-riscv64-gnu@4.28.0':
- resolution: {integrity: sha512-VEdVYacLniRxbRJLNtzwGt5vwS0ycYshofI7cWAfj7Vg5asqj+pt+Q6x4n+AONSZW/kVm+5nklde0qs2EUwU2g==}
+ resolution:
+ {
+ integrity: sha512-VEdVYacLniRxbRJLNtzwGt5vwS0ycYshofI7cWAfj7Vg5asqj+pt+Q6x4n+AONSZW/kVm+5nklde0qs2EUwU2g==,
+ }
cpu: [riscv64]
os: [linux]
'@rollup/rollup-linux-s390x-gnu@4.28.0':
- resolution: {integrity: sha512-LQlP5t2hcDJh8HV8RELD9/xlYtEzJkm/aWGsauvdO2ulfl3QYRjqrKW+mGAIWP5kdNCBheqqqYIGElSRCaXfpw==}
+ resolution:
+ {
+ integrity: sha512-LQlP5t2hcDJh8HV8RELD9/xlYtEzJkm/aWGsauvdO2ulfl3QYRjqrKW+mGAIWP5kdNCBheqqqYIGElSRCaXfpw==,
+ }
cpu: [s390x]
os: [linux]
'@rollup/rollup-linux-x64-gnu@4.28.0':
- resolution: {integrity: sha512-Nl4KIzteVEKE9BdAvYoTkW19pa7LR/RBrT6F1dJCV/3pbjwDcaOq+edkP0LXuJ9kflW/xOK414X78r+K84+msw==}
+ resolution:
+ {
+ integrity: sha512-Nl4KIzteVEKE9BdAvYoTkW19pa7LR/RBrT6F1dJCV/3pbjwDcaOq+edkP0LXuJ9kflW/xOK414X78r+K84+msw==,
+ }
cpu: [x64]
os: [linux]
'@rollup/rollup-linux-x64-musl@4.28.0':
- resolution: {integrity: sha512-eKpJr4vBDOi4goT75MvW+0dXcNUqisK4jvibY9vDdlgLx+yekxSm55StsHbxUsRxSTt3JEQvlr3cGDkzcSP8bw==}
+ resolution:
+ {
+ integrity: sha512-eKpJr4vBDOi4goT75MvW+0dXcNUqisK4jvibY9vDdlgLx+yekxSm55StsHbxUsRxSTt3JEQvlr3cGDkzcSP8bw==,
+ }
cpu: [x64]
os: [linux]
'@rollup/rollup-win32-arm64-msvc@4.28.0':
- resolution: {integrity: sha512-Vi+WR62xWGsE/Oj+mD0FNAPY2MEox3cfyG0zLpotZdehPFXwz6lypkGs5y38Jd/NVSbOD02aVad6q6QYF7i8Bg==}
+ resolution:
+ {
+ integrity: sha512-Vi+WR62xWGsE/Oj+mD0FNAPY2MEox3cfyG0zLpotZdehPFXwz6lypkGs5y38Jd/NVSbOD02aVad6q6QYF7i8Bg==,
+ }
cpu: [arm64]
os: [win32]
'@rollup/rollup-win32-ia32-msvc@4.28.0':
- resolution: {integrity: sha512-kN/Vpip8emMLn/eOza+4JwqDZBL6MPNpkdaEsgUtW1NYN3DZvZqSQrbKzJcTL6hd8YNmFTn7XGWMwccOcJBL0A==}
+ resolution:
+ {
+ integrity: sha512-kN/Vpip8emMLn/eOza+4JwqDZBL6MPNpkdaEsgUtW1NYN3DZvZqSQrbKzJcTL6hd8YNmFTn7XGWMwccOcJBL0A==,
+ }
cpu: [ia32]
os: [win32]
'@rollup/rollup-win32-x64-msvc@4.28.0':
- resolution: {integrity: sha512-Bvno2/aZT6usSa7lRDL2+hMjVAGjuqaymF1ApZm31JXzniR/hvr14jpU+/z4X6Gt5BPlzosscyJZGUvguXIqeQ==}
+ resolution:
+ {
+ integrity: sha512-Bvno2/aZT6usSa7lRDL2+hMjVAGjuqaymF1ApZm31JXzniR/hvr14jpU+/z4X6Gt5BPlzosscyJZGUvguXIqeQ==,
+ }
cpu: [x64]
os: [win32]
'@types/estree@1.0.6':
- resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
+ resolution:
+ {
+ integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==,
+ }
+
+ '@types/json-schema@7.0.15':
+ resolution:
+ {
+ integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==,
+ }
'@types/minimist@1.2.5':
- resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
+ resolution:
+ {
+ integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==,
+ }
'@types/normalize-package-data@2.4.4':
- resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
+ resolution:
+ {
+ integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==,
+ }
'@types/resolve@1.20.2':
- resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
-
- '@ungap/structured-clone@1.2.0':
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ resolution:
+ {
+ integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==,
+ }
'@vitest/expect@2.1.8':
- resolution: {integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==}
+ resolution:
+ {
+ integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==,
+ }
'@vitest/mocker@2.1.8':
- resolution: {integrity: sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==}
+ resolution:
+ {
+ integrity: sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==,
+ }
peerDependencies:
msw: ^2.4.9
vite: ^5.0.0
@@ -406,264 +624,452 @@ packages:
optional: true
'@vitest/pretty-format@2.1.8':
- resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==}
+ resolution:
+ {
+ integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==,
+ }
'@vitest/runner@2.1.8':
- resolution: {integrity: sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==}
+ resolution:
+ {
+ integrity: sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==,
+ }
'@vitest/snapshot@2.1.8':
- resolution: {integrity: sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==}
+ resolution:
+ {
+ integrity: sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==,
+ }
'@vitest/spy@2.1.8':
- resolution: {integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==}
+ resolution:
+ {
+ integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==,
+ }
'@vitest/utils@2.1.8':
- resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==}
+ resolution:
+ {
+ integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==,
+ }
JSONStream@1.3.5:
- resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
+ resolution:
+ {
+ integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==,
+ }
hasBin: true
acorn-jsx@5.3.2:
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ resolution:
+ {
+ integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==,
+ }
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- acorn@8.11.3:
- resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
- engines: {node: '>=0.4.0'}
+ acorn@8.14.0:
+ resolution:
+ {
+ integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==,
+ }
+ engines: { node: '>=0.4.0' }
hasBin: true
add-stream@1.0.0:
- resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==}
+ resolution:
+ {
+ integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==,
+ }
ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ resolution:
+ {
+ integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==,
+ }
ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==,
+ }
+ engines: { node: '>=8' }
ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==,
+ }
+ engines: { node: '>=4' }
ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
-
- anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==,
+ }
+ engines: { node: '>=8' }
argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ resolution:
+ {
+ integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==,
+ }
array-ify@1.0.0:
- resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==}
+ resolution:
+ {
+ integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==,
+ }
arrify@1.0.1:
- resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==,
+ }
+ engines: { node: '>=0.10.0' }
assertion-error@2.0.1:
- resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==,
+ }
+ engines: { node: '>=12' }
balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ resolution:
+ {
+ integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==,
+ }
benchmark@2.1.4:
- resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==}
-
- binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==,
+ }
brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ resolution:
+ {
+ integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==,
+ }
brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
-
- braces@3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==,
+ }
buffer-from@1.1.2:
- resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
-
- builtin-modules@3.3.0:
- resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
- engines: {node: '>=6'}
-
- bumpp@9.4.1:
- resolution: {integrity: sha512-kzhp/LpNX0HkUpEyLd7sU2LTN/mbAVgcxJ1Zi2cAJTE/tul6rypSKGpH8UywDpzKWItL8LVdKsIFnwmylw0+7g==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==,
+ }
+
+ bumpp@9.9.1:
+ resolution:
+ {
+ integrity: sha512-M2CnokltfM7kLpYigS9PTAljG5pKng2MBTVpjCIXD+StNvhc+pnO+SYVnQDGjEVXD1fw2/Ofrf7wH45fxovoPg==,
+ }
+ engines: { node: '>=10' }
hasBin: true
- c12@1.10.0:
- resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==}
+ c12@2.0.1:
+ resolution:
+ {
+ integrity: sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==,
+ }
+ peerDependencies:
+ magicast: ^0.3.5
+ peerDependenciesMeta:
+ magicast:
+ optional: true
cac@6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
-
- call-me-maybe@1.0.2:
- resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
+ resolution:
+ {
+ integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==,
+ }
+ engines: { node: '>=8' }
callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==,
+ }
+ engines: { node: '>=6' }
camelcase-keys@6.2.2:
- resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==,
+ }
+ engines: { node: '>=8' }
camelcase@5.3.1:
- resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==,
+ }
+ engines: { node: '>=6' }
chai@5.1.2:
- resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==,
+ }
+ engines: { node: '>=12' }
chalk@2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==,
+ }
+ engines: { node: '>=4' }
chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==,
+ }
+ engines: { node: '>=10' }
check-error@2.1.1:
- resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
- engines: {node: '>= 16'}
-
- chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
+ resolution:
+ {
+ integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==,
+ }
+ engines: { node: '>= 16' }
+
+ chokidar@4.0.1:
+ resolution:
+ {
+ integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==,
+ }
+ engines: { node: '>= 14.16.0' }
chownr@2.0.0:
- resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==,
+ }
+ engines: { node: '>=10' }
citty@0.1.6:
- resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
+ resolution:
+ {
+ integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==,
+ }
cliui@7.0.4:
- resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+ resolution:
+ {
+ integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==,
+ }
color-convert@1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ resolution:
+ {
+ integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==,
+ }
color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
+ resolution:
+ {
+ integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==,
+ }
+ engines: { node: '>=7.0.0' }
color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+ resolution:
+ {
+ integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==,
+ }
color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ resolution:
+ {
+ integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==,
+ }
compare-func@2.0.0:
- resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
+ resolution:
+ {
+ integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==,
+ }
concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ resolution:
+ {
+ integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==,
+ }
- confbox@0.1.6:
- resolution: {integrity: sha512-ONc4FUXne/1UBN1EuxvQ5rAjjAbo+N4IxrxWI8bzGHbd1PyrFlI/E3G23/yoJZDFBaFFxPGfI0EOq0fa4dgX7A==}
+ confbox@0.1.8:
+ resolution:
+ {
+ integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==,
+ }
consola@3.2.3:
- resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
- engines: {node: ^14.18.0 || >=16.10.0}
+ resolution:
+ {
+ integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==,
+ }
+ engines: { node: ^14.18.0 || >=16.10.0 }
conventional-changelog-angular@6.0.0:
- resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==,
+ }
+ engines: { node: '>=14' }
conventional-changelog-atom@3.0.0:
- resolution: {integrity: sha512-pnN5bWpH+iTUWU3FaYdw5lJmfWeqSyrUkG+wyHBI9tC1dLNnHkbAOg1SzTQ7zBqiFrfo55h40VsGXWMdopwc5g==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-pnN5bWpH+iTUWU3FaYdw5lJmfWeqSyrUkG+wyHBI9tC1dLNnHkbAOg1SzTQ7zBqiFrfo55h40VsGXWMdopwc5g==,
+ }
+ engines: { node: '>=14' }
conventional-changelog-cli@3.0.0:
- resolution: {integrity: sha512-3zMYi0IrfNd6AAHdPMrcgCg5DbcffiqNaEBf8cYrlntXPbBIXaELTbnRmUy5TQAe0Hkgi0J6+/VmRCkkJQflcQ==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-3zMYi0IrfNd6AAHdPMrcgCg5DbcffiqNaEBf8cYrlntXPbBIXaELTbnRmUy5TQAe0Hkgi0J6+/VmRCkkJQflcQ==,
+ }
+ engines: { node: '>=14' }
hasBin: true
conventional-changelog-codemirror@3.0.0:
- resolution: {integrity: sha512-wzchZt9HEaAZrenZAUUHMCFcuYzGoZ1wG/kTRMICxsnW5AXohYMRxnyecP9ob42Gvn5TilhC0q66AtTPRSNMfw==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-wzchZt9HEaAZrenZAUUHMCFcuYzGoZ1wG/kTRMICxsnW5AXohYMRxnyecP9ob42Gvn5TilhC0q66AtTPRSNMfw==,
+ }
+ engines: { node: '>=14' }
conventional-changelog-conventionalcommits@6.1.0:
- resolution: {integrity: sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==,
+ }
+ engines: { node: '>=14' }
conventional-changelog-core@5.0.2:
- resolution: {integrity: sha512-RhQOcDweXNWvlRwUDCpaqXzbZemKPKncCWZG50Alth72WITVd6nhVk9MJ6w1k9PFNBcZ3YwkdkChE+8+ZwtUug==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-RhQOcDweXNWvlRwUDCpaqXzbZemKPKncCWZG50Alth72WITVd6nhVk9MJ6w1k9PFNBcZ3YwkdkChE+8+ZwtUug==,
+ }
+ engines: { node: '>=14' }
conventional-changelog-ember@3.0.0:
- resolution: {integrity: sha512-7PYthCoSxIS98vWhVcSphMYM322OxptpKAuHYdVspryI0ooLDehRXWeRWgN+zWSBXKl/pwdgAg8IpLNSM1/61A==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-7PYthCoSxIS98vWhVcSphMYM322OxptpKAuHYdVspryI0ooLDehRXWeRWgN+zWSBXKl/pwdgAg8IpLNSM1/61A==,
+ }
+ engines: { node: '>=14' }
conventional-changelog-eslint@4.0.0:
- resolution: {integrity: sha512-nEZ9byP89hIU0dMx37JXQkE1IpMmqKtsaR24X7aM3L6Yy/uAtbb+ogqthuNYJkeO1HyvK7JsX84z8649hvp43Q==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-nEZ9byP89hIU0dMx37JXQkE1IpMmqKtsaR24X7aM3L6Yy/uAtbb+ogqthuNYJkeO1HyvK7JsX84z8649hvp43Q==,
+ }
+ engines: { node: '>=14' }
conventional-changelog-express@3.0.0:
- resolution: {integrity: sha512-HqxihpUMfIuxvlPvC6HltA4ZktQEUan/v3XQ77+/zbu8No/fqK3rxSZaYeHYant7zRxQNIIli7S+qLS9tX9zQA==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-HqxihpUMfIuxvlPvC6HltA4ZktQEUan/v3XQ77+/zbu8No/fqK3rxSZaYeHYant7zRxQNIIli7S+qLS9tX9zQA==,
+ }
+ engines: { node: '>=14' }
conventional-changelog-jquery@4.0.0:
- resolution: {integrity: sha512-TTIN5CyzRMf8PUwyy4IOLmLV2DFmPtasKN+x7EQKzwSX8086XYwo+NeaeA3VUT8bvKaIy5z/JoWUvi7huUOgaw==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-TTIN5CyzRMf8PUwyy4IOLmLV2DFmPtasKN+x7EQKzwSX8086XYwo+NeaeA3VUT8bvKaIy5z/JoWUvi7huUOgaw==,
+ }
+ engines: { node: '>=14' }
conventional-changelog-jshint@3.0.0:
- resolution: {integrity: sha512-bQof4byF4q+n+dwFRkJ/jGf9dCNUv4/kCDcjeCizBvfF81TeimPZBB6fT4HYbXgxxfxWXNl/i+J6T0nI4by6DA==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-bQof4byF4q+n+dwFRkJ/jGf9dCNUv4/kCDcjeCizBvfF81TeimPZBB6fT4HYbXgxxfxWXNl/i+J6T0nI4by6DA==,
+ }
+ engines: { node: '>=14' }
conventional-changelog-preset-loader@3.0.0:
- resolution: {integrity: sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA==,
+ }
+ engines: { node: '>=14' }
conventional-changelog-writer@6.0.1:
- resolution: {integrity: sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ==,
+ }
+ engines: { node: '>=14' }
hasBin: true
conventional-changelog@4.0.0:
- resolution: {integrity: sha512-JbZjwE1PzxQCvm+HUTIr+pbSekS8qdOZzMakdFyPtdkEWwFvwEJYONzjgMm0txCb2yBcIcfKDmg8xtCKTdecNQ==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-JbZjwE1PzxQCvm+HUTIr+pbSekS8qdOZzMakdFyPtdkEWwFvwEJYONzjgMm0txCb2yBcIcfKDmg8xtCKTdecNQ==,
+ }
+ engines: { node: '>=14' }
conventional-commits-filter@3.0.0:
- resolution: {integrity: sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==,
+ }
+ engines: { node: '>=14' }
conventional-commits-parser@4.0.0:
- resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==,
+ }
+ engines: { node: '>=14' }
hasBin: true
core-util-is@1.0.3:
- resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+ resolution:
+ {
+ integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==,
+ }
cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==,
+ }
+ engines: { node: '>= 8' }
+
+ cross-spawn@7.0.6:
+ resolution:
+ {
+ integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==,
+ }
+ engines: { node: '>= 8' }
dargs@7.0.0:
- resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==,
+ }
+ engines: { node: '>=8' }
dateformat@3.0.3:
- resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==}
+ resolution:
+ {
+ integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==,
+ }
debug@4.3.7:
- resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
- engines: {node: '>=6.0'}
+ resolution:
+ {
+ integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==,
+ }
+ engines: { node: '>=6.0' }
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
@@ -671,1011 +1077,1708 @@ packages:
optional: true
decamelize-keys@1.1.1:
- resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==,
+ }
+ engines: { node: '>=0.10.0' }
decamelize@1.2.0:
- resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==,
+ }
+ engines: { node: '>=0.10.0' }
deep-eql@5.0.2:
- resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==,
+ }
+ engines: { node: '>=6' }
deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ resolution:
+ {
+ integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==,
+ }
deepmerge@4.3.1:
- resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==,
+ }
+ engines: { node: '>=0.10.0' }
defu@6.1.4:
- resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+ resolution:
+ {
+ integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==,
+ }
destr@2.0.3:
- resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
-
- doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
+ resolution:
+ {
+ integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==,
+ }
dot-prop@5.3.0:
- resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==,
+ }
+ engines: { node: '>=8' }
dotenv@16.4.5:
- resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==,
+ }
+ engines: { node: '>=12' }
emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ resolution:
+ {
+ integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==,
+ }
error-ex@1.3.2:
- resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ resolution:
+ {
+ integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==,
+ }
es-module-lexer@1.5.4:
- resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
+ resolution:
+ {
+ integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==,
+ }
esbuild@0.21.5:
- resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==,
+ }
+ engines: { node: '>=12' }
hasBin: true
escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==,
+ }
+ engines: { node: '>=6' }
+
+ escalade@3.2.0:
+ resolution:
+ {
+ integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==,
+ }
+ engines: { node: '>=6' }
escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
+ resolution:
+ {
+ integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==,
+ }
+ engines: { node: '>=0.8.0' }
escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
-
- eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==,
+ }
+ engines: { node: '>=10' }
+
+ eslint-scope@8.2.0:
+ resolution:
+ {
+ integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- eslint@8.57.0:
- resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
+ resolution:
+ {
+ integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+
+ eslint-visitor-keys@4.2.0:
+ resolution:
+ {
+ integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+ eslint@9.16.0:
+ resolution:
+ {
+ integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
hasBin: true
+ peerDependencies:
+ jiti: '*'
+ peerDependenciesMeta:
+ jiti:
+ optional: true
- espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ espree@10.3.0:
+ resolution:
+ {
+ integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
esquery@1.5.0:
- resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
- engines: {node: '>=0.10'}
+ resolution:
+ {
+ integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==,
+ }
+ engines: { node: '>=0.10' }
esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
+ resolution:
+ {
+ integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==,
+ }
+ engines: { node: '>=4.0' }
estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
+ resolution:
+ {
+ integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==,
+ }
+ engines: { node: '>=4.0' }
estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ resolution:
+ {
+ integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==,
+ }
estree-walker@3.0.3:
- resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+ resolution:
+ {
+ integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==,
+ }
esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==,
+ }
+ engines: { node: '>=0.10.0' }
execa@8.0.1:
- resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
- engines: {node: '>=16.17'}
+ resolution:
+ {
+ integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==,
+ }
+ engines: { node: '>=16.17' }
expect-type@1.1.0:
- resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==}
- engines: {node: '>=12.0.0'}
+ resolution:
+ {
+ integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==,
+ }
+ engines: { node: '>=12.0.0' }
fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
-
- fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
+ resolution:
+ {
+ integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==,
+ }
fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ resolution:
+ {
+ integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==,
+ }
fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
-
- fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
-
- file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ resolution:
+ {
+ integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==,
+ }
+
+ fdir@6.4.2:
+ resolution:
+ {
+ integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==,
+ }
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
- fill-range@7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
- engines: {node: '>=8'}
+ file-entry-cache@8.0.0:
+ resolution:
+ {
+ integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==,
+ }
+ engines: { node: '>=16.0.0' }
find-up@2.1.0:
- resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==,
+ }
+ engines: { node: '>=4' }
find-up@4.1.0:
- resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==,
+ }
+ engines: { node: '>=8' }
find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
-
- flat-cache@3.2.0:
- resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ resolution:
+ {
+ integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==,
+ }
+ engines: { node: '>=10' }
+
+ flat-cache@4.0.1:
+ resolution:
+ {
+ integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==,
+ }
+ engines: { node: '>=16' }
flatted@3.3.1:
- resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ resolution:
+ {
+ integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==,
+ }
fs-minipass@2.1.0:
- resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==,
+ }
+ engines: { node: '>= 8' }
fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ resolution:
+ {
+ integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==,
+ }
fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ resolution:
+ {
+ integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==,
+ }
+ engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
os: [darwin]
function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ resolution:
+ {
+ integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==,
+ }
get-caller-file@2.0.5:
- resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
- engines: {node: 6.* || 8.* || >= 10.*}
+ resolution:
+ {
+ integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==,
+ }
+ engines: { node: 6.* || 8.* || >= 10.* }
get-pkg-repo@4.2.1:
- resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==,
+ }
+ engines: { node: '>=6.9.0' }
hasBin: true
get-stream@8.0.1:
- resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
- engines: {node: '>=16'}
+ resolution:
+ {
+ integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==,
+ }
+ engines: { node: '>=16' }
giget@1.2.3:
- resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==}
+ resolution:
+ {
+ integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==,
+ }
hasBin: true
git-raw-commits@3.0.0:
- resolution: {integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==,
+ }
+ engines: { node: '>=14' }
hasBin: true
git-remote-origin-url@2.0.0:
- resolution: {integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==,
+ }
+ engines: { node: '>=4' }
git-semver-tags@5.0.1:
- resolution: {integrity: sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA==,
+ }
+ engines: { node: '>=14' }
hasBin: true
gitconfiglocal@1.0.0:
- resolution: {integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==}
-
- glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
+ resolution:
+ {
+ integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==,
+ }
glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
-
- glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- deprecated: Glob versions prior to v9 are no longer supported
+ resolution:
+ {
+ integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==,
+ }
+ engines: { node: '>=10.13.0' }
glob@8.1.0:
- resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==,
+ }
+ engines: { node: '>=12' }
deprecated: Glob versions prior to v9 are no longer supported
- globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
+ globals@14.0.0:
+ resolution:
+ {
+ integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==,
+ }
+ engines: { node: '>=18' }
graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
-
- graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ resolution:
+ {
+ integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==,
+ }
handlebars@4.7.8:
- resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
- engines: {node: '>=0.4.7'}
+ resolution:
+ {
+ integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==,
+ }
+ engines: { node: '>=0.4.7' }
hasBin: true
hard-rejection@2.1.0:
- resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==,
+ }
+ engines: { node: '>=6' }
has-flag@3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==,
+ }
+ engines: { node: '>=4' }
has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==,
+ }
+ engines: { node: '>=8' }
hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==,
+ }
+ engines: { node: '>= 0.4' }
hosted-git-info@2.8.9:
- resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+ resolution:
+ {
+ integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==,
+ }
hosted-git-info@4.1.0:
- resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==,
+ }
+ engines: { node: '>=10' }
human-signals@5.0.0:
- resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
- engines: {node: '>=16.17.0'}
+ resolution:
+ {
+ integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==,
+ }
+ engines: { node: '>=16.17.0' }
ignore-walk@5.0.1:
- resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==,
+ }
+ engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 }
ignore@5.3.1:
- resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
- engines: {node: '>= 4'}
+ resolution:
+ {
+ integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==,
+ }
+ engines: { node: '>= 4' }
import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==,
+ }
+ engines: { node: '>=6' }
imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
+ resolution:
+ {
+ integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==,
+ }
+ engines: { node: '>=0.8.19' }
indent-string@4.0.0:
- resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==,
+ }
+ engines: { node: '>=8' }
inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ resolution:
+ {
+ integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==,
+ }
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ resolution:
+ {
+ integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==,
+ }
ini@1.3.8:
- resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+ resolution:
+ {
+ integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==,
+ }
is-arrayish@0.2.1:
- resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
-
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
-
- is-builtin-module@3.2.1:
- resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==,
+ }
is-core-module@2.13.1:
- resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ resolution:
+ {
+ integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==,
+ }
is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==,
+ }
+ engines: { node: '>=0.10.0' }
is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==,
+ }
+ engines: { node: '>=8' }
is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==,
+ }
+ engines: { node: '>=0.10.0' }
is-module@1.0.0:
- resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
-
- is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
+ resolution:
+ {
+ integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==,
+ }
is-obj@2.0.0:
- resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
- engines: {node: '>=8'}
-
- is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==,
+ }
+ engines: { node: '>=8' }
is-plain-obj@1.1.0:
- resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==,
+ }
+ engines: { node: '>=0.10.0' }
is-stream@3.0.0:
- resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
is-text-path@1.0.1:
- resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==,
+ }
+ engines: { node: '>=0.10.0' }
isarray@1.0.0:
- resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+ resolution:
+ {
+ integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==,
+ }
isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
-
- jiti@1.21.0:
- resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
+ resolution:
+ {
+ integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==,
+ }
+
+ jiti@2.4.1:
+ resolution:
+ {
+ integrity: sha512-yPBThwecp1wS9DmoA4x4KR2h3QoslacnDR8ypuFM962kI4/456Iy1oHx2RAgh4jfZNdn0bctsdadceiBUgpU1g==,
+ }
hasBin: true
js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ resolution:
+ {
+ integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==,
+ }
js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ resolution:
+ {
+ integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==,
+ }
hasBin: true
json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ resolution:
+ {
+ integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==,
+ }
json-parse-better-errors@1.0.2:
- resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
+ resolution:
+ {
+ integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==,
+ }
json-parse-even-better-errors@2.3.1:
- resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ resolution:
+ {
+ integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==,
+ }
json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ resolution:
+ {
+ integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==,
+ }
json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ resolution:
+ {
+ integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==,
+ }
json-stringify-safe@5.0.1:
- resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
+ resolution:
+ {
+ integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==,
+ }
- jsonc-parser@3.2.1:
- resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
+ jsonc-parser@3.3.1:
+ resolution:
+ {
+ integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==,
+ }
jsonparse@1.3.1:
- resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
- engines: {'0': node >= 0.2.0}
+ resolution:
+ {
+ integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==,
+ }
+ engines: { '0': node >= 0.2.0 }
keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ resolution:
+ {
+ integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==,
+ }
kind-of@6.0.3:
- resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==,
+ }
+ engines: { node: '>=0.10.0' }
kleur@3.0.3:
- resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==,
+ }
+ engines: { node: '>=6' }
levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
+ resolution:
+ {
+ integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==,
+ }
+ engines: { node: '>= 0.8.0' }
lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ resolution:
+ {
+ integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==,
+ }
load-json-file@4.0.0:
- resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==,
+ }
+ engines: { node: '>=4' }
locate-path@2.0.0:
- resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==,
+ }
+ engines: { node: '>=4' }
locate-path@5.0.0:
- resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==,
+ }
+ engines: { node: '>=8' }
locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==,
+ }
+ engines: { node: '>=10' }
lodash.ismatch@4.4.0:
- resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==}
+ resolution:
+ {
+ integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==,
+ }
lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ resolution:
+ {
+ integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==,
+ }
lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ resolution:
+ {
+ integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==,
+ }
loupe@3.1.2:
- resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==}
+ resolution:
+ {
+ integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==,
+ }
lru-cache@6.0.0:
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==,
+ }
+ engines: { node: '>=10' }
magic-string@0.30.14:
- resolution: {integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==}
+ resolution:
+ {
+ integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==,
+ }
map-obj@1.0.1:
- resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==,
+ }
+ engines: { node: '>=0.10.0' }
map-obj@4.3.0:
- resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==,
+ }
+ engines: { node: '>=8' }
meow@8.1.2:
- resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==,
+ }
+ engines: { node: '>=10' }
merge-stream@2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
-
- merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
-
- micromatch@4.0.5:
- resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
- engines: {node: '>=8.6'}
+ resolution:
+ {
+ integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==,
+ }
mimic-fn@4.0.0:
- resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==,
+ }
+ engines: { node: '>=12' }
min-indent@1.0.1:
- resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==,
+ }
+ engines: { node: '>=4' }
minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ resolution:
+ {
+ integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==,
+ }
minimatch@5.1.6:
- resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==,
+ }
+ engines: { node: '>=10' }
minimist-options@4.1.0:
- resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
- engines: {node: '>= 6'}
+ resolution:
+ {
+ integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==,
+ }
+ engines: { node: '>= 6' }
minimist@1.2.8:
- resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ resolution:
+ {
+ integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==,
+ }
minipass@3.3.6:
- resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==,
+ }
+ engines: { node: '>=8' }
minipass@5.0.0:
- resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==,
+ }
+ engines: { node: '>=8' }
minizlib@2.1.2:
- resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==,
+ }
+ engines: { node: '>= 8' }
mkdirp@1.0.4:
- resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==,
+ }
+ engines: { node: '>=10' }
hasBin: true
- mlly@1.6.1:
- resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
+ mlly@1.7.3:
+ resolution:
+ {
+ integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==,
+ }
modify-values@1.0.1:
- resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==,
+ }
+ engines: { node: '>=0.10.0' }
mri@1.2.0:
- resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==,
+ }
+ engines: { node: '>=4' }
ms@2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ resolution:
+ {
+ integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==,
+ }
nanoid@3.3.8:
- resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ resolution:
+ {
+ integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==,
+ }
+ engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
hasBin: true
natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ resolution:
+ {
+ integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==,
+ }
neo-async@2.6.2:
- resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+ resolution:
+ {
+ integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==,
+ }
node-fetch-native@1.6.4:
- resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
+ resolution:
+ {
+ integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==,
+ }
normalize-package-data@2.5.0:
- resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+ resolution:
+ {
+ integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==,
+ }
normalize-package-data@3.0.3:
- resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
- engines: {node: '>=10'}
-
- normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==,
+ }
+ engines: { node: '>=10' }
npm-bundled@2.0.1:
- resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==,
+ }
+ engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 }
npm-normalize-package-bin@2.0.0:
- resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==,
+ }
+ engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 }
npm-packlist@5.1.3:
- resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==,
+ }
+ engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 }
hasBin: true
npm-run-path@5.3.0:
- resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
nypm@0.3.8:
- resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==}
- engines: {node: ^14.16.0 || >=16.10.0}
+ resolution:
+ {
+ integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==,
+ }
+ engines: { node: ^14.16.0 || >=16.10.0 }
hasBin: true
- ohash@1.1.3:
- resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==}
+ ohash@1.1.4:
+ resolution:
+ {
+ integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==,
+ }
once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ resolution:
+ {
+ integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==,
+ }
onetime@6.0.0:
- resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==,
+ }
+ engines: { node: '>=12' }
optionator@0.9.3:
- resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
- engines: {node: '>= 0.8.0'}
+ resolution:
+ {
+ integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==,
+ }
+ engines: { node: '>= 0.8.0' }
p-limit@1.3.0:
- resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==,
+ }
+ engines: { node: '>=4' }
p-limit@2.3.0:
- resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==,
+ }
+ engines: { node: '>=6' }
p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==,
+ }
+ engines: { node: '>=10' }
p-locate@2.0.0:
- resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==,
+ }
+ engines: { node: '>=4' }
p-locate@4.1.0:
- resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==,
+ }
+ engines: { node: '>=8' }
p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==,
+ }
+ engines: { node: '>=10' }
p-try@1.0.0:
- resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==,
+ }
+ engines: { node: '>=4' }
p-try@2.2.0:
- resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==,
+ }
+ engines: { node: '>=6' }
parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==,
+ }
+ engines: { node: '>=6' }
parse-json@4.0.0:
- resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==,
+ }
+ engines: { node: '>=4' }
parse-json@5.2.0:
- resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==,
+ }
+ engines: { node: '>=8' }
path-exists@3.0.0:
- resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==,
+ }
+ engines: { node: '>=4' }
path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
-
- path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==,
+ }
+ engines: { node: '>=8' }
path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==,
+ }
+ engines: { node: '>=8' }
path-key@4.0.0:
- resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==,
+ }
+ engines: { node: '>=12' }
path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ resolution:
+ {
+ integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==,
+ }
path-type@3.0.0:
- resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==,
+ }
+ engines: { node: '>=4' }
pathe@1.1.2:
- resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+ resolution:
+ {
+ integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==,
+ }
pathval@2.0.0:
- resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
- engines: {node: '>= 14.16'}
+ resolution:
+ {
+ integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==,
+ }
+ engines: { node: '>= 14.16' }
perfect-debounce@1.0.0:
- resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+ resolution:
+ {
+ integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==,
+ }
picocolors@1.1.1:
- resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+ resolution:
+ {
+ integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==,
+ }
picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
+ resolution:
+ {
+ integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==,
+ }
+ engines: { node: '>=8.6' }
+
+ picomatch@4.0.2:
+ resolution:
+ {
+ integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==,
+ }
+ engines: { node: '>=12' }
pify@2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==,
+ }
+ engines: { node: '>=0.10.0' }
pify@3.0.0:
- resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
- engines: {node: '>=4'}
-
- pkg-types@1.0.3:
- resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
+ resolution:
+ {
+ integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==,
+ }
+ engines: { node: '>=4' }
+
+ pkg-types@1.2.1:
+ resolution:
+ {
+ integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==,
+ }
platform@1.3.6:
- resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==}
+ resolution:
+ {
+ integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==,
+ }
postcss@8.4.49:
- resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
- engines: {node: ^10 || ^12 || >=14}
+ resolution:
+ {
+ integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==,
+ }
+ engines: { node: ^10 || ^12 || >=14 }
prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
-
- prettier@3.3.3:
- resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==,
+ }
+ engines: { node: '>= 0.8.0' }
+
+ prettier@3.4.2:
+ resolution:
+ {
+ integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==,
+ }
+ engines: { node: '>=14' }
hasBin: true
process-nextick-args@2.0.1:
- resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+ resolution:
+ {
+ integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==,
+ }
prompts@2.4.2:
- resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
- engines: {node: '>= 6'}
-
- publint@0.2.9:
- resolution: {integrity: sha512-nITKS1NSwD68PQlts0ntryhxrWObep6P0CCycwi1lgXI+K7uKyacMYRRCQi7hTae8imkI3FCi0FlgnwLxjM8yA==}
- engines: {node: '>=16'}
+ resolution:
+ {
+ integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==,
+ }
+ engines: { node: '>= 6' }
+
+ publint@0.2.12:
+ resolution:
+ {
+ integrity: sha512-YNeUtCVeM4j9nDiTT2OPczmlyzOkIXNtdDZnSuajAxS/nZ6j3t7Vs9SUB4euQNddiltIwu7Tdd3s+hr08fAsMw==,
+ }
+ engines: { node: '>=16' }
hasBin: true
punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
-
- queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ resolution:
+ {
+ integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==,
+ }
+ engines: { node: '>=6' }
quick-lru@4.0.1:
- resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==,
+ }
+ engines: { node: '>=8' }
rc9@2.1.2:
- resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==}
+ resolution:
+ {
+ integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==,
+ }
read-pkg-up@3.0.0:
- resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==,
+ }
+ engines: { node: '>=4' }
read-pkg-up@7.0.1:
- resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==,
+ }
+ engines: { node: '>=8' }
read-pkg@3.0.0:
- resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==,
+ }
+ engines: { node: '>=4' }
read-pkg@5.2.0:
- resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==,
+ }
+ engines: { node: '>=8' }
readable-stream@2.3.8:
- resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
+ resolution:
+ {
+ integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==,
+ }
readable-stream@3.6.2:
- resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
- engines: {node: '>= 6'}
-
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
+ resolution:
+ {
+ integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==,
+ }
+ engines: { node: '>= 6' }
+
+ readdirp@4.0.2:
+ resolution:
+ {
+ integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==,
+ }
+ engines: { node: '>= 14.16.0' }
redent@3.0.0:
- resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==,
+ }
+ engines: { node: '>=8' }
require-directory@2.1.1:
- resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==,
+ }
+ engines: { node: '>=0.10.0' }
resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==,
+ }
+ engines: { node: '>=4' }
resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
- hasBin: true
-
- reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
-
- rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- deprecated: Rimraf versions prior to v4 are no longer supported
+ resolution:
+ {
+ integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==,
+ }
hasBin: true
- rollup@3.29.4:
- resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
- engines: {node: '>=14.18.0', npm: '>=8.0.0'}
+ rollup@3.29.5:
+ resolution:
+ {
+ integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==,
+ }
+ engines: { node: '>=14.18.0', npm: '>=8.0.0' }
hasBin: true
rollup@4.28.0:
- resolution: {integrity: sha512-G9GOrmgWHBma4YfCcX8PjH0qhXSdH8B4HDE2o4/jaxj93S4DPCIDoLcXz99eWMji4hB29UFCEd7B2gwGJDR9cQ==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ resolution:
+ {
+ integrity: sha512-G9GOrmgWHBma4YfCcX8PjH0qhXSdH8B4HDE2o4/jaxj93S4DPCIDoLcXz99eWMji4hB29UFCEd7B2gwGJDR9cQ==,
+ }
+ engines: { node: '>=18.0.0', npm: '>=8.0.0' }
hasBin: true
- run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
-
sade@1.8.1:
- resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==,
+ }
+ engines: { node: '>=6' }
safe-buffer@5.1.2:
- resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+ resolution:
+ {
+ integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==,
+ }
safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ resolution:
+ {
+ integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==,
+ }
semver@5.7.2:
- resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
+ resolution:
+ {
+ integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==,
+ }
hasBin: true
semver@7.6.0:
- resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==,
+ }
+ engines: { node: '>=10' }
+ hasBin: true
+
+ semver@7.6.3:
+ resolution:
+ {
+ integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==,
+ }
+ engines: { node: '>=10' }
hasBin: true
shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==,
+ }
+ engines: { node: '>=8' }
shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==,
+ }
+ engines: { node: '>=8' }
siginfo@2.0.0:
- resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+ resolution:
+ {
+ integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==,
+ }
signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==,
+ }
+ engines: { node: '>=14' }
sisteransi@1.0.5:
- resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+ resolution:
+ {
+ integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==,
+ }
source-map-js@1.2.1:
- resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==,
+ }
+ engines: { node: '>=0.10.0' }
source-map-support@0.5.21:
- resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+ resolution:
+ {
+ integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==,
+ }
source-map@0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==,
+ }
+ engines: { node: '>=0.10.0' }
spdx-correct@3.2.0:
- resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+ resolution:
+ {
+ integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==,
+ }
spdx-exceptions@2.5.0:
- resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
+ resolution:
+ {
+ integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==,
+ }
spdx-expression-parse@3.0.1:
- resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+ resolution:
+ {
+ integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==,
+ }
spdx-license-ids@3.0.17:
- resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==}
+ resolution:
+ {
+ integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==,
+ }
split2@3.2.2:
- resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
+ resolution:
+ {
+ integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==,
+ }
split@1.0.1:
- resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==}
+ resolution:
+ {
+ integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==,
+ }
stackback@0.0.2:
- resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+ resolution:
+ {
+ integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==,
+ }
std-env@3.8.0:
- resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==}
-
- string-argv@0.3.2:
- resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
- engines: {node: '>=0.6.19'}
+ resolution:
+ {
+ integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==,
+ }
string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==,
+ }
+ engines: { node: '>=8' }
string_decoder@1.1.1:
- resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
+ resolution:
+ {
+ integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==,
+ }
string_decoder@1.3.0:
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+ resolution:
+ {
+ integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==,
+ }
strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==,
+ }
+ engines: { node: '>=8' }
strip-bom@3.0.0:
- resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==,
+ }
+ engines: { node: '>=4' }
strip-final-newline@3.0.0:
- resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==,
+ }
+ engines: { node: '>=12' }
strip-indent@3.0.0:
- resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==,
+ }
+ engines: { node: '>=8' }
strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==,
+ }
+ engines: { node: '>=8' }
supports-color@5.5.0:
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==,
+ }
+ engines: { node: '>=4' }
supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==,
+ }
+ engines: { node: '>=8' }
supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==,
+ }
+ engines: { node: '>= 0.4' }
tar@6.2.1:
- resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==,
+ }
+ engines: { node: '>=10' }
temp-dir@2.0.0:
- resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==,
+ }
+ engines: { node: '>=8' }
tempfile@3.0.0:
- resolution: {integrity: sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw==,
+ }
+ engines: { node: '>=8' }
text-extensions@1.9.0:
- resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==}
- engines: {node: '>=0.10'}
-
- text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+ resolution:
+ {
+ integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==,
+ }
+ engines: { node: '>=0.10' }
through2@2.0.5:
- resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
+ resolution:
+ {
+ integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==,
+ }
through@2.3.8:
- resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+ resolution:
+ {
+ integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==,
+ }
tinybench@2.9.0:
- resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+ resolution:
+ {
+ integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==,
+ }
tinyexec@0.3.1:
- resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==}
+ resolution:
+ {
+ integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==,
+ }
+
+ tinyglobby@0.2.10:
+ resolution:
+ {
+ integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==,
+ }
+ engines: { node: '>=12.0.0' }
tinypool@1.0.2:
- resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ resolution:
+ {
+ integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==,
+ }
+ engines: { node: ^18.0.0 || >=20.0.0 }
tinyrainbow@1.2.0:
- resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==,
+ }
+ engines: { node: '>=14.0.0' }
tinyspy@3.0.2:
- resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
- engines: {node: '>=14.0.0'}
-
- to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
+ resolution:
+ {
+ integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==,
+ }
+ engines: { node: '>=14.0.0' }
trim-newlines@3.0.1:
- resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==,
+ }
+ engines: { node: '>=8' }
type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
-
- type-detect@4.0.8:
- resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==,
+ }
+ engines: { node: '>= 0.8.0' }
type-fest@0.18.1:
- resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==}
- engines: {node: '>=10'}
-
- type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==,
+ }
+ engines: { node: '>=10' }
type-fest@0.6.0:
- resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==,
+ }
+ engines: { node: '>=8' }
type-fest@0.8.1:
- resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==,
+ }
+ engines: { node: '>=8' }
ufo@1.5.3:
- resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
+ resolution:
+ {
+ integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==,
+ }
+
+ ufo@1.5.4:
+ resolution:
+ {
+ integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==,
+ }
uglify-js@3.17.4:
- resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
- engines: {node: '>=0.8.0'}
+ resolution:
+ {
+ integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==,
+ }
+ engines: { node: '>=0.8.0' }
hasBin: true
uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ resolution:
+ {
+ integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==,
+ }
util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ resolution:
+ {
+ integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==,
+ }
uuid@3.4.0:
- resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
+ resolution:
+ {
+ integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==,
+ }
deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
hasBin: true
validate-npm-package-license@3.0.4:
- resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+ resolution:
+ {
+ integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==,
+ }
vite-node@2.1.8:
- resolution: {integrity: sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ resolution:
+ {
+ integrity: sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==,
+ }
+ engines: { node: ^18.0.0 || >=20.0.0 }
hasBin: true
vite@5.4.11:
- resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ resolution:
+ {
+ integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==,
+ }
+ engines: { node: ^18.0.0 || >=20.0.0 }
hasBin: true
peerDependencies:
'@types/node': ^18.0.0 || >=20.0.0
@@ -1705,8 +2808,11 @@ packages:
optional: true
vitest@2.1.8:
- resolution: {integrity: sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ resolution:
+ {
+ integrity: sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==,
+ }
+ engines: { node: ^18.0.0 || >=20.0.0 }
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
@@ -1730,50 +2836,82 @@ packages:
optional: true
which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==,
+ }
+ engines: { node: '>= 8' }
hasBin: true
why-is-node-running@2.3.0:
- resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==,
+ }
+ engines: { node: '>=8' }
hasBin: true
wordwrap@1.0.0:
- resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
+ resolution:
+ {
+ integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==,
+ }
wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==,
+ }
+ engines: { node: '>=10' }
wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ resolution:
+ {
+ integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==,
+ }
xtend@4.0.2:
- resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
- engines: {node: '>=0.4'}
+ resolution:
+ {
+ integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==,
+ }
+ engines: { node: '>=0.4' }
y18n@5.0.8:
- resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==,
+ }
+ engines: { node: '>=10' }
yallist@4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+ resolution:
+ {
+ integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==,
+ }
yargs-parser@20.2.9:
- resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==,
+ }
+ engines: { node: '>=10' }
yargs@16.2.0:
- resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==,
+ }
+ engines: { node: '>=10' }
yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==,
+ }
+ engines: { node: '>=10' }
snapshots:
-
'@aashutoshrathi/word-wrap@1.2.6': {}
'@babel/code-frame@7.24.2':
@@ -1859,89 +2997,88 @@ snapshots:
'@esbuild/win32-x64@0.21.5':
optional: true
- '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)':
+ '@eslint-community/eslint-utils@4.4.0(eslint@9.16.0(jiti@2.4.1))':
dependencies:
- eslint: 8.57.0
+ eslint: 9.16.0(jiti@2.4.1)
eslint-visitor-keys: 3.4.3
- '@eslint-community/regexpp@4.10.0': {}
+ '@eslint-community/regexpp@4.12.1': {}
- '@eslint/eslintrc@2.1.4':
+ '@eslint/config-array@0.19.1':
dependencies:
- ajv: 6.12.6
+ '@eslint/object-schema': 2.1.5
debug: 4.3.7
- espree: 9.6.1
- globals: 13.24.0
- ignore: 5.3.1
- import-fresh: 3.3.0
- js-yaml: 4.1.0
minimatch: 3.1.2
- strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
- '@eslint/js@8.57.0': {}
+ '@eslint/core@0.9.1':
+ dependencies:
+ '@types/json-schema': 7.0.15
- '@humanwhocodes/config-array@0.11.14':
+ '@eslint/eslintrc@3.2.0':
dependencies:
- '@humanwhocodes/object-schema': 2.0.3
+ ajv: 6.12.6
debug: 4.3.7
+ espree: 10.3.0
+ globals: 14.0.0
+ ignore: 5.3.1
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
minimatch: 3.1.2
+ strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
- '@humanwhocodes/module-importer@1.0.1': {}
+ '@eslint/js@9.16.0': {}
- '@humanwhocodes/object-schema@2.0.3': {}
+ '@eslint/object-schema@2.1.5': {}
- '@hutson/parse-repository-url@3.0.2': {}
+ '@eslint/plugin-kit@0.2.4':
+ dependencies:
+ levn: 0.4.1
- '@jridgewell/sourcemap-codec@1.5.0': {}
+ '@humanfs/core@0.19.1': {}
- '@jsdevtools/ez-spawn@3.0.4':
+ '@humanfs/node@0.16.6':
dependencies:
- call-me-maybe: 1.0.2
- cross-spawn: 7.0.3
- string-argv: 0.3.2
- type-detect: 4.0.8
+ '@humanfs/core': 0.19.1
+ '@humanwhocodes/retry': 0.3.1
- '@nodelib/fs.scandir@2.1.5':
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
+ '@humanwhocodes/module-importer@1.0.1': {}
- '@nodelib/fs.stat@2.0.5': {}
+ '@humanwhocodes/retry@0.3.1': {}
- '@nodelib/fs.walk@1.2.8':
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
+ '@humanwhocodes/retry@0.4.1': {}
+
+ '@hutson/parse-repository-url@3.0.2': {}
+
+ '@jridgewell/sourcemap-codec@1.5.0': {}
- '@rollup/plugin-node-resolve@15.2.3(rollup@3.29.4)':
+ '@rollup/plugin-node-resolve@15.3.0(rollup@3.29.5)':
dependencies:
- '@rollup/pluginutils': 5.1.0(rollup@3.29.4)
+ '@rollup/pluginutils': 5.1.0(rollup@3.29.5)
'@types/resolve': 1.20.2
deepmerge: 4.3.1
- is-builtin-module: 3.2.1
is-module: 1.0.0
resolve: 1.22.8
optionalDependencies:
- rollup: 3.29.4
+ rollup: 3.29.5
- '@rollup/plugin-replace@5.0.7(rollup@3.29.4)':
+ '@rollup/plugin-replace@5.0.7(rollup@3.29.5)':
dependencies:
- '@rollup/pluginutils': 5.1.0(rollup@3.29.4)
+ '@rollup/pluginutils': 5.1.0(rollup@3.29.5)
magic-string: 0.30.14
optionalDependencies:
- rollup: 3.29.4
+ rollup: 3.29.5
- '@rollup/pluginutils@5.1.0(rollup@3.29.4)':
+ '@rollup/pluginutils@5.1.0(rollup@3.29.5)':
dependencies:
'@types/estree': 1.0.6
estree-walker: 2.0.2
picomatch: 2.3.1
optionalDependencies:
- rollup: 3.29.4
+ rollup: 3.29.5
'@rollup/rollup-android-arm-eabi@4.28.0':
optional: true
@@ -1999,14 +3136,14 @@ snapshots:
'@types/estree@1.0.6': {}
+ '@types/json-schema@7.0.15': {}
+
'@types/minimist@1.2.5': {}
'@types/normalize-package-data@2.4.4': {}
'@types/resolve@1.20.2': {}
- '@ungap/structured-clone@1.2.0': {}
-
'@vitest/expect@2.1.8':
dependencies:
'@vitest/spy': 2.1.8
@@ -2052,11 +3189,11 @@ snapshots:
jsonparse: 1.3.1
through: 2.3.8
- acorn-jsx@5.3.2(acorn@8.11.3):
+ acorn-jsx@5.3.2(acorn@8.14.0):
dependencies:
- acorn: 8.11.3
+ acorn: 8.14.0
- acorn@8.11.3: {}
+ acorn@8.14.0: {}
add-stream@1.0.0: {}
@@ -2077,11 +3214,6 @@ snapshots:
dependencies:
color-convert: 2.0.1
- anymatch@3.1.3:
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
-
argparse@2.0.1: {}
array-ify@1.0.0: {}
@@ -2097,8 +3229,6 @@ snapshots:
lodash: 4.17.21
platform: 1.3.6
- binary-extensions@2.3.0: {}
-
brace-expansion@1.1.11:
dependencies:
balanced-match: 1.0.2
@@ -2108,44 +3238,39 @@ snapshots:
dependencies:
balanced-match: 1.0.2
- braces@3.0.2:
- dependencies:
- fill-range: 7.0.1
-
buffer-from@1.1.2: {}
- builtin-modules@3.3.0: {}
-
- bumpp@9.4.1:
+ bumpp@9.9.1:
dependencies:
- '@jsdevtools/ez-spawn': 3.0.4
- c12: 1.10.0
+ c12: 2.0.1
cac: 6.7.14
- escalade: 3.1.2
- fast-glob: 3.3.2
+ escalade: 3.2.0
js-yaml: 4.1.0
+ jsonc-parser: 3.3.1
prompts: 2.4.2
- semver: 7.6.0
+ semver: 7.6.3
+ tinyexec: 0.3.1
+ tinyglobby: 0.2.10
+ transitivePeerDependencies:
+ - magicast
- c12@1.10.0:
+ c12@2.0.1:
dependencies:
- chokidar: 3.6.0
- confbox: 0.1.6
+ chokidar: 4.0.1
+ confbox: 0.1.8
defu: 6.1.4
dotenv: 16.4.5
giget: 1.2.3
- jiti: 1.21.0
- mlly: 1.6.1
- ohash: 1.1.3
+ jiti: 2.4.1
+ mlly: 1.7.3
+ ohash: 1.1.4
pathe: 1.1.2
perfect-debounce: 1.0.0
- pkg-types: 1.0.3
+ pkg-types: 1.2.1
rc9: 2.1.2
cac@6.7.14: {}
- call-me-maybe@1.0.2: {}
-
callsites@3.1.0: {}
camelcase-keys@6.2.2:
@@ -2177,17 +3302,9 @@ snapshots:
check-error@2.1.1: {}
- chokidar@3.6.0:
+ chokidar@4.0.1:
dependencies:
- anymatch: 3.1.3
- braces: 3.0.2
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
+ readdirp: 4.0.2
chownr@2.0.0: {}
@@ -2220,7 +3337,7 @@ snapshots:
concat-map@0.0.1: {}
- confbox@0.1.6: {}
+ confbox@0.1.8: {}
consola@3.2.3: {}
@@ -2315,6 +3432,12 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
+ cross-spawn@7.0.6:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
dargs@7.0.0: {}
dateformat@3.0.3: {}
@@ -2340,10 +3463,6 @@ snapshots:
destr@2.0.3: {}
- doctrine@3.0.0:
- dependencies:
- esutils: 2.0.3
-
dot-prop@5.3.0:
dependencies:
is-obj: 2.0.0
@@ -2386,65 +3505,67 @@ snapshots:
escalade@3.1.2: {}
+ escalade@3.2.0: {}
+
escape-string-regexp@1.0.5: {}
escape-string-regexp@4.0.0: {}
- eslint-scope@7.2.2:
+ eslint-scope@8.2.0:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
eslint-visitor-keys@3.4.3: {}
- eslint@8.57.0:
+ eslint-visitor-keys@4.2.0: {}
+
+ eslint@9.16.0(jiti@2.4.1):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
- '@eslint-community/regexpp': 4.10.0
- '@eslint/eslintrc': 2.1.4
- '@eslint/js': 8.57.0
- '@humanwhocodes/config-array': 0.11.14
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.16.0(jiti@2.4.1))
+ '@eslint-community/regexpp': 4.12.1
+ '@eslint/config-array': 0.19.1
+ '@eslint/core': 0.9.1
+ '@eslint/eslintrc': 3.2.0
+ '@eslint/js': 9.16.0
+ '@eslint/plugin-kit': 0.2.4
+ '@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1
- '@nodelib/fs.walk': 1.2.8
- '@ungap/structured-clone': 1.2.0
+ '@humanwhocodes/retry': 0.4.1
+ '@types/estree': 1.0.6
+ '@types/json-schema': 7.0.15
ajv: 6.12.6
chalk: 4.1.2
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
debug: 4.3.7
- doctrine: 3.0.0
escape-string-regexp: 4.0.0
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
+ eslint-scope: 8.2.0
+ eslint-visitor-keys: 4.2.0
+ espree: 10.3.0
esquery: 1.5.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
- file-entry-cache: 6.0.1
+ file-entry-cache: 8.0.0
find-up: 5.0.0
glob-parent: 6.0.2
- globals: 13.24.0
- graphemer: 1.4.0
ignore: 5.3.1
imurmurhash: 0.1.4
is-glob: 4.0.3
- is-path-inside: 3.0.3
- js-yaml: 4.1.0
json-stable-stringify-without-jsonify: 1.0.1
- levn: 0.4.1
lodash.merge: 4.6.2
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.3
- strip-ansi: 6.0.1
- text-table: 0.2.0
+ optionalDependencies:
+ jiti: 2.4.1
transitivePeerDependencies:
- supports-color
- espree@9.6.1:
+ espree@10.3.0:
dependencies:
- acorn: 8.11.3
- acorn-jsx: 5.3.2(acorn@8.11.3)
- eslint-visitor-keys: 3.4.3
+ acorn: 8.14.0
+ acorn-jsx: 5.3.2(acorn@8.14.0)
+ eslint-visitor-keys: 4.2.0
esquery@1.5.0:
dependencies:
@@ -2480,29 +3601,17 @@ snapshots:
fast-deep-equal@3.1.3: {}
- fast-glob@3.3.2:
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.5
-
fast-json-stable-stringify@2.1.0: {}
fast-levenshtein@2.0.6: {}
- fastq@1.17.1:
- dependencies:
- reusify: 1.0.4
-
- file-entry-cache@6.0.1:
- dependencies:
- flat-cache: 3.2.0
+ fdir@6.4.2(picomatch@4.0.2):
+ optionalDependencies:
+ picomatch: 4.0.2
- fill-range@7.0.1:
+ file-entry-cache@8.0.0:
dependencies:
- to-regex-range: 5.0.1
+ flat-cache: 4.0.1
find-up@2.1.0:
dependencies:
@@ -2518,11 +3627,10 @@ snapshots:
locate-path: 6.0.0
path-exists: 4.0.0
- flat-cache@3.2.0:
+ flat-cache@4.0.1:
dependencies:
flatted: 3.3.1
keyv: 4.5.4
- rimraf: 3.0.2
flatted@3.3.1: {}
@@ -2555,7 +3663,7 @@ snapshots:
defu: 6.1.4
node-fetch-native: 1.6.4
nypm: 0.3.8
- ohash: 1.1.3
+ ohash: 1.1.4
pathe: 1.1.2
tar: 6.2.1
@@ -2579,23 +3687,10 @@ snapshots:
dependencies:
ini: 1.3.8
- glob-parent@5.1.2:
- dependencies:
- is-glob: 4.0.3
-
glob-parent@6.0.2:
dependencies:
is-glob: 4.0.3
- glob@7.2.3:
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
-
glob@8.1.0:
dependencies:
fs.realpath: 1.0.0
@@ -2604,14 +3699,10 @@ snapshots:
minimatch: 5.1.6
once: 1.4.0
- globals@13.24.0:
- dependencies:
- type-fest: 0.20.2
+ globals@14.0.0: {}
graceful-fs@4.2.11: {}
- graphemer@1.4.0: {}
-
handlebars@4.7.8:
dependencies:
minimist: 1.2.8
@@ -2665,14 +3756,6 @@ snapshots:
is-arrayish@0.2.1: {}
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.3.0
-
- is-builtin-module@3.2.1:
- dependencies:
- builtin-modules: 3.3.0
-
is-core-module@2.13.1:
dependencies:
hasown: 2.0.2
@@ -2687,12 +3770,8 @@ snapshots:
is-module@1.0.0: {}
- is-number@7.0.0: {}
-
is-obj@2.0.0: {}
- is-path-inside@3.0.3: {}
-
is-plain-obj@1.1.0: {}
is-stream@3.0.0: {}
@@ -2705,7 +3784,7 @@ snapshots:
isexe@2.0.0: {}
- jiti@1.21.0: {}
+ jiti@2.4.1: {}
js-tokens@4.0.0: {}
@@ -2725,7 +3804,7 @@ snapshots:
json-stringify-safe@5.0.1: {}
- jsonc-parser@3.2.1: {}
+ jsonc-parser@3.3.1: {}
jsonparse@1.3.1: {}
@@ -2800,13 +3879,6 @@ snapshots:
merge-stream@2.0.0: {}
- merge2@1.4.1: {}
-
- micromatch@4.0.5:
- dependencies:
- braces: 3.0.2
- picomatch: 2.3.1
-
mimic-fn@4.0.0: {}
min-indent@1.0.1: {}
@@ -2840,12 +3912,12 @@ snapshots:
mkdirp@1.0.4: {}
- mlly@1.6.1:
+ mlly@1.7.3:
dependencies:
- acorn: 8.11.3
+ acorn: 8.14.0
pathe: 1.1.2
- pkg-types: 1.0.3
- ufo: 1.5.3
+ pkg-types: 1.2.1
+ ufo: 1.5.4
modify-values@1.0.1: {}
@@ -2875,8 +3947,6 @@ snapshots:
semver: 7.6.0
validate-npm-package-license: 3.0.4
- normalize-path@3.0.0: {}
-
npm-bundled@2.0.1:
dependencies:
npm-normalize-package-bin: 2.0.0
@@ -2902,7 +3972,7 @@ snapshots:
pathe: 1.1.2
ufo: 1.5.3
- ohash@1.1.3: {}
+ ohash@1.1.4: {}
once@1.4.0:
dependencies:
@@ -2969,8 +4039,6 @@ snapshots:
path-exists@4.0.0: {}
- path-is-absolute@1.0.1: {}
-
path-key@3.1.1: {}
path-key@4.0.0: {}
@@ -2991,14 +4059,16 @@ snapshots:
picomatch@2.3.1: {}
+ picomatch@4.0.2: {}
+
pify@2.3.0: {}
pify@3.0.0: {}
- pkg-types@1.0.3:
+ pkg-types@1.2.1:
dependencies:
- jsonc-parser: 3.2.1
- mlly: 1.6.1
+ confbox: 0.1.8
+ mlly: 1.7.3
pathe: 1.1.2
platform@1.3.6: {}
@@ -3011,7 +4081,7 @@ snapshots:
prelude-ls@1.2.1: {}
- prettier@3.3.3: {}
+ prettier@3.4.2: {}
process-nextick-args@2.0.1: {}
@@ -3020,7 +4090,7 @@ snapshots:
kleur: 3.0.3
sisteransi: 1.0.5
- publint@0.2.9:
+ publint@0.2.12:
dependencies:
npm-packlist: 5.1.3
picocolors: 1.1.1
@@ -3028,8 +4098,6 @@ snapshots:
punycode@2.3.1: {}
- queue-microtask@1.2.3: {}
-
quick-lru@4.0.1: {}
rc9@2.1.2:
@@ -3077,9 +4145,7 @@ snapshots:
string_decoder: 1.3.0
util-deprecate: 1.0.2
- readdirp@3.6.0:
- dependencies:
- picomatch: 2.3.1
+ readdirp@4.0.2: {}
redent@3.0.0:
dependencies:
@@ -3096,13 +4162,7 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- reusify@1.0.4: {}
-
- rimraf@3.0.2:
- dependencies:
- glob: 7.2.3
-
- rollup@3.29.4:
+ rollup@3.29.5:
optionalDependencies:
fsevents: 2.3.3
@@ -3130,10 +4190,6 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.28.0
fsevents: 2.3.3
- run-parallel@1.2.0:
- dependencies:
- queue-microtask: 1.2.3
-
sade@1.8.1:
dependencies:
mri: 1.2.0
@@ -3148,6 +4204,8 @@ snapshots:
dependencies:
lru-cache: 6.0.0
+ semver@7.6.3: {}
+
shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
@@ -3195,8 +4253,6 @@ snapshots:
std-env@3.8.0: {}
- string-argv@0.3.2: {}
-
string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0
@@ -3253,8 +4309,6 @@ snapshots:
text-extensions@1.9.0: {}
- text-table@0.2.0: {}
-
through2@2.0.5:
dependencies:
readable-stream: 2.3.8
@@ -3266,34 +4320,33 @@ snapshots:
tinyexec@0.3.1: {}
+ tinyglobby@0.2.10:
+ dependencies:
+ fdir: 6.4.2(picomatch@4.0.2)
+ picomatch: 4.0.2
+
tinypool@1.0.2: {}
tinyrainbow@1.2.0: {}
tinyspy@3.0.2: {}
- to-regex-range@5.0.1:
- dependencies:
- is-number: 7.0.0
-
trim-newlines@3.0.1: {}
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
- type-detect@4.0.8: {}
-
type-fest@0.18.1: {}
- type-fest@0.20.2: {}
-
type-fest@0.6.0: {}
type-fest@0.8.1: {}
ufo@1.5.3: {}
+ ufo@1.5.4: {}
+
uglify-js@3.17.4:
optional: true
diff --git a/rollup.config.mjs b/rollup.config.mjs
index 6d8cf16..b4cd9f2 100644
--- a/rollup.config.mjs
+++ b/rollup.config.mjs
@@ -3,10 +3,7 @@ import replace from '@rollup/plugin-replace';
import fs from 'node:fs';
import path from 'node:path';
-const plugins = [
- nodeResolve(),
- replace({ DEBUG: false, preventAssignment: true })
-];
+const plugins = [nodeResolve(), replace({ DEBUG: false, preventAssignment: true })];
export default [
/* esm */
@@ -21,15 +18,15 @@ export default [
const base = path.resolve('./src/index.d.ts');
fs.copyFileSync(base, path.resolve('./dist/magic-string.es.d.mts'));
fs.copyFileSync(base, path.resolve('./dist/magic-string.cjs.d.ts'));
- }
- }
+ },
+ },
],
output: {
file: 'dist/magic-string.es.mjs',
format: 'es',
exports: 'named',
- sourcemap: true
- }
+ sourcemap: true,
+ },
},
/* cjs */
@@ -41,8 +38,8 @@ export default [
file: 'dist/magic-string.cjs.js',
format: 'cjs',
exports: 'default',
- sourcemap: true
- }
+ sourcemap: true,
+ },
},
/* umd */
@@ -54,7 +51,7 @@ export default [
format: 'umd',
exports: 'default',
name: 'MagicString',
- sourcemap: true
- }
- }
+ sourcemap: true,
+ },
+ },
];
diff --git a/src/MagicString.js b/src/MagicString.js
index e9c3e90..a46104d 100644
--- a/src/MagicString.js
+++ b/src/MagicString.js
@@ -293,7 +293,7 @@ export default class MagicString {
if (!warned.insertLeft) {
console.warn(
'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',
- ); // eslint-disable-line no-console
+ );
warned.insertLeft = true;
}
@@ -304,7 +304,7 @@ export default class MagicString {
if (!warned.insertRight) {
console.warn(
'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',
- ); // eslint-disable-line no-console
+ );
warned.insertRight = true;
}
@@ -380,7 +380,7 @@ export default class MagicString {
if (!warned.storeName) {
console.warn(
'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',
- ); // eslint-disable-line no-console
+ );
warned.storeName = true;
}
diff --git a/src/index.d.ts b/src/index.d.ts
index 6d1fa2b..cfd5654 100644
--- a/src/index.d.ts
+++ b/src/index.d.ts
@@ -1,269 +1,286 @@
export interface BundleOptions {
- intro?: string;
- separator?: string;
+ intro?: string;
+ separator?: string;
}
export interface SourceMapOptions {
- /**
- * Whether the mapping should be high-resolution.
- * Hi-res mappings map every single character, meaning (for example) your devtools will always
- * be able to pinpoint the exact location of function calls and so on.
- * With lo-res mappings, devtools may only be able to identify the correct
- * line - but they're quicker to generate and less bulky.
- * You can also set `"boundary"` to generate a semi-hi-res mappings segmented per word boundary
- * instead of per character, suitable for string semantics that are separated by words.
- * If sourcemap locations have been specified with s.addSourceMapLocation(), they will be used here.
- */
- hires?: boolean | 'boundary';
- /**
- * The filename where you plan to write the sourcemap.
- */
- file?: string;
- /**
- * The filename of the file containing the original source.
- */
- source?: string;
- /**
- * Whether to include the original content in the map's sourcesContent array.
- */
- includeContent?: boolean;
+ /**
+ * Whether the mapping should be high-resolution.
+ * Hi-res mappings map every single character, meaning (for example) your devtools will always
+ * be able to pinpoint the exact location of function calls and so on.
+ * With lo-res mappings, devtools may only be able to identify the correct
+ * line - but they're quicker to generate and less bulky.
+ * You can also set `"boundary"` to generate a semi-hi-res mappings segmented per word boundary
+ * instead of per character, suitable for string semantics that are separated by words.
+ * If sourcemap locations have been specified with s.addSourceMapLocation(), they will be used here.
+ */
+ hires?: boolean | 'boundary';
+ /**
+ * The filename where you plan to write the sourcemap.
+ */
+ file?: string;
+ /**
+ * The filename of the file containing the original source.
+ */
+ source?: string;
+ /**
+ * Whether to include the original content in the map's sourcesContent array.
+ */
+ includeContent?: boolean;
}
export type SourceMapSegment =
- | [number]
- | [number, number, number, number]
- | [number, number, number, number, number];
+ | [number]
+ | [number, number, number, number]
+ | [number, number, number, number, number];
export interface DecodedSourceMap {
- file: string;
- sources: string[];
- sourcesContent?: string[];
- names: string[];
- mappings: SourceMapSegment[][];
- x_google_ignoreList?: number[];
+ file: string;
+ sources: string[];
+ sourcesContent?: string[];
+ names: string[];
+ mappings: SourceMapSegment[][];
+ x_google_ignoreList?: number[];
}
export class SourceMap {
- constructor(properties: DecodedSourceMap);
+ constructor(properties: DecodedSourceMap);
- version: number;
- file: string;
- sources: string[];
- sourcesContent?: string[];
- names: string[];
- mappings: string;
- x_google_ignoreList?: number[];
- debugId?: string;
+ version: number;
+ file: string;
+ sources: string[];
+ sourcesContent?: string[];
+ names: string[];
+ mappings: string;
+ x_google_ignoreList?: number[];
+ debugId?: string;
- /**
- * Returns the equivalent of `JSON.stringify(map)`
- */
- toString(): string;
- /**
- * Returns a DataURI containing the sourcemap. Useful for doing this sort of thing:
- * `generateMap(options?: SourceMapOptions): SourceMap;`
- */
- toUrl(): string;
+ /**
+ * Returns the equivalent of `JSON.stringify(map)`
+ */
+ toString(): string;
+ /**
+ * Returns a DataURI containing the sourcemap. Useful for doing this sort of thing:
+ * `generateMap(options?: SourceMapOptions): SourceMap;`
+ */
+ toUrl(): string;
}
export class Bundle {
- constructor(options?: BundleOptions);
- /**
- * Adds the specified source to the bundle, which can either be a `MagicString` object directly,
- * or an options object that holds a magic string `content` property and optionally provides
- * a `filename` for the source within the bundle, as well as an optional `ignoreList` hint
- * (which defaults to `false`). The `filename` is used when constructing the source map for the
- * bundle, to identify this `source` in the source map's `sources` field. The `ignoreList` hint
- * is used to populate the `x_google_ignoreList` extension field in the source map, which is a
- * mechanism for tools to signal to debuggers that certain sources should be ignored by default
- * (depending on user preferences).
- */
- addSource(source: MagicString | { filename?: string, content: MagicString, ignoreList?: boolean }): this;
- append(str: string, options?: BundleOptions): this;
- clone(): this;
- generateMap(options?: SourceMapOptions): Omit & { sourcesContent: Array };
- generateDecodedMap(options?: SourceMapOptions): Omit & { sourcesContent: Array };
- getIndentString(): string;
- indent(indentStr?: string): this;
- indentExclusionRanges: ExclusionRange | Array;
- prepend(str: string): this;
- toString(): string;
- trimLines(): this;
- trim(charType?: string): this;
- trimStart(charType?: string): this;
- trimEnd(charType?: string): this;
- isEmpty(): boolean;
- length(): number;
+ constructor(options?: BundleOptions);
+ /**
+ * Adds the specified source to the bundle, which can either be a `MagicString` object directly,
+ * or an options object that holds a magic string `content` property and optionally provides
+ * a `filename` for the source within the bundle, as well as an optional `ignoreList` hint
+ * (which defaults to `false`). The `filename` is used when constructing the source map for the
+ * bundle, to identify this `source` in the source map's `sources` field. The `ignoreList` hint
+ * is used to populate the `x_google_ignoreList` extension field in the source map, which is a
+ * mechanism for tools to signal to debuggers that certain sources should be ignored by default
+ * (depending on user preferences).
+ */
+ addSource(
+ source: MagicString | { filename?: string; content: MagicString; ignoreList?: boolean },
+ ): this;
+ append(str: string, options?: BundleOptions): this;
+ clone(): this;
+ generateMap(
+ options?: SourceMapOptions,
+ ): Omit & { sourcesContent: Array };
+ generateDecodedMap(
+ options?: SourceMapOptions,
+ ): Omit & { sourcesContent: Array };
+ getIndentString(): string;
+ indent(indentStr?: string): this;
+ indentExclusionRanges: ExclusionRange | Array;
+ prepend(str: string): this;
+ toString(): string;
+ trimLines(): this;
+ trim(charType?: string): this;
+ trimStart(charType?: string): this;
+ trimEnd(charType?: string): this;
+ isEmpty(): boolean;
+ length(): number;
}
-export type ExclusionRange = [ number, number ];
+export type ExclusionRange = [number, number];
export interface MagicStringOptions {
- filename?: string,
- indentExclusionRanges?: ExclusionRange | Array;
+ filename?: string;
+ indentExclusionRanges?: ExclusionRange | Array;
}
export interface IndentOptions {
- exclude?: ExclusionRange | Array;
- indentStart?: boolean;
+ exclude?: ExclusionRange | Array;
+ indentStart?: boolean;
}
export interface OverwriteOptions {
- storeName?: boolean;
- contentOnly?: boolean;
+ storeName?: boolean;
+ contentOnly?: boolean;
}
export interface UpdateOptions {
- storeName?: boolean;
- overwrite?: boolean;
+ storeName?: boolean;
+ overwrite?: boolean;
}
export default class MagicString {
- constructor(str: string, options?: MagicStringOptions);
- /**
- * Adds the specified character index (with respect to the original string) to sourcemap mappings, if `hires` is false.
- */
- addSourcemapLocation(char: number): void;
- /**
- * Appends the specified content to the end of the string.
- */
- append(content: string): this;
- /**
- * Appends the specified content at the index in the original string.
- * If a range *ending* with index is subsequently moved, the insert will be moved with it.
- * See also `s.prependLeft(...)`.
- */
- appendLeft(index: number, content: string): this;
- /**
- * Appends the specified content at the index in the original string.
- * If a range *starting* with index is subsequently moved, the insert will be moved with it.
- * See also `s.prependRight(...)`.
- */
- appendRight(index: number, content: string): this;
- /**
- * Does what you'd expect.
- */
- clone(): this;
- /**
- * Generates a version 3 sourcemap.
- */
- generateMap(options?: SourceMapOptions): SourceMap;
- /**
- * Generates a sourcemap object with raw mappings in array form, rather than encoded as a string.
- * Useful if you need to manipulate the sourcemap further, but most of the time you will use `generateMap` instead.
- */
- generateDecodedMap(options?: SourceMapOptions): DecodedSourceMap;
- getIndentString(): string;
+ constructor(str: string, options?: MagicStringOptions);
+ /**
+ * Adds the specified character index (with respect to the original string) to sourcemap mappings, if `hires` is false.
+ */
+ addSourcemapLocation(char: number): void;
+ /**
+ * Appends the specified content to the end of the string.
+ */
+ append(content: string): this;
+ /**
+ * Appends the specified content at the index in the original string.
+ * If a range *ending* with index is subsequently moved, the insert will be moved with it.
+ * See also `s.prependLeft(...)`.
+ */
+ appendLeft(index: number, content: string): this;
+ /**
+ * Appends the specified content at the index in the original string.
+ * If a range *starting* with index is subsequently moved, the insert will be moved with it.
+ * See also `s.prependRight(...)`.
+ */
+ appendRight(index: number, content: string): this;
+ /**
+ * Does what you'd expect.
+ */
+ clone(): this;
+ /**
+ * Generates a version 3 sourcemap.
+ */
+ generateMap(options?: SourceMapOptions): SourceMap;
+ /**
+ * Generates a sourcemap object with raw mappings in array form, rather than encoded as a string.
+ * Useful if you need to manipulate the sourcemap further, but most of the time you will use `generateMap` instead.
+ */
+ generateDecodedMap(options?: SourceMapOptions): DecodedSourceMap;
+ getIndentString(): string;
- /**
- * Prefixes each line of the string with prefix.
- * If prefix is not supplied, the indentation will be guessed from the original content, falling back to a single tab character.
- */
- indent(options?: IndentOptions): this;
- /**
- * Prefixes each line of the string with prefix.
- * If prefix is not supplied, the indentation will be guessed from the original content, falling back to a single tab character.
- *
- * The options argument can have an exclude property, which is an array of [start, end] character ranges.
- * These ranges will be excluded from the indentation - useful for (e.g.) multiline strings.
- */
- indent(indentStr?: string, options?: IndentOptions): this;
- indentExclusionRanges: ExclusionRange | Array;
+ /**
+ * Prefixes each line of the string with prefix.
+ * If prefix is not supplied, the indentation will be guessed from the original content, falling back to a single tab character.
+ */
+ indent(options?: IndentOptions): this;
+ /**
+ * Prefixes each line of the string with prefix.
+ * If prefix is not supplied, the indentation will be guessed from the original content, falling back to a single tab character.
+ *
+ * The options argument can have an exclude property, which is an array of [start, end] character ranges.
+ * These ranges will be excluded from the indentation - useful for (e.g.) multiline strings.
+ */
+ indent(indentStr?: string, options?: IndentOptions): this;
+ indentExclusionRanges: ExclusionRange | Array;
- /**
- * Moves the characters from `start` and `end` to `index`.
- */
- move(start: number, end: number, index: number): this;
- /**
- * Replaces the characters from `start` to `end` with `content`, along with the appended/prepended content in
- * that range. The same restrictions as `s.remove()` apply.
- *
- * The fourth argument is optional. It can have a storeName property — if true, the original name will be stored
- * for later inclusion in a sourcemap's names array — and a contentOnly property which determines whether only
- * the content is overwritten, or anything that was appended/prepended to the range as well.
- *
- * It may be preferred to use `s.update(...)` instead if you wish to avoid overwriting the appended/prepended content.
- */
- overwrite(start: number, end: number, content: string, options?: boolean | OverwriteOptions): this;
- /**
- * Replaces the characters from `start` to `end` with `content`. The same restrictions as `s.remove()` apply.
- *
- * The fourth argument is optional. It can have a storeName property — if true, the original name will be stored
- * for later inclusion in a sourcemap's names array — and an overwrite property which determines whether only
- * the content is overwritten, or anything that was appended/prepended to the range as well.
- */
- update(start: number, end: number, content: string, options?: boolean | UpdateOptions): this;
- /**
- * Prepends the string with the specified content.
- */
- prepend(content: string): this;
- /**
- * Same as `s.appendLeft(...)`, except that the inserted content will go *before* any previous appends or prepends at index
- */
- prependLeft(index: number, content: string): this;
- /**
- * Same as `s.appendRight(...)`, except that the inserted content will go *before* any previous appends or prepends at `index`
- */
- prependRight(index: number, content: string): this;
- /**
- * Removes the characters from `start` to `end` (of the original string, **not** the generated string).
- * Removing the same content twice, or making removals that partially overlap, will cause an error.
- */
- remove(start: number, end: number): this;
- /**
- * Reset the modified characters from `start` to `end` (of the original string, **not** the generated string).
- */
- reset(start: number, end: number): this;
- /**
- * Returns the content of the generated string that corresponds to the slice between `start` and `end` of the original string.
- * Throws error if the indices are for characters that were already removed.
- */
- slice(start: number, end: number): string;
- /**
- * Returns a clone of `s`, with all content before the `start` and `end` characters of the original string removed.
- */
- snip(start: number, end: number): this;
- /**
- * Trims content matching `charType` (defaults to `\s`, i.e. whitespace) from the start and end.
- */
- trim(charType?: string): this;
- /**
- * Trims content matching `charType` (defaults to `\s`, i.e. whitespace) from the start.
- */
- trimStart(charType?: string): this;
- /**
- * Trims content matching `charType` (defaults to `\s`, i.e. whitespace) from the end.
- */
- trimEnd(charType?: string): this;
- /**
- * Removes empty lines from the start and end.
- */
- trimLines(): this;
- /**
- * String replacement with RegExp or string.
- */
- replace(regex: RegExp | string, replacement: string | ((substring: string, ...args: any[]) => string)): this;
- /**
- * Same as `s.replace`, but replace all matched strings instead of just one.
- */
- replaceAll(regex: RegExp | string, replacement: string | ((substring: string, ...args: any[]) => string)): this;
+ /**
+ * Moves the characters from `start` and `end` to `index`.
+ */
+ move(start: number, end: number, index: number): this;
+ /**
+ * Replaces the characters from `start` to `end` with `content`, along with the appended/prepended content in
+ * that range. The same restrictions as `s.remove()` apply.
+ *
+ * The fourth argument is optional. It can have a storeName property — if true, the original name will be stored
+ * for later inclusion in a sourcemap's names array — and a contentOnly property which determines whether only
+ * the content is overwritten, or anything that was appended/prepended to the range as well.
+ *
+ * It may be preferred to use `s.update(...)` instead if you wish to avoid overwriting the appended/prepended content.
+ */
+ overwrite(
+ start: number,
+ end: number,
+ content: string,
+ options?: boolean | OverwriteOptions,
+ ): this;
+ /**
+ * Replaces the characters from `start` to `end` with `content`. The same restrictions as `s.remove()` apply.
+ *
+ * The fourth argument is optional. It can have a storeName property — if true, the original name will be stored
+ * for later inclusion in a sourcemap's names array — and an overwrite property which determines whether only
+ * the content is overwritten, or anything that was appended/prepended to the range as well.
+ */
+ update(start: number, end: number, content: string, options?: boolean | UpdateOptions): this;
+ /**
+ * Prepends the string with the specified content.
+ */
+ prepend(content: string): this;
+ /**
+ * Same as `s.appendLeft(...)`, except that the inserted content will go *before* any previous appends or prepends at index
+ */
+ prependLeft(index: number, content: string): this;
+ /**
+ * Same as `s.appendRight(...)`, except that the inserted content will go *before* any previous appends or prepends at `index`
+ */
+ prependRight(index: number, content: string): this;
+ /**
+ * Removes the characters from `start` to `end` (of the original string, **not** the generated string).
+ * Removing the same content twice, or making removals that partially overlap, will cause an error.
+ */
+ remove(start: number, end: number): this;
+ /**
+ * Reset the modified characters from `start` to `end` (of the original string, **not** the generated string).
+ */
+ reset(start: number, end: number): this;
+ /**
+ * Returns the content of the generated string that corresponds to the slice between `start` and `end` of the original string.
+ * Throws error if the indices are for characters that were already removed.
+ */
+ slice(start: number, end: number): string;
+ /**
+ * Returns a clone of `s`, with all content before the `start` and `end` characters of the original string removed.
+ */
+ snip(start: number, end: number): this;
+ /**
+ * Trims content matching `charType` (defaults to `\s`, i.e. whitespace) from the start and end.
+ */
+ trim(charType?: string): this;
+ /**
+ * Trims content matching `charType` (defaults to `\s`, i.e. whitespace) from the start.
+ */
+ trimStart(charType?: string): this;
+ /**
+ * Trims content matching `charType` (defaults to `\s`, i.e. whitespace) from the end.
+ */
+ trimEnd(charType?: string): this;
+ /**
+ * Removes empty lines from the start and end.
+ */
+ trimLines(): this;
+ /**
+ * String replacement with RegExp or string.
+ */
+ replace(
+ regex: RegExp | string,
+ replacement: string | ((substring: string, ...args: any[]) => string),
+ ): this;
+ /**
+ * Same as `s.replace`, but replace all matched strings instead of just one.
+ */
+ replaceAll(
+ regex: RegExp | string,
+ replacement: string | ((substring: string, ...args: any[]) => string),
+ ): this;
- lastChar(): string;
- lastLine(): string;
- /**
- * Returns true if the resulting source is empty (disregarding white space).
- */
- isEmpty(): boolean;
- length(): number;
+ lastChar(): string;
+ lastLine(): string;
+ /**
+ * Returns true if the resulting source is empty (disregarding white space).
+ */
+ isEmpty(): boolean;
+ length(): number;
- /**
- * Indicates if the string has been changed.
- */
- hasChanged(): boolean;
+ /**
+ * Indicates if the string has been changed.
+ */
+ hasChanged(): boolean;
- original: string;
- /**
- * Returns the generated string.
- */
- toString(): string;
+ original: string;
+ /**
+ * Returns the generated string.
+ */
+ toString(): string;
}
diff --git a/test/.eslintrc b/test/.eslintrc
deleted file mode 100644
index 10d2238..0000000
--- a/test/.eslintrc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "env": {
- "node": true
- }
-}
diff --git a/vitest.config.js b/vitest.config.js
index f6bc07b..d305746 100644
--- a/vitest.config.js
+++ b/vitest.config.js
@@ -2,9 +2,9 @@ import { defineConfig } from 'vitest/config';
export default defineConfig({
define: {
- DEBUG: 'true'
+ DEBUG: 'true',
},
test: {
environment: 'node',
- }
+ },
});