├── test
├── samples
│ ├── raw-tag
│ │ ├── input.html
│ │ └── output.html
│ ├── tag
│ │ ├── input.html
│ │ └── output.html
│ ├── yield
│ │ ├── input.html
│ │ └── output.html
│ ├── spread
│ │ ├── output.html
│ │ └── input.html
│ ├── if-block
│ │ ├── output.html
│ │ └── input.html
│ ├── builtins-window
│ │ ├── input.html
│ │ └── output.html
│ ├── builtins-head
│ │ ├── input.html
│ │ └── output.html
│ ├── event-handler-shorthand
│ │ ├── input.html
│ │ └── output.html
│ ├── shorthand-properties
│ │ ├── input.html
│ │ └── output.html
│ ├── escape-braces
│ │ ├── input.html
│ │ └── output.html
│ ├── await-then
│ │ ├── output.html
│ │ └── input.html
│ ├── builtins-component
│ │ ├── input.html
│ │ └── output.html
│ ├── ignore-bad-css
│ │ ├── input.html
│ │ └── output.html
│ ├── if-block-else
│ │ ├── output.html
│ │ └── input.html
│ ├── builtins-component-complex
│ │ ├── input.html
│ │ └── output.html
│ ├── each-else
│ │ ├── output.html
│ │ └── input.html
│ ├── builtins-self
│ │ ├── input.html
│ │ └── output.html
│ ├── if-else-if
│ │ ├── output.html
│ │ └── input.html
│ ├── if-block-elseif
│ │ ├── output.html
│ │ └── input.html
│ ├── each-block
│ │ ├── output.html
│ │ └── input.html
│ ├── await-then-catch
│ │ ├── output.html
│ │ └── input.html
│ ├── each-block-keyed
│ │ ├── output.html
│ │ └── input.html
│ ├── await-pending-then-catch
│ │ ├── output.html
│ │ └── input.html
│ ├── computed-after-style
│ │ ├── input.html
│ │ └── output.html
│ ├── store-method
│ │ ├── output.html
│ │ └── input.html
│ └── computed
│ │ ├── input.html
│ │ └── output.html
└── test.js
├── bin
├── .gitignore
├── .travis.yml
├── rollup.config.js
├── appveyor.yml
├── package.json
├── LICENSE
├── CHANGELOG.md
├── src
├── cli.js
└── index.js
├── README.md
└── yarn.lock
/test/samples/raw-tag/input.html:
--------------------------------------------------------------------------------
1 | {{tag}}
--------------------------------------------------------------------------------
/test/samples/raw-tag/output.html:
--------------------------------------------------------------------------------
1 | {tag}
--------------------------------------------------------------------------------
/test/samples/tag/input.html:
--------------------------------------------------------------------------------
1 | {{{stuff}}}
--------------------------------------------------------------------------------
/test/samples/yield/input.html:
--------------------------------------------------------------------------------
1 | {{yield}}
--------------------------------------------------------------------------------
/test/samples/tag/output.html:
--------------------------------------------------------------------------------
1 | {@html stuff}
--------------------------------------------------------------------------------
/test/samples/yield/output.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bin:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | require('./dist/cli.js');
--------------------------------------------------------------------------------
/test/samples/spread/output.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/samples/spread/input.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/samples/if-block/output.html:
--------------------------------------------------------------------------------
1 | {#if foo}
2 | foo
3 | {/if}
--------------------------------------------------------------------------------
/test/samples/builtins-window/input.html:
--------------------------------------------------------------------------------
1 | <:Window bind:width bind:height/>
--------------------------------------------------------------------------------
/test/samples/if-block/input.html:
--------------------------------------------------------------------------------
1 | {{#if foo}}
2 | foo
3 | {{/if}}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | *.d.ts
4 | dist
5 | yarn-error.log
--------------------------------------------------------------------------------
/test/samples/builtins-head/input.html:
--------------------------------------------------------------------------------
1 | <:Head>
2 | wooo
3 |
--------------------------------------------------------------------------------
/test/samples/builtins-window/output.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/samples/event-handler-shorthand/input.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/samples/event-handler-shorthand/output.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/samples/shorthand-properties/input.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/test/samples/shorthand-properties/output.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/test/samples/escape-braces/input.html:
--------------------------------------------------------------------------------
1 |
2 | {foo}
3 | {bar}
4 |
--------------------------------------------------------------------------------
/test/samples/builtins-head/output.html:
--------------------------------------------------------------------------------
1 |
2 | wooo
3 |
--------------------------------------------------------------------------------
/test/samples/await-then/output.html:
--------------------------------------------------------------------------------
1 | {#await promise then value}
2 |
3 | {/await}
--------------------------------------------------------------------------------
/test/samples/builtins-component/input.html:
--------------------------------------------------------------------------------
1 | <:Component {Thing}>
2 | contents
3 |
--------------------------------------------------------------------------------
/test/samples/ignore-bad-css/input.html:
--------------------------------------------------------------------------------
1 | {{foo}}
2 |
3 |
6 |
7 | {{bar}}
--------------------------------------------------------------------------------
/test/samples/ignore-bad-css/output.html:
--------------------------------------------------------------------------------
1 | {foo}
2 |
3 |
6 |
7 | {bar}
--------------------------------------------------------------------------------
/test/samples/await-then/input.html:
--------------------------------------------------------------------------------
1 | {{#await promise then value}}
2 |
3 | {{/await}}
--------------------------------------------------------------------------------
/test/samples/if-block-else/output.html:
--------------------------------------------------------------------------------
1 | {#if foo}
2 | foo
3 | {:else}
4 | not foo
5 | {/if}
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "8"
4 |
5 | env:
6 | global:
7 | - BUILD_TIMEOUT=10000
--------------------------------------------------------------------------------
/test/samples/builtins-component-complex/input.html:
--------------------------------------------------------------------------------
1 | <:Component {x ? y : z}>
2 | contents
3 |
--------------------------------------------------------------------------------
/test/samples/if-block-else/input.html:
--------------------------------------------------------------------------------
1 | {{#if foo}}
2 | foo
3 | {{else}}
4 | not foo
5 | {{/if}}
--------------------------------------------------------------------------------
/test/samples/escape-braces/output.html:
--------------------------------------------------------------------------------
1 |
2 | {foo}
3 | {bar}
4 |
--------------------------------------------------------------------------------
/test/samples/builtins-component/output.html:
--------------------------------------------------------------------------------
1 |
2 | contents
3 |
--------------------------------------------------------------------------------
/test/samples/each-else/output.html:
--------------------------------------------------------------------------------
1 | {#each animals as animal}
2 | {animal}
3 | {:else}
4 | no animals
5 | {/each}
--------------------------------------------------------------------------------
/test/samples/builtins-component-complex/output.html:
--------------------------------------------------------------------------------
1 |
2 | contents
3 |
--------------------------------------------------------------------------------
/test/samples/each-else/input.html:
--------------------------------------------------------------------------------
1 | {{#each animals as animal}}
2 | {{animal}}
3 | {{else}}
4 | no animals
5 | {{/each}}
--------------------------------------------------------------------------------
/test/samples/builtins-self/input.html:
--------------------------------------------------------------------------------
1 | {{#if foo}}
2 | <:Self bar={{baz}}>
3 | contents
4 |
5 | {{/if}}
6 |
7 |
--------------------------------------------------------------------------------
/test/samples/if-else-if/output.html:
--------------------------------------------------------------------------------
1 | {#if foo}
2 | {#if x}
3 | x
4 | {/if}
5 | {:else}
6 | {#if y}
7 | y
8 | {/if}
9 | {/if}
--------------------------------------------------------------------------------
/test/samples/builtins-self/output.html:
--------------------------------------------------------------------------------
1 | {#if foo}
2 |
3 | contents
4 |
5 | {/if}
6 |
7 |
--------------------------------------------------------------------------------
/test/samples/if-block-elseif/output.html:
--------------------------------------------------------------------------------
1 | {#if foo}
2 | foo
3 | {:elseif bar}
4 | bar
5 | {:else}
6 | neither foo nor bar
7 | {/if}
--------------------------------------------------------------------------------
/test/samples/each-block/output.html:
--------------------------------------------------------------------------------
1 |
2 | {#each cats as cat}
3 | - {cat.name}
4 | {/each}
5 |
--------------------------------------------------------------------------------
/test/samples/if-block-elseif/input.html:
--------------------------------------------------------------------------------
1 | {{#if foo}}
2 | foo
3 | {{elseif bar}}
4 | bar
5 | {{else}}
6 | neither foo nor bar
7 | {{/if}}
--------------------------------------------------------------------------------
/test/samples/if-else-if/input.html:
--------------------------------------------------------------------------------
1 | {{#if foo}}
2 | {{#if x}}
3 | x
4 | {{/if}}
5 | {{else}}
6 | {{#if y}}
7 | y
8 | {{/if}}
9 | {{/if}}
--------------------------------------------------------------------------------
/test/samples/await-then-catch/output.html:
--------------------------------------------------------------------------------
1 | {#await promise then value}
2 | value: {value}
3 | {:catch error}
4 | error: {error.message}
5 | {/await}
--------------------------------------------------------------------------------
/test/samples/each-block/input.html:
--------------------------------------------------------------------------------
1 |
2 | {{#each cats as cat}}
3 | - {{cat.name}}
4 | {{/each}}
5 |
--------------------------------------------------------------------------------
/test/samples/await-then-catch/input.html:
--------------------------------------------------------------------------------
1 | {{#await promise then value}}
2 | value: {{value}}
3 | {{catch error}}
4 | error: {{error.message}}
5 | {{/await}}
--------------------------------------------------------------------------------
/test/samples/each-block-keyed/output.html:
--------------------------------------------------------------------------------
1 |
2 | {#each cats as cat (cat.name)}
3 | - {cat.name}
4 | {/each}
5 |
--------------------------------------------------------------------------------
/test/samples/each-block-keyed/input.html:
--------------------------------------------------------------------------------
1 |
2 | {{#each cats as cat @name}}
3 | - {{cat.name}}
4 | {{/each}}
5 |
--------------------------------------------------------------------------------
/test/samples/await-pending-then-catch/output.html:
--------------------------------------------------------------------------------
1 | {#await promise}
2 | waiting...
3 | {:then value}
4 | value: {value}
5 | {:catch error}
6 | error: {error.message}
7 | {/await}
--------------------------------------------------------------------------------
/test/samples/await-pending-then-catch/input.html:
--------------------------------------------------------------------------------
1 | {{#await promise}}
2 | waiting...
3 | {{then value}}
4 | value: {{value}}
5 | {{catch error}}
6 | error: {{error.message}}
7 | {{/await}}
--------------------------------------------------------------------------------
/test/samples/computed-after-style/input.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/test/samples/computed-after-style/output.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/test/samples/store-method/output.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/test/samples/store-method/input.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/test/samples/computed/input.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/samples/computed/output.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | import json from 'rollup-plugin-json';
2 | import pkg from './package.json';
3 |
4 | export default {
5 | input: ['src/index.js', 'src/cli.js'],
6 | output: {
7 | dir: 'dist',
8 | format: 'cjs'
9 | },
10 | experimentalCodeSplitting: true,
11 | experimentalDynamicImport: true,
12 | external: Object.keys(pkg.dependencies),
13 | plugins: [
14 | json()
15 | ]
16 | };
--------------------------------------------------------------------------------
/test/test.js:
--------------------------------------------------------------------------------
1 | import * as fs from 'fs';
2 | import { test } from 'tape-modern';
3 | import { upgradeTemplate } from '../src/index';
4 |
5 | fs.readdirSync('test/samples').forEach(dir => {
6 | if (dir[0] === '.') return;
7 |
8 | test(dir, t => {
9 | const source = fs.readFileSync(`test/samples/${dir}/input.html`, 'utf-8');
10 | const expected = fs.readFileSync(`test/samples/${dir}/output.html`, 'utf-8');
11 |
12 | const actual = upgradeTemplate(source);
13 |
14 | t.equal(actual, expected);
15 | });
16 | });
--------------------------------------------------------------------------------
/appveyor.yml:
--------------------------------------------------------------------------------
1 | # http://www.appveyor.com/docs/appveyor-yml
2 |
3 | version: "{build}"
4 |
5 | clone_depth: 10
6 |
7 | init:
8 | - git config --global core.autocrlf false
9 |
10 | environment:
11 | matrix:
12 | # node.js
13 | - nodejs_version: 8
14 |
15 | install:
16 | - ps: Install-Product node $env:nodejs_version
17 | - npm install
18 |
19 | build: off
20 |
21 | test_script:
22 | - node --version && npm --version
23 | - npm test
24 |
25 | matrix:
26 | fast_finish: false
27 |
28 | # cache:
29 | # - C:\Users\appveyor\AppData\Roaming\npm-cache -> package.json # npm cache
30 | # - node_modules -> package.json # local npm modules
31 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "svelte-upgrade",
3 | "description": "Upgrade Svelte templates",
4 | "version": "1.0.16",
5 | "repository": "sveltejs/svelte-upgrade",
6 | "main": "dist/index.js",
7 | "bin": {
8 | "svelte-upgrade": "bin"
9 | },
10 | "files": [
11 | "dist",
12 | "bin"
13 | ],
14 | "devDependencies": {
15 | "esm": "^3.0.84",
16 | "rollup": "^0.67.0",
17 | "rollup-plugin-json": "^3.1.0",
18 | "tape-modern": "^1.1.1"
19 | },
20 | "scripts": {
21 | "build": "rollup -c",
22 | "dev": "rollup -cw",
23 | "test": "node -r esm test/test.js",
24 | "prepublishOnly": "npm test && npm run build"
25 | },
26 | "license": "LIL",
27 | "dependencies": {
28 | "estree-walker": "^0.5.2",
29 | "glob": "^7.1.3",
30 | "magic-string": "^0.25.1",
31 | "prompts": "^1.2.0",
32 | "sade": "^1.4.1",
33 | "svelte": "1",
34 | "turbocolor": "^2.6.1"
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2018 Rich Harris
2 |
3 | Permission is hereby granted by the authors of this software, to any person, to use the software for any purpose, free of charge, including the rights to run, read, copy, change, distribute and sell it, and including usage rights to any patents the authors may hold on it, subject to the following conditions:
4 |
5 | This license, or a link to its text, must be included with all copies of the software and any derivative works.
6 |
7 | Any modification to the software submitted to the authors may be incorporated into the software under the terms of this license.
8 |
9 | The software is provided "as is", without warranty of any kind, including but not limited to the warranties of title, fitness, merchantability and non-infringement. The authors have no obligation to provide support or updates for the software, and may not be held liable for any damages, claims or other liability arising from its use.
10 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # svelte-upgrade changelog
2 |
3 | ## 1.0.16
4 |
5 | * Fix off-by-one error
6 |
7 | ## 1.0.15
8 |
9 | * Ignore contents of ``;
54 | }));
55 |
56 | function trimStart(node) {
57 | let c = node.start;
58 |
59 | code.remove(c, c + 1);
60 |
61 | c = node.expression.end;
62 | while (source[c] !== '}') c += 1;
63 | code.remove(c, c + 1);
64 | }
65 |
66 | function trimEnd(node) {
67 | let c = node.end;
68 |
69 | code.remove(c - 1, c);
70 |
71 | while (source[c - 1] !== '{') c -= 1;
72 | code.remove(c - 1, c);
73 | }
74 |
75 | function trim(node) {
76 | trimStart(node);
77 | trimEnd(node);
78 | }
79 |
80 | const properties = {};
81 | const methods = {};
82 |
83 | if (ast.js) {
84 | const defaultExport = ast.js.content.body.find(node => node.type === 'ExportDefaultDeclaration');
85 | if (defaultExport) {
86 | defaultExport.declaration.properties.forEach(prop => {
87 | properties[prop.key.name] = prop.value;
88 | });
89 |
90 | if (properties.computed) {
91 | properties.computed.properties.forEach(prop => {
92 | const { params } = prop.value;
93 |
94 | if (prop.value.type === 'FunctionExpression') {
95 | let a = prop.value.start;
96 | if (!prop.method) a += 8;
97 | while (source[a] !== '(') a += 1;
98 |
99 | let b = params[0].start;
100 | code.overwrite(a, b, '({ ');
101 |
102 | a = b = params[params.length - 1].end;
103 | while (source[b] !== ')') b += 1;
104 | code.overwrite(a, b + 1, ' })');
105 | } else if (prop.value.type === 'ArrowFunctionExpression') {
106 | let a = prop.value.start;
107 | let b = params[0].start;
108 |
109 | if (a !== b) code.remove(a, b);
110 | code.prependRight(b, '({ ');
111 |
112 | a = b = params[params.length - 1].end;
113 | while (source[b] !== '=') b += 1;
114 |
115 | if (a !== b) code.remove(a, b);
116 | code.appendLeft(a, ' }) ');
117 | }
118 | });
119 | }
120 |
121 | if (properties.methods) {
122 | properties.methods.properties.forEach(prop => {
123 | methods[prop.key.name] = prop.value;
124 | });
125 | }
126 | }
127 | }
128 |
129 | walk(ast.html, {
130 | enter(node) {
131 | let a = node.start;
132 | let b = node.end;
133 |
134 | switch (node.type) {
135 | case 'MustacheTag':
136 | trimStart(node);
137 | break;
138 |
139 | case 'RawMustacheTag':
140 | code.overwrite(a + 1, node.expression.start, '@html ').remove(b - 2, b);
141 | break;
142 |
143 | case 'AwaitBlock':
144 | trim(node);
145 |
146 | if (node.pending.start !== null) {
147 | let c = node.then.start;
148 | code.overwrite(c + 1, c + 2, ':');
149 |
150 | while (source[c] !== '}') c += 1;
151 | code.remove(c, c + 1);
152 | }
153 |
154 | if (node.catch.start !== null) {
155 | let c = node.catch.start;
156 | code.overwrite(c + 1, c + 2, ':');
157 |
158 | while (source[c] !== '}') c += 1;
159 | code.remove(c, c + 1);
160 | }
161 |
162 | break;
163 |
164 | case 'IfBlock':
165 | case 'EachBlock':
166 | if (!node.skip) trim(node);
167 |
168 | if (node.else) {
169 | let c = node.children[node.children.length - 1].end;
170 | while (source[c] !== '{') c += 1;
171 | code.overwrite(c + 1, c + 2, ':');
172 |
173 | if (hasElseIf(source, node)) {
174 | c = node.else.children[0].expression.end;
175 | node.else.children[0].skip = true;
176 | }
177 |
178 | while (source[c] !== '}') c += 1;
179 | code.remove(c, c + 1);
180 | }
181 |
182 | if (node.key) {
183 | let a = node.expression.end;
184 | while (source[a] !== '@') a += 1;
185 | code.overwrite(a, a + 1, `(${node.context}.`);
186 |
187 | while (!/\w/.test(source[a])) a += 1;
188 | while (/\w/.test(source[a])) a += 1;
189 | code.appendLeft(a, ')');
190 | }
191 |
192 | break;
193 |
194 | case 'Element':
195 | case 'Window':
196 | case 'Head':
197 | if (node.name === 'slot' && /{{\s*yield\s*}}/.test(source.slice(a, b))) {
198 | code.overwrite(a, b, '');
199 | }
200 |
201 | else if (node.name[0] === ':') {
202 | const name = `svelte:${node.name[1].toLowerCase()}`;
203 | code.overwrite(a + 1, a + 3, name);
204 |
205 | while (source[b - 1] !== '<') b -= 1;
206 | if (source[b] === '/') {
207 | code.overwrite(b + 1, b + 3, name);
208 | }
209 | }
210 |
211 | if (node.name === ':Component') {
212 | a = node.expression.start;
213 | while (source[a - 1] !== '{') a -= 1;
214 |
215 | b = node.expression.end;
216 | while (source[b] !== '}') b += 1;
217 |
218 | const shouldQuote = /\s/.test(source.slice(a, b));
219 | if (shouldQuote) code.prependRight(a - 1, '"').appendLeft(b + 1, '"');
220 | code.prependRight(a - 1, 'this=')
221 | }
222 |
223 | break;
224 |
225 | case 'Text':
226 | let c = -1;
227 | while ((c = node.data.indexOf('{', c + 1)) !== -1) {
228 | code.overwrite(a + c, a + c + 1, '{');
229 | }
230 | break;
231 |
232 | case 'Attribute':
233 | if (source[a] === ':') {
234 | code.overwrite(a, a + 1, '{').appendLeft(b, '}');
235 | }
236 |
237 | break;
238 |
239 | case 'Spread':
240 | code.remove(a, a + 1).remove(b - 1, b);
241 | break;
242 |
243 | case 'EventHandler':
244 | if (node.expression) {
245 | const { name, parts } = flattenReference(node.expression.callee);
246 | if (name === 'store') {
247 | if (`$${parts[1].name}` in methods) {
248 | console.error(`Not overwriting store method — $${parts[1].name} already exists on component`);
249 | } else {
250 | code.overwrite(node.expression.start, parts[1].start, '$');
251 | }
252 | }
253 | }
254 |
255 | break;
256 | }
257 | },
258 |
259 | leave(node) {
260 |
261 | }
262 | });
263 |
264 |
265 |
266 | return code.toString();
267 | }
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@types/estree@0.0.39":
6 | version "0.0.39"
7 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
8 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
9 |
10 | "@types/node@*":
11 | version "10.12.2"
12 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.2.tgz#d77f9faa027cadad9c912cd47f4f8b07b0fb0864"
13 | integrity sha512-53ElVDSnZeFUUFIYzI8WLQ25IhWzb6vbddNp8UHlXQyU0ET2RhV5zg0NfubzU7iNMh5bBXb0htCzfvrSVNgzaQ==
14 |
15 | arr-diff@^2.0.0:
16 | version "2.0.0"
17 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
18 | integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=
19 | dependencies:
20 | arr-flatten "^1.0.1"
21 |
22 | arr-flatten@^1.0.1:
23 | version "1.1.0"
24 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
25 | integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
26 |
27 | array-unique@^0.2.1:
28 | version "0.2.1"
29 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
30 | integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=
31 |
32 | balanced-match@^1.0.0:
33 | version "1.0.0"
34 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
35 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
36 |
37 | brace-expansion@^1.1.7:
38 | version "1.1.11"
39 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
40 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
41 | dependencies:
42 | balanced-match "^1.0.0"
43 | concat-map "0.0.1"
44 |
45 | braces@^1.8.2:
46 | version "1.8.5"
47 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
48 | integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=
49 | dependencies:
50 | expand-range "^1.8.1"
51 | preserve "^0.2.0"
52 | repeat-element "^1.1.2"
53 |
54 | concat-map@0.0.1:
55 | version "0.0.1"
56 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
57 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
58 |
59 | esm@^3.0.84:
60 | version "3.0.84"
61 | resolved "https://registry.yarnpkg.com/esm/-/esm-3.0.84.tgz#bb108989f4673b32d4f62406869c28eed3815a63"
62 | integrity sha512-SzSGoZc17S7P+12R9cg21Bdb7eybX25RnIeRZ80xZs+VZ3kdQKzqTp2k4hZJjR7p9l0186TTXSgrxzlMDBktlw==
63 |
64 | estree-walker@^0.5.2:
65 | version "0.5.2"
66 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39"
67 | integrity sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==
68 |
69 | expand-brackets@^0.1.4:
70 | version "0.1.5"
71 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
72 | integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=
73 | dependencies:
74 | is-posix-bracket "^0.1.0"
75 |
76 | expand-range@^1.8.1:
77 | version "1.8.2"
78 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
79 | integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=
80 | dependencies:
81 | fill-range "^2.1.0"
82 |
83 | extglob@^0.3.1:
84 | version "0.3.2"
85 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
86 | integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=
87 | dependencies:
88 | is-extglob "^1.0.0"
89 |
90 | filename-regex@^2.0.0:
91 | version "2.0.1"
92 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
93 | integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=
94 |
95 | fill-range@^2.1.0:
96 | version "2.2.3"
97 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
98 | integrity sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=
99 | dependencies:
100 | is-number "^2.1.0"
101 | isobject "^2.0.0"
102 | randomatic "^1.1.3"
103 | repeat-element "^1.1.2"
104 | repeat-string "^1.5.2"
105 |
106 | for-in@^1.0.1:
107 | version "1.0.2"
108 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
109 | integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
110 |
111 | for-own@^0.1.4:
112 | version "0.1.5"
113 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
114 | integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=
115 | dependencies:
116 | for-in "^1.0.1"
117 |
118 | fs.realpath@^1.0.0:
119 | version "1.0.0"
120 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
121 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
122 |
123 | glob-base@^0.3.0:
124 | version "0.3.0"
125 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
126 | integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=
127 | dependencies:
128 | glob-parent "^2.0.0"
129 | is-glob "^2.0.0"
130 |
131 | glob-parent@^2.0.0:
132 | version "2.0.0"
133 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
134 | integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=
135 | dependencies:
136 | is-glob "^2.0.0"
137 |
138 | glob@^7.1.3:
139 | version "7.1.3"
140 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
141 | integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
142 | dependencies:
143 | fs.realpath "^1.0.0"
144 | inflight "^1.0.4"
145 | inherits "2"
146 | minimatch "^3.0.4"
147 | once "^1.3.0"
148 | path-is-absolute "^1.0.0"
149 |
150 | inflight@^1.0.4:
151 | version "1.0.6"
152 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
153 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
154 | dependencies:
155 | once "^1.3.0"
156 | wrappy "1"
157 |
158 | inherits@2:
159 | version "2.0.3"
160 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
161 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
162 |
163 | is-buffer@^1.1.5:
164 | version "1.1.6"
165 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
166 | integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
167 |
168 | is-dotfile@^1.0.0:
169 | version "1.0.3"
170 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
171 | integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=
172 |
173 | is-equal-shallow@^0.1.3:
174 | version "0.1.3"
175 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
176 | integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=
177 | dependencies:
178 | is-primitive "^2.0.0"
179 |
180 | is-extendable@^0.1.1:
181 | version "0.1.1"
182 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
183 | integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
184 |
185 | is-extglob@^1.0.0:
186 | version "1.0.0"
187 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
188 | integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
189 |
190 | is-glob@^2.0.0, is-glob@^2.0.1:
191 | version "2.0.1"
192 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
193 | integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
194 | dependencies:
195 | is-extglob "^1.0.0"
196 |
197 | is-number@^2.1.0:
198 | version "2.1.0"
199 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
200 | integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=
201 | dependencies:
202 | kind-of "^3.0.2"
203 |
204 | is-number@^3.0.0:
205 | version "3.0.0"
206 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
207 | integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
208 | dependencies:
209 | kind-of "^3.0.2"
210 |
211 | is-posix-bracket@^0.1.0:
212 | version "0.1.1"
213 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
214 | integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=
215 |
216 | is-primitive@^2.0.0:
217 | version "2.0.0"
218 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
219 | integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU=
220 |
221 | isarray@1.0.0:
222 | version "1.0.0"
223 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
224 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
225 |
226 | isobject@^2.0.0:
227 | version "2.1.0"
228 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
229 | integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
230 | dependencies:
231 | isarray "1.0.0"
232 |
233 | kind-of@^3.0.2:
234 | version "3.2.2"
235 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
236 | integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
237 | dependencies:
238 | is-buffer "^1.1.5"
239 |
240 | kind-of@^4.0.0:
241 | version "4.0.0"
242 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
243 | integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
244 | dependencies:
245 | is-buffer "^1.1.5"
246 |
247 | kleur@^2.0.1:
248 | version "2.0.2"
249 | resolved "https://registry.yarnpkg.com/kleur/-/kleur-2.0.2.tgz#b704f4944d95e255d038f0cb05fb8a602c55a300"
250 | integrity sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==
251 |
252 | magic-string@^0.25.1:
253 | version "0.25.1"
254 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.1.tgz#b1c248b399cd7485da0fe7385c2fc7011843266e"
255 | integrity sha512-sCuTz6pYom8Rlt4ISPFn6wuFodbKMIHUMv4Qko9P17dpxb7s52KJTmRuZZqHdGmLCK9AOcDare039nRIcfdkEg==
256 | dependencies:
257 | sourcemap-codec "^1.4.1"
258 |
259 | micromatch@^2.3.11:
260 | version "2.3.11"
261 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
262 | integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=
263 | dependencies:
264 | arr-diff "^2.0.0"
265 | array-unique "^0.2.1"
266 | braces "^1.8.2"
267 | expand-brackets "^0.1.4"
268 | extglob "^0.3.1"
269 | filename-regex "^2.0.0"
270 | is-extglob "^1.0.0"
271 | is-glob "^2.0.1"
272 | kind-of "^3.0.2"
273 | normalize-path "^2.0.1"
274 | object.omit "^2.0.0"
275 | parse-glob "^3.0.4"
276 | regex-cache "^0.4.2"
277 |
278 | minimatch@^3.0.4:
279 | version "3.0.4"
280 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
281 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
282 | dependencies:
283 | brace-expansion "^1.1.7"
284 |
285 | mri@^1.1.0:
286 | version "1.1.0"
287 | resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.0.tgz#5c0a3f29c8ccffbbb1ec941dcec09d71fa32f36a"
288 | integrity sha1-XAo/KcjM/7ux7JQdzsCdcfoy82o=
289 |
290 | normalize-path@^2.0.1:
291 | version "2.1.1"
292 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
293 | integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
294 | dependencies:
295 | remove-trailing-separator "^1.0.1"
296 |
297 | object.omit@^2.0.0:
298 | version "2.0.1"
299 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
300 | integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=
301 | dependencies:
302 | for-own "^0.1.4"
303 | is-extendable "^0.1.1"
304 |
305 | once@^1.3.0:
306 | version "1.4.0"
307 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
308 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
309 | dependencies:
310 | wrappy "1"
311 |
312 | pad-right@^0.2.2:
313 | version "0.2.2"
314 | resolved "https://registry.yarnpkg.com/pad-right/-/pad-right-0.2.2.tgz#6fbc924045d244f2a2a244503060d3bfc6009774"
315 | integrity sha1-b7ySQEXSRPKiokRQMGDTv8YAl3Q=
316 | dependencies:
317 | repeat-string "^1.5.2"
318 |
319 | parse-glob@^3.0.4:
320 | version "3.0.4"
321 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
322 | integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw=
323 | dependencies:
324 | glob-base "^0.3.0"
325 | is-dotfile "^1.0.0"
326 | is-extglob "^1.0.0"
327 | is-glob "^2.0.0"
328 |
329 | path-is-absolute@^1.0.0:
330 | version "1.0.1"
331 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
332 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
333 |
334 | preserve@^0.2.0:
335 | version "0.2.0"
336 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
337 | integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
338 |
339 | prompts@^1.2.0:
340 | version "1.2.0"
341 | resolved "https://registry.yarnpkg.com/prompts/-/prompts-1.2.0.tgz#598f7722032fb6c399beb24533129d00604c7007"
342 | integrity sha512-g+I6Cer6EefDTawQhGHpdX98nhD7KQrRqyRgKCb+Sc+GG4P64EWRe5DZE402ZNkwrItf97Asf0L1z0g3waOgAA==
343 | dependencies:
344 | kleur "^2.0.1"
345 | sisteransi "^1.0.0"
346 |
347 | randomatic@^1.1.3:
348 | version "1.1.7"
349 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
350 | integrity sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==
351 | dependencies:
352 | is-number "^3.0.0"
353 | kind-of "^4.0.0"
354 |
355 | regex-cache@^0.4.2:
356 | version "0.4.4"
357 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
358 | integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==
359 | dependencies:
360 | is-equal-shallow "^0.1.3"
361 |
362 | remove-trailing-separator@^1.0.1:
363 | version "1.1.0"
364 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
365 | integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
366 |
367 | repeat-element@^1.1.2:
368 | version "1.1.2"
369 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
370 | integrity sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=
371 |
372 | repeat-string@^1.5.2:
373 | version "1.6.1"
374 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
375 | integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
376 |
377 | rollup-plugin-json@^3.1.0:
378 | version "3.1.0"
379 | resolved "https://registry.yarnpkg.com/rollup-plugin-json/-/rollup-plugin-json-3.1.0.tgz#7c1daf60c46bc21021ea016bd00863561a03321b"
380 | integrity sha512-BlYk5VspvGpjz7lAwArVzBXR60JK+4EKtPkCHouAWg39obk9S61hZYJDBfMK+oitPdoe11i69TlxKlMQNFC/Uw==
381 | dependencies:
382 | rollup-pluginutils "^2.3.1"
383 |
384 | rollup-pluginutils@^2.3.1:
385 | version "2.3.3"
386 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.3.3.tgz#3aad9b1eb3e7fe8262820818840bf091e5ae6794"
387 | integrity sha512-2XZwja7b6P5q4RZ5FhyX1+f46xi1Z3qBKigLRZ6VTZjwbN0K1IFGMlwm06Uu0Emcre2Z63l77nq/pzn+KxIEoA==
388 | dependencies:
389 | estree-walker "^0.5.2"
390 | micromatch "^2.3.11"
391 |
392 | rollup@^0.67.0:
393 | version "0.67.0"
394 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.67.0.tgz#16d4f259c55224dded6408e7666b7731500797a3"
395 | integrity sha512-p34buXxArhwv9ieTdHvdhdo65Cbig68s/Z8llbZuiX5e+3zCqnBF02Ck9IH0tECrmvvrJVMws32Ry84hTnS1Tw==
396 | dependencies:
397 | "@types/estree" "0.0.39"
398 | "@types/node" "*"
399 |
400 | sade@^1.4.1:
401 | version "1.4.1"
402 | resolved "https://registry.yarnpkg.com/sade/-/sade-1.4.1.tgz#80c6dfd3c03db1fbcd6bc10c0eb52f71e7cadc01"
403 | integrity sha512-r2S6GwNeYFYx02w2SYUfhYI9PzxdfNWxsX1QpI3Z4rK9bu9K3FtNVg2awp54Y9iivcYqR2iWqI3nT5jEihNyBg==
404 | dependencies:
405 | mri "^1.1.0"
406 | pad-right "^0.2.2"
407 |
408 | sisteransi@^1.0.0:
409 | version "1.0.0"
410 | resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c"
411 | integrity sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ==
412 |
413 | sourcemap-codec@^1.4.1:
414 | version "1.4.1"
415 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.1.tgz#c8fd92d91889e902a07aee392bdd2c5863958ba2"
416 | integrity sha512-hX1eNBNuilj8yfFnECh0DzLgwKpBLMIvmhgEhixXNui8lMLBInTI8Kyxt++RwJnMNu7cAUo635L2+N1TxMJCzA==
417 |
418 | svelte@1:
419 | version "1.64.1"
420 | resolved "https://registry.yarnpkg.com/svelte/-/svelte-1.64.1.tgz#03c97e204e0277c1430f429a6755ca425852e5de"
421 | integrity sha512-RsEAcVYF90Bq5y4Lgg56LyKiuxiyDTU+5TG2GM0ppa50z446de0vQgnA3eQTrgecPdRR89ZIqNqN1cgdAdO7wQ==
422 |
423 | tape-modern@^1.1.1:
424 | version "1.1.1"
425 | resolved "https://registry.yarnpkg.com/tape-modern/-/tape-modern-1.1.1.tgz#32189f709740672dc4ca965489208caba983986e"
426 | integrity sha512-sb1PNwSlphD2t5z9diUO7dd+r25sfdw94wD3yyi1Dcmu7oJ6wKMGdZ/pB6OZ0jqm0oAEESL4iOHeiCqnHhc1dg==
427 |
428 | turbocolor@^2.6.1:
429 | version "2.6.1"
430 | resolved "https://registry.yarnpkg.com/turbocolor/-/turbocolor-2.6.1.tgz#1b47dcc0e0e5171f57d954351fb80a5088a8a921"
431 | integrity sha512-0pTvPfKBIasx7C4bEorJY9I3SNbkyQrFeRxK8iMoarEHZLQLOhPungv9t/7SSfKLJdErhv4dC2GKmaNGURnk4A==
432 |
433 | wrappy@1:
434 | version "1.0.2"
435 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
436 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
437 |
--------------------------------------------------------------------------------