diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 00000000..191ae4cc
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1 @@
+*.d.ts
\ No newline at end of file
diff --git a/.eslintrc.js b/.eslintrc.js
index e6e16efb..44f7d0f9 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -5,22 +5,16 @@ module.exports = {
ecmaVersion: 2017,
},
plugins: ['node', 'prettier'],
- extends: [
- 'eslint:recommended',
- 'plugin:node/recommended',
- 'plugin:prettier/recommended',
- ],
+ extends: ['eslint:recommended', 'plugin:node/recommended', 'plugin:prettier/recommended'],
env: {
node: true,
},
- ignorePatterns: ['dist/**/*.js'],
- rules: { },
+ ignorePatterns: ['src/**/*.js', '__tests__/**/*.js'],
+ rules: {},
overrides: [
// test files
{
- files: [
- '__tests__/**/*.js',
- ],
+ files: ['__tests__/**/*.js'],
env: {
jest: true,
},
@@ -39,31 +33,40 @@ module.exports = {
'plugin:@typescript-eslint/recommended',
],
rules: {
- 'node/no-unsupported-features/es-syntax': ['error', {
- 'ignores': ['modules']
- }],
+ 'prefer-const': 'off',
+ 'node/no-unsupported-features/es-syntax': [
+ 'error',
+ {
+ ignores: ['modules'],
+ },
+ ],
'node/no-missing-import': 'off',
- '@typescript-eslint/no-explicit-any': 'error',
+ '@typescript-eslint/no-explicit-any': 'off',
+ '@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/explicit-function-return-type': 'error',
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
+ '@typescript-eslint/explicit-module-boundary-types': ['off'],
// We should try to remove this eventually
'@typescript-eslint/explicit-function-return-type': 'off',
- '@typescript-eslint/ban-types': ['error', {
- types: {
- // we currently use `object` as "valid WeakMap key" in a lot of APIs
- object: false,
- }
- }],
+ '@typescript-eslint/ban-types': [
+ 'error',
+ {
+ types: {
+ // we currently use `object` as "valid WeakMap key" in a lot of APIs
+ object: false,
+ },
+ },
+ ],
// disabling this one because of DEBUG APIs, if we ever find a better
// way to suport those we should re-enable it
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/no-use-before-define': 'off',
- }
+ },
},
],
};
diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml
index 89e39ad1..6033226d 100644
--- a/.github/workflows/nodejs.yml
+++ b/.github/workflows/nodejs.yml
@@ -10,7 +10,7 @@ on:
pull_request: {}
schedule:
- - cron: '0 6 * * 0' # weekly, on sundays
+ - cron: '0 6 * * 0' # weekly, on sundays
jobs:
lint:
@@ -18,16 +18,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
- - uses: actions/setup-node@v1
- with:
- node-version: 12.x
- - name: install yarn
- run: npm install -g yarn
- - name: install dependencies
- run: yarn install
- - name: linting
- run: yarn lint
+ - uses: actions/checkout@v1
+ - uses: actions/setup-node@v1
+ with:
+ node-version: 12.x
+ - name: install yarn
+ run: npm install -g yarn
+ - name: install dependencies
+ run: yarn install
+ - name: linting
+ run: yarn lint
test:
name: Tests
@@ -35,32 +35,32 @@ jobs:
strategy:
matrix:
- node: ['10', '12', '14']
+ node: ['12', '14']
steps:
- - uses: actions/checkout@v1
- - uses: actions/setup-node@v1
- with:
- node-version: ${{ matrix.node }}
- - name: install yarn
- run: npm install -g yarn
- - name: install dependencies
- run: yarn install
- - name: test
- run: yarn test
+ - uses: actions/checkout@v1
+ - uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node }}
+ - name: install yarn
+ run: npm install -g yarn
+ - name: install dependencies
+ run: yarn install
+ - name: test
+ run: yarn test
floating-test:
name: Floating dependencies
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
- - uses: actions/setup-node@v1
- with:
- node-version: '12.x'
- - name: install yarn
- run: npm install -g yarn
- - name: install dependencies
- run: yarn install --no-lockfile
- - name: test
- run: yarn test
+ - uses: actions/checkout@v1
+ - uses: actions/setup-node@v1
+ with:
+ node-version: '12.x'
+ - name: install yarn
+ run: npm install -g yarn
+ - name: install dependencies
+ run: yarn install --no-lockfile
+ - name: test
+ run: yarn test
diff --git a/.gitignore b/.gitignore
index 61a0ef8c..7e95d7d4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,9 @@ node_modules
/.eslintcache
/dist
yarn-error.log
+/src/**/*.d.ts
+/src/**/*.js
+/src/**/*.js.map
+/__tests__/**/*.d.ts
+/__tests__/**/*.js
+/__tests__/**/*.js.map
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 00000000..685ecebd
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,22 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Debug Jest Tests",
+ "type": "node",
+ "request": "launch",
+ "runtimeArgs": [
+ "--inspect-brk",
+ "${workspaceRoot}/node_modules/.bin/jest",
+ "--runInBand",
+ "--no-cache"
+ ],
+ "console": "integratedTerminal",
+ "internalConsoleOptions": "neverOpen",
+ "port": 9229
+ }
+ ]
+}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 00000000..cac0e10e
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "editor.formatOnSave": true
+}
\ No newline at end of file
diff --git a/__tests__/mock-precompile.js b/__tests__/mock-precompile.js
deleted file mode 100644
index 65f90688..00000000
--- a/__tests__/mock-precompile.js
+++ /dev/null
@@ -1,5 +0,0 @@
-module.exports = {
- precompile(value) {
- return `precompiledFromPath(${value})`;
- },
-};
diff --git a/__tests__/mock-precompile.ts b/__tests__/mock-precompile.ts
new file mode 100644
index 00000000..22e60fbf
--- /dev/null
+++ b/__tests__/mock-precompile.ts
@@ -0,0 +1,3 @@
+export function precompile(value: string) {
+ return `precompiledFromPath(${value})`;
+}
diff --git a/__tests__/preprocess-embedded-templates-tests.js b/__tests__/preprocess-embedded-templates-tests.js
deleted file mode 100644
index c225c6e7..00000000
--- a/__tests__/preprocess-embedded-templates-tests.js
+++ /dev/null
@@ -1,1071 +0,0 @@
-const { preprocessEmbeddedTemplates } = require('../index');
-const { stripIndent } = require('common-tags');
-
-const getTemplateLocalsRequirePath = require.resolve('@glimmer/syntax');
-const { getTemplateLocals } = require('@glimmer/syntax');
-
-const EAGER_TEMPLATE_TAG_CONFIG = {
- getTemplateLocals,
-
- templateTag: 'template',
- templateTagReplacement: 'GLIMMER_TEMPLATE',
-
- relativePath: '/foo/bar.gjs',
- includeSourceMaps: false,
- includeTemplateTokens: true,
-};
-
-const TEMPLATE_TAG_CONFIG = {
- getTemplateLocalsRequirePath,
- getTemplateLocalsExportPath: 'getTemplateLocals',
-
- templateTag: 'template',
- templateTagReplacement: 'GLIMMER_TEMPLATE',
-
- relativePath: '/foo/bar.gjs',
- includeSourceMaps: false,
- includeTemplateTokens: true,
-};
-
-const TEMPLATE_LITERAL_CONFIG = {
- getTemplateLocalsRequirePath,
- getTemplateLocalsExportPath: 'getTemplateLocals',
-
- importIdentifier: 'hbs',
- importPath: 'ember-template-imports',
-
- relativePath: '/foo/bar.js',
- includeSourceMaps: false,
- includeTemplateTokens: true,
-};
-
-describe('htmlbars-inline-precompile: preprocessEmbeddedTemplates', () => {
- describe('template tag', () => {
- it('works with eager config', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- Hello, world!
- `,
- EAGER_TEMPLATE_TAG_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "[GLIMMER_TEMPLATE(\`Hello, world!\`)]",
- "replacements": Array [
- Object {
- "index": 0,
- "newLength": 19,
- "oldLength": 10,
- "originalCol": 1,
- "originalLine": 1,
- "type": "start",
- },
- Object {
- "index": 23,
- "newLength": 3,
- "oldLength": 11,
- "originalCol": 24,
- "originalLine": 1,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('works with basic templates', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- Hello, world!
- `,
- TEMPLATE_TAG_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "[GLIMMER_TEMPLATE(\`Hello, world!\`)]",
- "replacements": Array [
- Object {
- "index": 0,
- "newLength": 19,
- "oldLength": 10,
- "originalCol": 1,
- "originalLine": 1,
- "type": "start",
- },
- Object {
- "index": 23,
- "newLength": 3,
- "oldLength": 11,
- "originalCol": 24,
- "originalLine": 1,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('works with templates assigned to variables', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- const Foo = Hello, world!
- `,
- TEMPLATE_TAG_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "const Foo = [GLIMMER_TEMPLATE(\`Hello, world!\`)]",
- "replacements": Array [
- Object {
- "index": 12,
- "newLength": 19,
- "oldLength": 10,
- "originalCol": 13,
- "originalLine": 1,
- "type": "start",
- },
- Object {
- "index": 35,
- "newLength": 3,
- "oldLength": 11,
- "originalCol": 36,
- "originalLine": 1,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('works with nested templates', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
-
- Hello, world!
-
- `,
- TEMPLATE_TAG_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "[GLIMMER_TEMPLATE(\`
- Hello, world!
- \`)]",
- "replacements": Array [
- Object {
- "index": 0,
- "newLength": 19,
- "oldLength": 10,
- "originalCol": 1,
- "originalLine": 1,
- "type": "start",
- },
- Object {
- "index": 48,
- "newLength": 3,
- "oldLength": 11,
- "originalCol": 1,
- "originalLine": 3,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('it does not process templates in strings', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- const Foo =
- const foo = "";
- const Bar =
- const bar = '';
- const Baz =
- const baz = \`
-
- \${''}
- \${expr({ foo: '' })}
- \${nested(\`
-
- \`)}
-
- \`;
-
-
- const regex = /<\/template>/;
- `,
- TEMPLATE_TAG_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "const Foo = [GLIMMER_TEMPLATE(\`\`)]
- const foo = \\"\\";
- const Bar = [GLIMMER_TEMPLATE(\`\`)]
- const bar = '';
- const Baz = [GLIMMER_TEMPLATE(\`\`)]
- const baz = \`
-
- \${''}
- \${expr({ foo: '' })}
- \${nested(\`
-
- \`)}
-
- \`;
-
- [GLIMMER_TEMPLATE(\`\`)]
- const regex = //;",
- "replacements": Array [
- Object {
- "index": 12,
- "newLength": 19,
- "oldLength": 10,
- "originalCol": 13,
- "originalLine": 1,
- "type": "start",
- },
- Object {
- "index": 22,
- "newLength": 3,
- "oldLength": 11,
- "originalCol": 23,
- "originalLine": 1,
- "type": "end",
- },
- Object {
- "index": 83,
- "newLength": 19,
- "oldLength": 10,
- "originalCol": 13,
- "originalLine": 3,
- "type": "start",
- },
- Object {
- "index": 93,
- "newLength": 3,
- "oldLength": 11,
- "originalCol": 23,
- "originalLine": 3,
- "type": "end",
- },
- Object {
- "index": 154,
- "newLength": 19,
- "oldLength": 10,
- "originalCol": 13,
- "originalLine": 5,
- "type": "start",
- },
- Object {
- "index": 164,
- "newLength": 3,
- "oldLength": 11,
- "originalCol": 23,
- "originalLine": 5,
- "type": "end",
- },
- Object {
- "index": 349,
- "newLength": 19,
- "oldLength": 10,
- "originalCol": 1,
- "originalLine": 16,
- "type": "start",
- },
- Object {
- "index": 359,
- "newLength": 3,
- "oldLength": 11,
- "originalCol": 11,
- "originalLine": 16,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('it does not process templates or tokens in comments', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- //
- /* */
- /*
-
- other tokens
- \`"'/
- */
-
-
- `,
- TEMPLATE_TAG_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "//
- /* */
- /*
-
- other tokens
- \`\\"'/
- */
-
- [GLIMMER_TEMPLATE(\`\`)]",
- "replacements": Array [
- Object {
- "index": 106,
- "newLength": 19,
- "oldLength": 10,
- "originalCol": 1,
- "originalLine": 9,
- "type": "start",
- },
- Object {
- "index": 116,
- "newLength": 3,
- "oldLength": 11,
- "originalCol": 11,
- "originalLine": 9,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('works with class templates', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- class Foo {
- Hello, world!
- }
- `,
- TEMPLATE_TAG_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "class Foo {
- [GLIMMER_TEMPLATE(\`Hello, world!\`)]
- }",
- "replacements": Array [
- Object {
- "index": 14,
- "newLength": 19,
- "oldLength": 10,
- "originalCol": 3,
- "originalLine": 2,
- "type": "start",
- },
- Object {
- "index": 37,
- "newLength": 3,
- "oldLength": 11,
- "originalCol": 26,
- "originalLine": 2,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('works with basic multi-line aoeu templates', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- class Foo {
-
- Hello, world!
-
- }
- `,
- TEMPLATE_TAG_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "class Foo {
- [GLIMMER_TEMPLATE(\`
- Hello, world!
- \`)]
- }",
- "replacements": Array [
- Object {
- "index": 14,
- "newLength": 19,
- "oldLength": 10,
- "originalCol": 3,
- "originalLine": 2,
- "type": "start",
- },
- Object {
- "index": 45,
- "newLength": 3,
- "oldLength": 11,
- "originalCol": 3,
- "originalLine": 4,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('exposes template identifiers', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- class Foo {
-
-
-
-
- <:main>
-
-
- {{#if globalValue}}
- {{globalHelper 123}}
- {{/if}}
-
- {{#if this.localValue}}
- {{this.localHelper 123}}
- {{/if}}
-
- {{@arg}}
- <@argComponent />
-
- {{#this.dynamicBlockComponent}}
- {{/this.dynamicBlockComponent}}
-
-
-
-
- }
- `,
- TEMPLATE_TAG_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "class Foo {
- [GLIMMER_TEMPLATE(\`
-
-
-
- <:main>
-
-
- {{#if globalValue}}
- {{globalHelper 123}}
- {{/if}}
-
- {{#if this.localValue}}
- {{this.localHelper 123}}
- {{/if}}
-
- {{@arg}}
- <@argComponent />
-
- {{#this.dynamicBlockComponent}}
- {{/this.dynamicBlockComponent}}
-
-
-
- \`, { scope() { return {Component,ComponentWithYield,globalValue,globalHelper}; } })]
- }",
- "replacements": Array [
- Object {
- "index": 14,
- "newLength": 19,
- "oldLength": 10,
- "originalCol": 3,
- "originalLine": 2,
- "type": "start",
- },
- Object {
- "index": 431,
- "newLength": 84,
- "oldLength": 11,
- "originalCol": 3,
- "originalLine": 25,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('throws if template args are detected', () => {
- expect(() => {
- preprocessEmbeddedTemplates(
- stripIndent`
- class Foo {
-
- Hello, world!
-
- }
- `,
- TEMPLATE_TAG_CONFIG
- );
- }).toThrow(/embedded template preprocessing currently does not support passing arguments/);
- });
-
- it('can include sourcemaps', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- class Foo {
- Hello, world!
- }
- `,
- Object.assign({}, TEMPLATE_TAG_CONFIG, { includeSourceMaps: true })
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "class Foo {
- [GLIMMER_TEMPLATE(\`Hello, world!\`)]
- }
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyLmpzIiwic291cmNlcyI6WyJiYXIuZ2pzIl0sInNvdXJjZXNDb250ZW50IjpbImNsYXNzIEZvbyB7XG4gIDx0ZW1wbGF0ZT5IZWxsbywgd29ybGQhPC90ZW1wbGF0ZT5cbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLG1CQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBVztBQUNwQyJ9",
- "replacements": Array [
- Object {
- "index": 14,
- "newLength": 19,
- "oldLength": 10,
- "originalCol": 3,
- "originalLine": 2,
- "type": "start",
- },
- Object {
- "index": 37,
- "newLength": 3,
- "oldLength": 11,
- "originalCol": 26,
- "originalLine": 2,
- "type": "end",
- },
- ],
- }
- `);
- });
- });
-
- describe('template literal', () => {
- it('works with basic templates', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- import { hbs } from 'ember-template-imports';
-
- export default hbs\`Hello, world!\`;
- `,
- TEMPLATE_LITERAL_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "import { hbs } from 'ember-template-imports';
-
- export default hbs(\`Hello, world!\`);",
- "replacements": Array [
- Object {
- "index": 62,
- "newLength": 5,
- "oldLength": 4,
- "originalCol": 16,
- "originalLine": 3,
- "type": "start",
- },
- Object {
- "index": 79,
- "newLength": 2,
- "oldLength": 1,
- "originalCol": 33,
- "originalLine": 3,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('works with templates assigned to variables', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- import { hbs } from 'ember-template-imports';
-
- const Foo = hbs\`Hello, world!\`;
- `,
- TEMPLATE_LITERAL_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "import { hbs } from 'ember-template-imports';
-
- const Foo = hbs(\`Hello, world!\`);",
- "replacements": Array [
- Object {
- "index": 59,
- "newLength": 5,
- "oldLength": 4,
- "originalCol": 13,
- "originalLine": 3,
- "type": "start",
- },
- Object {
- "index": 76,
- "newLength": 2,
- "oldLength": 1,
- "originalCol": 30,
- "originalLine": 3,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('works with class templates', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs\`Hello, world!\`;
- }
- `,
- TEMPLATE_LITERAL_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs(\`Hello, world!\`);
- }",
- "replacements": Array [
- Object {
- "index": 79,
- "newLength": 5,
- "oldLength": 4,
- "originalCol": 21,
- "originalLine": 4,
- "type": "start",
- },
- Object {
- "index": 96,
- "newLength": 2,
- "oldLength": 1,
- "originalCol": 38,
- "originalLine": 4,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('works with basic multi-line templates', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs\`
- Hello, world!
- \`;
- }
- `,
- TEMPLATE_LITERAL_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs(\`
- Hello, world!
- \`);
- }",
- "replacements": Array [
- Object {
- "index": 79,
- "newLength": 5,
- "oldLength": 4,
- "originalCol": 21,
- "originalLine": 4,
- "type": "start",
- },
- Object {
- "index": 104,
- "newLength": 2,
- "oldLength": 1,
- "originalCol": 3,
- "originalLine": 6,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('it does not process templates or tokens in comments', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- import { hbs } from 'ember-template-imports';
-
- // hbs\`hello\`
- /* hbs\`hello\` */
- /*
- hbs\`hello\`
- other tokens
- \`"'/
- */
-
- export default hbs\`hello\`;
- `,
- TEMPLATE_LITERAL_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "import { hbs } from 'ember-template-imports';
-
- // hbs\`hello\`
- /* hbs\`hello\` */
- /*
- hbs\`hello\`
- other tokens
- \`\\"'/
- */
-
- export default hbs(\`hello\`);",
- "replacements": Array [
- Object {
- "index": 135,
- "newLength": 5,
- "oldLength": 4,
- "originalCol": 16,
- "originalLine": 11,
- "type": "start",
- },
- Object {
- "index": 144,
- "newLength": 2,
- "oldLength": 1,
- "originalCol": 25,
- "originalLine": 11,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('exposes template identifiers', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs\`
-
-
-
- <:main>
-
-
- {{#if globalValue}}
- {{globalHelper 123}}
- {{/if}}
-
- {{#if this.localValue}}
- {{this.localHelper 123}}
- {{/if}}
-
- {{@arg}}
- <@argComponent />
-
- {{#this.dynamicBlockComponent}}
- {{/this.dynamicBlockComponent}}
-
-
-
- \`;
- }
- `,
- TEMPLATE_LITERAL_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs(\`
-
-
-
- <:main>
-
-
- {{#if globalValue}}
- {{globalHelper 123}}
- {{/if}}
-
- {{#if this.localValue}}
- {{this.localHelper 123}}
- {{/if}}
-
- {{@arg}}
- <@argComponent />
-
- {{#this.dynamicBlockComponent}}
- {{/this.dynamicBlockComponent}}
-
-
-
- \`, { scope() { return {Component,ComponentWithYield,globalValue,globalHelper}; } });
- }",
- "replacements": Array [
- Object {
- "index": 79,
- "newLength": 5,
- "oldLength": 4,
- "originalCol": 21,
- "originalLine": 4,
- "type": "start",
- },
- Object {
- "index": 490,
- "newLength": 83,
- "oldLength": 1,
- "originalCol": 3,
- "originalLine": 27,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('does not preprocess templates without correct import', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- import { otherHbs as hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs\`Hello, world!\`;
- }
- `,
- TEMPLATE_LITERAL_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "import { otherHbs as hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs\`Hello, world!\`;
- }",
- "replacements": Array [],
- }
- `);
- });
-
- it('does preprocess templates based on import name', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- import { hbs as otherHbs } from 'ember-template-imports';
-
- class Foo {
- static template = otherHbs\`Hello, world!\`;
- }
- `,
- TEMPLATE_LITERAL_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "import { hbs as otherHbs } from 'ember-template-imports';
-
- class Foo {
- static template = otherHbs(\`Hello, world!\`);
- }",
- "replacements": Array [
- Object {
- "index": 91,
- "newLength": 10,
- "oldLength": 9,
- "originalCol": 21,
- "originalLine": 4,
- "type": "start",
- },
- Object {
- "index": 113,
- "newLength": 2,
- "oldLength": 1,
- "originalCol": 43,
- "originalLine": 4,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('does not preprocess templates that contain dynamic segments', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs\`\${'Dynamic!'}\`;
- }
- `,
- TEMPLATE_LITERAL_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs\`\${'Dynamic!'}\`;
- }",
- "replacements": Array [],
- }
- `);
- });
-
- it('does preprocess templates that contain escaped dynamic segments', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs\`\\\${'Actually not dynamic!'}\`;
- }
- `,
- TEMPLATE_LITERAL_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs(\`\\\\\${'Actually not dynamic!'}\`);
- }",
- "replacements": Array [
- Object {
- "index": 79,
- "newLength": 5,
- "oldLength": 4,
- "originalCol": 21,
- "originalLine": 4,
- "type": "start",
- },
- Object {
- "index": 110,
- "newLength": 2,
- "oldLength": 1,
- "originalCol": 52,
- "originalLine": 4,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('correctly preprocesses templates that contain escaped backticks', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs\`\\\`\`;
- }
- `,
- TEMPLATE_LITERAL_CONFIG
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs(\`\\\\\`\`);
- }",
- "replacements": Array [
- Object {
- "index": 79,
- "newLength": 5,
- "oldLength": 4,
- "originalCol": 21,
- "originalLine": 4,
- "type": "start",
- },
- Object {
- "index": 85,
- "newLength": 2,
- "oldLength": 1,
- "originalCol": 27,
- "originalLine": 4,
- "type": "end",
- },
- ],
- }
- `);
- });
-
- it('can include sourcemaps', () => {
- let preprocessed = preprocessEmbeddedTemplates(
- stripIndent`
- import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs\`Hello, world!\`
- }
- `,
- Object.assign({}, TEMPLATE_LITERAL_CONFIG, { includeSourceMaps: true })
- );
-
- expect(preprocessed).toMatchInlineSnapshot(`
- Object {
- "output": "import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs(\`Hello, world!\`)
- }
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyLmpzIiwic291cmNlcyI6WyJiYXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGJzIH0gZnJvbSAnZW1iZXItdGVtcGxhdGUtaW1wb3J0cyc7XG5cbmNsYXNzIEZvbyB7XG4gIHN0YXRpYyB0ZW1wbGF0ZSA9IGhic2BIZWxsbywgd29ybGQhYFxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQztBQUN0QyJ9",
- "replacements": Array [
- Object {
- "index": 79,
- "newLength": 5,
- "oldLength": 4,
- "originalCol": 21,
- "originalLine": 4,
- "type": "start",
- },
- Object {
- "index": 96,
- "newLength": 2,
- "oldLength": 1,
- "originalCol": 38,
- "originalLine": 4,
- "type": "end",
- },
- ],
- }
- `);
- });
- });
-});
diff --git a/__tests__/template-literal-tests.js b/__tests__/template-literal-tests.js
deleted file mode 100644
index ab9d2ef2..00000000
--- a/__tests__/template-literal-tests.js
+++ /dev/null
@@ -1,709 +0,0 @@
-'use strict';
-
-const babel = require('@babel/core');
-const HTMLBarsInlinePrecompile = require('../index');
-const TransformModules = require('@babel/plugin-transform-modules-amd');
-
-const { preprocessEmbeddedTemplates } = HTMLBarsInlinePrecompile;
-
-const TEMPLATE_LITERAL_CONFIG = {
- getTemplateLocalsRequirePath: require.resolve('@glimmer/syntax'),
- getTemplateLocalsExportPath: 'getTemplateLocals',
-
- importIdentifier: 'hbs',
- importPath: 'ember-template-imports',
-
- relativePath: '/foo/bar.js',
- includeSourceMaps: false,
- includeTemplateTokens: true,
-};
-
-describe('htmlbars-inline-precompile: useTemplateLiteralProposalSemantics', function () {
- let precompile, plugins, optionsReceived;
-
- function transform(code) {
- return babel
- .transform(code, {
- filename: 'foo-bar.js',
- plugins,
- })
- .code.trim();
- }
-
- beforeEach(function () {
- optionsReceived = undefined;
- precompile = (template, options) => {
- optionsReceived = options;
- return `"precompiled(${template})"`;
- };
-
- plugins = [
- [
- HTMLBarsInlinePrecompile,
- {
- precompile() {
- return precompile.apply(this, arguments);
- },
-
- ensureModuleApiPolyfill: false,
-
- modules: {
- 'ember-template-imports': {
- export: 'hbs',
- useTemplateLiteralProposalSemantics: 1,
- },
- },
- },
- ],
- '@babel/plugin-proposal-class-properties',
- ];
- });
-
- it('works with templates assigned to variables', function () {
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- const Foo = hbs\`hello\`;
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- const Foo = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"Foo\\"));"
- `);
- });
-
- it('works with templates exported as the default', function () {
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- export default hbs\`hello\`;
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export default _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"_fooBar\\"));"
- `);
- });
-
- it('works with templates assigned to classes', function () {
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs\`hello\`;
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- class Foo {}
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to class expressions', function () {
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- const Foo = class {
- static template = hbs\`hello\`;
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- const Foo = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), class {});"
- `);
- });
-
- it('works with anonymous class declarations exported as the default', function () {
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
- export default class {
- static template = hbs\`hello\`;
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export default _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), class {});"
- `);
- });
-
- it('works with templates assigned to export classes', function () {
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- export class Foo {
- static template = hbs\`hello\`;
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export class Foo {}
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to export default classes', function () {
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- export default class Foo {
- static template = hbs\`hello\`;
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export default class Foo {}
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('correctly handles scope', function () {
- let source = 'hello';
- transform(
- `
- import { hbs } from 'ember-template-imports';
- import baz from 'qux';
-
- let foo = 123;
- const bar = 456;
-
- export default hbs\`${source}\`;
- `
- );
-
- expect(optionsReceived).toEqual({
- contents: source,
- isProduction: undefined,
- locals: ['baz', 'foo', 'bar'],
- strictMode: true,
- });
- });
-
- it('works if used in an arbitrary expression statement', function () {
- let transpiled = transform("import { hbs } from 'ember-template-imports';\nhbs`hello`;");
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"_fooBar\\"));"
- `);
- });
-
- it('works when passed directly to a function', function () {
- let transpiled = transform("import { hbs } from 'ember-template-imports';\nfunc(hbs`hello`);");
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- func(_setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"_fooBar\\")));"
- `);
- });
-
- it('errors if passed incorrect useTemplateLiteralProposalSemantics version', function () {
- plugins[0][1].modules['ember-template-imports'].useTemplateLiteralProposalSemantics = true;
-
- expect(() => {
- transform(
- `
- import { hbs } from 'ember-template-imports';
-
- const Foo = hbs\`hello\`;
- `
- );
- }).toThrow(
- /Passed an invalid version for useTemplateLiteralProposalSemantics. This option must be assign a version number. The current valid version numbers are: 1/
- );
- });
-
- it('works with glimmer modules', function () {
- plugins[0][1].moduleOverrides = {
- '@ember/component/template-only': {
- default: ['templateOnlyComponent', '@glimmer/core'],
- },
- '@ember/template-factory': {
- createTemplateFactory: ['createTemplateFactory', '@glimmer/core'],
- },
- '@ember/component': {
- setComponentTemplate: ['setComponentTemplate', '@glimmer/core'],
- },
- };
-
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- const Foo = hbs\`hello\`;
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { templateOnlyComponent as _templateOnlyComponent } from \\"@glimmer/core\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@glimmer/core\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@glimmer/core\\";
-
- const Foo = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _templateOnlyComponent(\\"foo-bar\\", \\"Foo\\"));"
- `);
- });
-
- describe('with preprocessing', function () {
- it('works with templates assigned to variables', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- import { hbs } from 'ember-template-imports';
-
- const Foo = hbs\`hello\`;
- `,
- TEMPLATE_LITERAL_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- const Foo = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"Foo\\"));"
- `);
- });
-
- it('works with templates exported as the default', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- import { hbs } from 'ember-template-imports';
-
- export default hbs\`hello\`;
- `,
- TEMPLATE_LITERAL_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export default _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"_fooBar\\"));"
- `);
- });
-
- it('works with templates assigned to classes', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs\`hello\`;
- }
- `,
- TEMPLATE_LITERAL_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- class Foo {}
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to class expressions', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- import { hbs } from 'ember-template-imports';
-
- const Foo = class {
- static template = hbs\`hello\`;
- }
- `,
- TEMPLATE_LITERAL_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- const Foo = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), class {});"
- `);
- });
-
- it('works with templates assigned to export classes', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- import { hbs } from 'ember-template-imports';
-
- export class Foo {
- static template = hbs\`hello\`;
- }
- `,
- TEMPLATE_LITERAL_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export class Foo {}
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to export default classes', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- import { hbs } from 'ember-template-imports';
-
- export default class Foo {
- static template = hbs\`hello\`;
- }
- `,
- TEMPLATE_LITERAL_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export default class Foo {}
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('correctly handles scope', function () {
- let source = '{{foo}} {{bar}}
';
- transform(
- preprocessEmbeddedTemplates(
- `
- import { hbs } from 'ember-template-imports';
- import Baz from 'qux';
-
- let foo = 123;
- const bar = 456;
-
- export default hbs\`${source}\`;
- `,
- TEMPLATE_LITERAL_CONFIG
- ).output
- );
-
- expect(optionsReceived).toEqual({
- contents: source,
- isProduction: undefined,
- locals: ['Baz', 'foo', 'bar'],
- strictMode: true,
- });
- });
-
- it('works if used in an arbitrary expression statement', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- "import { hbs } from 'ember-template-imports';\nhbs`hello`;",
- TEMPLATE_LITERAL_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"_fooBar\\"));"
- `);
- });
-
- it('works when passed directly to a function', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- "import { hbs } from 'ember-template-imports';\nfunc(hbs`hello`);",
- TEMPLATE_LITERAL_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- func(_setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"_fooBar\\")));"
- `);
- });
- });
-
- describe('with babel-plugin-ember-modules-api-polyfill', function () {
- beforeEach(() => {
- plugins.push('babel-plugin-ember-modules-api-polyfill');
- });
-
- it('works with templates assigned to variables', function () {
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- const Foo = hbs\`hello\`;
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "const Foo = Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Ember._templateOnlyComponent(\\"foo-bar\\", \\"Foo\\"));"
- `);
- });
-
- it('works with templates exported as the default', function () {
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- export default hbs\`hello\`;
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "export default Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Ember._templateOnlyComponent(\\"foo-bar\\", \\"_fooBar\\"));"
- `);
- });
-
- it('works with templates assigned to classes', function () {
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- class Foo {
- static template = hbs\`hello\`;
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "class Foo {}
-
- Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to export classes', function () {
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- export class Foo {
- static template = hbs\`hello\`;
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "export class Foo {}
-
- Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to export default classes', function () {
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- export default class Foo {
- static template = hbs\`hello\`;
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "export default class Foo {}
-
- Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to class expressions', function () {
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- const Foo = class {
- static template = hbs\`hello\`;
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "const Foo = Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), class {});"
- `);
- });
-
- it('works when used alongside modules transform', function () {
- plugins[0][1].ensureModuleApiPolyfill = true;
- plugins.push([TransformModules]);
-
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- const Foo = hbs\`hello\`;
- const Bar = hbs\`hello\`;
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "define([], function () {
- \\"use strict\\";
-
- const Foo = Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Ember._templateOnlyComponent(\\"foo-bar\\", \\"Foo\\"));
-
- const Bar = Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Ember._templateOnlyComponent(\\"foo-bar\\", \\"Bar\\"));
- });"
- `);
- });
- });
-});
diff --git a/__tests__/template-tag-tests.js b/__tests__/template-tag-tests.js
deleted file mode 100644
index 2acdf2f0..00000000
--- a/__tests__/template-tag-tests.js
+++ /dev/null
@@ -1,761 +0,0 @@
-'use strict';
-
-const babel = require('@babel/core');
-const HTMLBarsInlinePrecompile = require('../index');
-const TransformModules = require('@babel/plugin-transform-modules-amd');
-
-const { preprocessEmbeddedTemplates } = HTMLBarsInlinePrecompile;
-
-const TEMPLATE_TAG_CONFIG = {
- getTemplateLocalsRequirePath: require.resolve('@glimmer/syntax'),
- getTemplateLocalsExportPath: 'getTemplateLocals',
-
- templateTag: 'template',
- templateTagReplacement: 'GLIMMER_TEMPLATE',
-
- relativePath: '/foo/bar.gjs',
- includeSourceMaps: false,
- includeTemplateTokens: true,
-};
-
-describe('htmlbars-inline-precompile: useTemplateTagProposalSemantics', function () {
- let precompile, plugins, optionsReceived;
-
- function transform(code) {
- return babel
- .transform(code, {
- filename: 'foo-bar.js',
- plugins,
- })
- .code.trim();
- }
-
- beforeEach(function () {
- optionsReceived = undefined;
- precompile = (template, options) => {
- optionsReceived = options;
- return `"precompiled(${template})"`;
- };
-
- plugins = [
- [
- HTMLBarsInlinePrecompile,
- {
- precompile() {
- return precompile.apply(this, arguments);
- },
-
- ensureModuleApiPolyfill: false,
-
- modules: {
- 'TEMPLATE-TAG-MODULE': {
- export: 'GLIMMER_TEMPLATE',
- debugName: '',
- useTemplateTagProposalSemantics: 1,
- },
- },
- },
- ],
- '@babel/plugin-proposal-class-properties',
- ];
- });
-
- it('works with templates assigned to variables', function () {
- let transpiled = transform(
- `
- const Foo = [GLIMMER_TEMPLATE(\`hello\`)];
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- const Foo = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"Foo\\"));"
- `);
- });
-
- it('works with templates exported as variables', function () {
- let transpiled = transform(
- `
- export const Foo = [GLIMMER_TEMPLATE(\`hello\`)];
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export const Foo = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"Foo\\"));"
- `);
- });
-
- it('works with templates exported as the default', function () {
- let transpiled = transform(
- `
- export default [GLIMMER_TEMPLATE(\`hello\`)];
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export default _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"_fooBar\\"));"
- `);
- });
-
- it('works with templates defined at the top level', function () {
- let transpiled = transform(
- `
- [GLIMMER_TEMPLATE(\`hello\`)];
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export default _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"_fooBar\\"));"
- `);
- });
-
- it('works with templates assigned to classes', function () {
- let transpiled = transform(
- `
- class Foo {
- [GLIMMER_TEMPLATE(\`hello\`)];
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- class Foo {}
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to export classes', function () {
- let transpiled = transform(
- `
- export class Foo {
- [GLIMMER_TEMPLATE(\`hello\`)];
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export class Foo {}
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to export default classes', function () {
- let transpiled = transform(
- `
- export default class Foo {
- [GLIMMER_TEMPLATE(\`hello\`)];
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export default class Foo {}
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to class expressions', function () {
- let transpiled = transform(
- `
- const Foo = class {
- [GLIMMER_TEMPLATE(\`hello\`)];
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- const Foo = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), class {});"
- `);
- });
-
- it('correctly handles scope', function () {
- let source = 'hello';
- transform(
- `
- import baz from 'qux';
-
- let foo = 123;
- const bar = 456;
-
- export default [GLIMMER_TEMPLATE(\`${source}\`)];
- `
- );
-
- expect(optionsReceived).toEqual({
- contents: source,
- isProduction: undefined,
- locals: ['baz', 'foo', 'bar'],
- strictMode: true,
- });
- });
-
- it('works when passed directly to a function', function () {
- let transpiled = transform("func([GLIMMER_TEMPLATE('hello')]);");
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- func(_setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"_fooBar\\")));"
- `);
- });
-
- it('errors if used with template literal syntax', function () {
- plugins[0][1].modules['TEMPLATE-TAG-MODULE'].useTemplateLiteralProposalSemantics = 1;
-
- expect(() => {
- transform("func([GLIMMER_TEMPLATE('hello')]);");
- }).toThrow(/Cannot use both the template literal and template tag syntax proposals together/);
- });
-
- it('errors if passed incorrect useTemplateTagProposalSemantics version', function () {
- plugins[0][1].modules['TEMPLATE-TAG-MODULE'].useTemplateTagProposalSemantics = true;
-
- expect(() => {
- transform(
- `
- const Foo = [GLIMMER_TEMPLATE(\`hello\`)];
- `
- );
- }).toThrow(
- /Passed an invalid version for useTemplateTagProposalSemantics. This option must be assign a version number. The current valid version numbers are: 1/
- );
- });
-
- it('works alongside useTemplateLiteralProposalSemantics', function () {
- plugins[0][1].modules['ember-template-imports'] = {
- export: 'hbs',
- useTemplateLiteralProposalSemantics: 1,
- };
-
- let transpiled = transform(
- `
- import { hbs } from 'ember-template-imports';
-
- const Foo = [GLIMMER_TEMPLATE(\`hello\`)];
- const Bar = hbs\`hello\`;
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- const Foo = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"Foo\\"));
-
- const Bar = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"Bar\\"));"
- `);
- });
-
- it('works with glimmer modules', function () {
- plugins[0][1].moduleOverrides = {
- '@ember/component/template-only': {
- default: ['templateOnlyComponent', '@glimmer/core'],
- },
- '@ember/template-factory': {
- createTemplateFactory: ['createTemplateFactory', '@glimmer/core'],
- },
- '@ember/component': {
- setComponentTemplate: ['setComponentTemplate', '@glimmer/core'],
- },
- };
-
- let transpiled = transform(
- `
- const Foo = [GLIMMER_TEMPLATE(\`hello\`)];
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { templateOnlyComponent as _templateOnlyComponent } from \\"@glimmer/core\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@glimmer/core\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@glimmer/core\\";
-
- const Foo = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _templateOnlyComponent(\\"foo-bar\\", \\"Foo\\"));"
- `);
- });
-
- describe('with preprocessing', function () {
- it('works with templates assigned to variables', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- const Foo = hello
- `,
- TEMPLATE_TAG_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- const Foo = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"Foo\\"));"
- `);
- });
-
- it('works with templates exported as variables', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- export const Foo = hello
- `,
- TEMPLATE_TAG_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export const Foo = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"Foo\\"));"
- `);
- });
-
- it('works with templates exported as the default', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- export default hello
- `,
- TEMPLATE_TAG_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export default _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"_fooBar\\"));"
- `);
- });
-
- it('works with templates defined at the top level', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- hello
- `,
- TEMPLATE_TAG_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export default _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"_fooBar\\"));"
- `);
- });
-
- it('works with templates assigned to classes', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- class Foo {
- hello
- }
- `,
- TEMPLATE_TAG_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- class Foo {}
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to export classes', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- export class Foo {
- hello
- }
- `,
- TEMPLATE_TAG_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export class Foo {}
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to export default classes', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- export default class Foo {
- hello
- }
- `,
- TEMPLATE_TAG_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- export default class Foo {}
-
- _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to class expressions', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates(
- `
- const Foo = class {
- hello
- }
- `,
- TEMPLATE_TAG_CONFIG
- ).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- const Foo = _setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), class {});"
- `);
- });
-
- it('correctly handles scope', function () {
- let source = '{{foo}} {{bar}}
';
- transform(
- preprocessEmbeddedTemplates(
- `
- import Baz from 'qux';
-
- let foo = 123;
- const bar = 456;
-
- ${source}
- `,
- TEMPLATE_TAG_CONFIG
- ).output
- );
-
- expect(optionsReceived).toEqual({
- contents: source,
- isProduction: undefined,
- locals: ['Baz', 'foo', 'bar'],
- strictMode: true,
- });
- });
-
- it('works when passed directly to a function', function () {
- let transpiled = transform(
- preprocessEmbeddedTemplates('func(hello);', TEMPLATE_TAG_CONFIG).output
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import _emberComponentTemplateOnly from \\"@ember/component/template-only\\";
- import { setComponentTemplate as _setComponentTemplate } from \\"@ember/component\\";
- import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- func(_setComponentTemplate(_createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\"), _emberComponentTemplateOnly(\\"foo-bar\\", \\"_fooBar\\")));"
- `);
- });
- });
-
- describe('with babel-plugin-ember-modules-api-polyfill', function () {
- beforeEach(() => {
- plugins.push('babel-plugin-ember-modules-api-polyfill');
- });
-
- it('works with templates assigned to variables', function () {
- let transpiled = transform(
- `
- const Foo = [GLIMMER_TEMPLATE(\`hello\`)];
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "const Foo = Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Ember._templateOnlyComponent(\\"foo-bar\\", \\"Foo\\"));"
- `);
- });
-
- it('works with templates exported as variables', function () {
- let transpiled = transform(
- `
- export const Foo = [GLIMMER_TEMPLATE(\`hello\`)];
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "export const Foo = Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Ember._templateOnlyComponent(\\"foo-bar\\", \\"Foo\\"));"
- `);
- });
-
- it('works with templates exported as the default', function () {
- let transpiled = transform(
- `
- export default [GLIMMER_TEMPLATE(\`hello\`)];
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "export default Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Ember._templateOnlyComponent(\\"foo-bar\\", \\"_fooBar\\"));"
- `);
- });
-
- it('works with templates defined at the top level', function () {
- let transpiled = transform(
- `
- [GLIMMER_TEMPLATE(\`hello\`)];
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "export default Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Ember._templateOnlyComponent(\\"foo-bar\\", \\"_fooBar\\"));"
- `);
- });
-
- it('works with templates assigned to classes', function () {
- let transpiled = transform(
- `
- class Foo {
- [GLIMMER_TEMPLATE(\`hello\`)];
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "class Foo {}
-
- Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to export classes', function () {
- let transpiled = transform(
- `
- export class Foo {
- [GLIMMER_TEMPLATE(\`hello\`)];
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "export class Foo {}
-
- Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to export default classes', function () {
- let transpiled = transform(
- `
- export default class Foo {
- [GLIMMER_TEMPLATE(\`hello\`)];
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "export default class Foo {}
-
- Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Foo);"
- `);
- });
-
- it('works with templates assigned to class expressions', function () {
- let transpiled = transform(
- `
- const Foo = class {
- [GLIMMER_TEMPLATE(\`hello\`)];
- }
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "const Foo = Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), class {});"
- `);
- });
-
- it('works when used alongside modules transform', function () {
- plugins[0][1].ensureModuleApiPolyfill = true;
- plugins.push([TransformModules]);
-
- let transpiled = transform(
- `
- const Foo = [GLIMMER_TEMPLATE(\`hello\`)];
- const Bar = [GLIMMER_TEMPLATE(\`hello\`)];
- `
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "define([], function () {
- \\"use strict\\";
-
- const Foo = Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Ember._templateOnlyComponent(\\"foo-bar\\", \\"Foo\\"));
-
- const Bar = Ember._setComponentTemplate(Ember.HTMLBars.template(
- /*
- hello
- */
- \\"precompiled(hello)\\"), Ember._templateOnlyComponent(\\"foo-bar\\", \\"Bar\\"));
- });"
- `);
- });
- });
-});
diff --git a/__tests__/tests.js b/__tests__/tests.js
deleted file mode 100644
index c14f3cfe..00000000
--- a/__tests__/tests.js
+++ /dev/null
@@ -1,953 +0,0 @@
-'use strict';
-
-const path = require('path');
-
-const babel = require('@babel/core');
-const HTMLBarsInlinePrecompile = require('../index');
-const TransformTemplateLiterals = require('@babel/plugin-transform-template-literals');
-const TransformModules = require('@babel/plugin-transform-modules-amd');
-const TransformUnicodeEscapes = require('@babel/plugin-transform-unicode-escapes');
-const { stripIndent } = require('common-tags');
-
-describe('htmlbars-inline-precompile', function () {
- let precompile, plugins, optionsReceived;
-
- function transform(code) {
- return babel
- .transform(code, {
- filename: 'foo-bar.js',
- plugins,
- })
- .code.trim();
- }
-
- beforeEach(function () {
- optionsReceived = undefined;
- precompile = (template, options) => {
- optionsReceived = options;
- return `"precompiled(${template})"`;
- };
-
- plugins = [
- [
- HTMLBarsInlinePrecompile,
- {
- precompile() {
- return precompile.apply(this, arguments);
- },
-
- ensureModuleApiPolyfill: false,
- },
- ],
- ];
- });
-
- it('supports compilation that returns a non-JSON.parseable object', function () {
- precompile = (template) => {
- return `function() { return "${template}"; }`;
- };
-
- let transpiled = transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`hello`;"
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- var compiled = _createTemplateFactory(
- /*
- hello
- */
- function () {
- return \\"hello\\";
- });"
- `);
- });
-
- it('supports compilation with templateCompilerPath', function () {
- plugins[0][1].templateCompilerPath = require.resolve('./mock-precompile');
-
- let transpiled = transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`hello`;"
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- var compiled = _createTemplateFactory(
- /*
- hello
- */
- precompiledFromPath(hello));"
- `);
- });
-
- it('does not error when transpiling multiple modules with a single plugin config', function () {
- let transpiled = transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`hello`;"
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- var compiled = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");"
- `);
-
- transpiled = transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`hello`;"
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- var compiled = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");"
- `);
- });
-
- it('passes options when used as a call expression', function () {
- let source = 'hello';
- transform(`import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs('${source}');`);
-
- expect(optionsReceived).toEqual({
- contents: source,
- });
- });
-
- it('passes through isProduction option when used as a call expression', function () {
- let source = 'hello';
-
- plugins = [
- [
- HTMLBarsInlinePrecompile,
- {
- precompile() {
- return precompile.apply(this, arguments);
- },
-
- ensureModuleApiPolyfill: false,
- isProduction: true,
- locals: null,
- },
- ],
- ];
-
- transform(`import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs('${source}');`);
-
- expect(optionsReceived).toEqual({
- contents: source,
- isProduction: true,
- });
- });
-
- it('uses the user provided isProduction option if present', function () {
- let source = 'hello';
-
- plugins = [
- [
- HTMLBarsInlinePrecompile,
- {
- precompile() {
- return precompile.apply(this, arguments);
- },
-
- isProduction: false,
- },
- ],
- ];
-
- transform(
- `import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs('${source}', { isProduction: true });`
- );
-
- expect(optionsReceived).toEqual({
- contents: source,
- isProduction: true,
- });
- });
-
- it('passes through isProduction option when used as a TaggedTemplateExpression', function () {
- let source = 'hello';
-
- plugins = [
- [
- HTMLBarsInlinePrecompile,
- {
- precompile() {
- return precompile.apply(this, arguments);
- },
-
- ensureModuleApiPolyfill: false,
- isProduction: true,
- },
- ],
- ];
-
- transform(`import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs\`${source}\`;`);
-
- expect(optionsReceived).toEqual({
- contents: source,
- isProduction: true,
- locals: null,
- strictMode: false,
- });
- });
-
- it('allows a template string literal when used as a call expression', function () {
- let source = 'hello';
- transform(`import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs(\`${source}\`);`);
-
- expect(optionsReceived).toEqual({
- contents: source,
- });
- });
-
- it('errors when the template string contains placeholders', function () {
- expect(() =>
- transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs(`string ${value}`)"
- )
- ).toThrow(/placeholders inside a template string are not supported/);
- });
-
- it('errors when the template string is tagged', function () {
- expect(() =>
- transform("import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs(hbs`string`)")
- ).toThrow(/tagged template strings inside hbs are not supported/);
- });
-
- it('allows static userland options when used as a call expression', function () {
- let source = 'hello';
- transform(
- `import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs('${source}', { parseOptions: { srcName: 'bar.hbs' }, moduleName: 'foo/bar.hbs', xyz: 123, qux: true, stringifiedThing: ${JSON.stringify(
- { foo: 'baz' }
- )}});`
- );
-
- expect(optionsReceived).toEqual({
- contents: source,
- parseOptions: { srcName: 'bar.hbs' },
- moduleName: 'foo/bar.hbs',
- xyz: 123,
- qux: true,
- stringifiedThing: {
- foo: 'baz',
- },
- });
- });
-
- it('adds a comment with the original template string', function () {
- let transformed = transform(stripIndent`
- import hbs from 'htmlbars-inline-precompile';
- if ('foo') {
- const template = hbs\`hello\`;
- }
- `);
-
- expect(transformed).toEqual(stripIndent`
- import { createTemplateFactory as _createTemplateFactory } from "@ember/template-factory";
-
- if ('foo') {
- const template = _createTemplateFactory(
- /*
- hello
- */
- "precompiled(hello)");
- }
- `);
- });
-
- it('avoids a build time error when passed `insertRuntimeErrors`', function () {
- precompile = () => {
- throw new Error('NOOOOOOOOOOOOOOOOOOOOOO');
- };
-
- let transformed = transform(
- `import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs('hello', { insertRuntimeErrors: true });`
- );
-
- expect(transformed).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- var compiled = function () {
- throw new Error(\\"NOOOOOOOOOOOOOOOOOOOOOO\\");
- }();"
- `);
- });
-
- it('escapes any */ included in the template string', function () {
- let transformed = transform(stripIndent`
- import hbs from 'htmlbars-inline-precompile';
- if ('foo') {
- const template = hbs\`hello */\`;
- }
- `);
-
- expect(transformed).toEqual(stripIndent`
- import { createTemplateFactory as _createTemplateFactory } from "@ember/template-factory";
-
- if ('foo') {
- const template = _createTemplateFactory(
- /*
- hello *\\/
- */
- "precompiled(hello */)");
- }
- `);
- });
-
- it('passes options when used as a tagged template string', function () {
- let source = 'hello';
- transform(`import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs\`${source}\`;`);
-
- expect(optionsReceived).toEqual({
- contents: source,
- isProduction: undefined,
- locals: null,
- strictMode: false,
- });
- });
-
- it("strips import statement for 'htmlbars-inline-precompile' module", function () {
- let transformed = transform(
- "import hbs from 'htmlbars-inline-precompile';\nimport Ember from 'ember';"
- );
-
- expect(transformed).toEqual("import Ember from 'ember';", 'strips import statement');
- });
-
- it('replaces tagged template expressions with precompiled version', function () {
- let transformed = transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`hello`;"
- );
-
- expect(transformed).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- var compiled = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");"
- `);
- });
-
- it('replaces tagged template expressions with precompiled version for custom import paths with named exports', function () {
- plugins[0][1].modules = {
- 'foo-bar': 'baz',
- };
-
- let transformed = transform("import { baz } from 'foo-bar';\nvar compiled = baz`hello`;");
-
- expect(transformed).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- var compiled = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");"
- `);
- });
-
- it('replaces tagged template expressions with precompiled version for custom import paths', function () {
- plugins[0][1].modulePaths = ['ember-cli-htmlbars-inline-precompile'];
-
- let transformed = transform(
- "import hbs from 'ember-cli-htmlbars-inline-precompile';\nvar compiled = hbs`hello`;"
- );
-
- expect(transformed).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- var compiled = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");"
- `);
- });
-
- it('does not cause an error when no import is found', function () {
- expect(() => transform('something("whatever")')).not.toThrow();
- expect(() => transform('something`whatever`')).not.toThrow();
- });
-
- it('works with multiple imports', function () {
- let transformed = transform(`
- import hbs from 'htmlbars-inline-precompile';
- import otherHbs from 'htmlbars-inline-precompile';
- let a = hbs\`hello\`;
- let b = otherHbs\`hello\`;
- `);
-
- expect(transformed).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- let a = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");
-
- let b = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");"
- `);
- });
-
- it('does not fully remove imports that have other imports', function () {
- plugins[0][1].modules = {
- precompile1: 'default',
- precompile2: 'hbs',
- precompile3: 'hbs',
- };
-
- let transformed = transform(`
- import hbs, { foo } from 'precompile1';
- import { hbs as otherHbs, bar } from 'precompile2';
- import baz, { hbs as otherOtherHbs } from 'precompile3';
- let a = hbs\`hello\`;
- let b = otherHbs\`hello\`;
- let c = otherOtherHbs\`hello\`;
- `);
-
- expect(transformed).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
- import { foo } from 'precompile1';
- import { bar } from 'precompile2';
- import baz from 'precompile3';
-
- let a = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");
-
- let b = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");
-
- let c = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");"
- `);
- });
-
- it('works with multiple imports from different modules', function () {
- plugins = [
- [
- HTMLBarsInlinePrecompile,
- {
- precompile() {
- return precompile.apply(this, arguments);
- },
-
- ensureModuleApiPolyfill: false,
-
- modules: {
- 'ember-cli-htmlbars': 'hbs',
- '@ember/template-compilation': {
- export: 'precompileTemplate',
- },
- },
- },
- ],
- ];
-
- let transformed = transform(`
- import { hbs } from 'ember-cli-htmlbars';
- import { precompileTemplate } from '@ember/template-compilation';
- let a = hbs\`hello\`;
- let b = precompileTemplate('hello');
- `);
-
- expect(transformed).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- let a = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");
-
- let b = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");"
- `);
- });
-
- it('can disable template literal usage', function () {
- plugins = [
- [
- HTMLBarsInlinePrecompile,
- {
- precompile() {
- return precompile.apply(this, arguments);
- },
-
- ensureModuleApiPolyfill: false,
-
- modules: {
- '@ember/template-compilation': {
- export: 'precompileTemplate',
- disableTemplateLiteral: true,
- },
- },
- },
- ],
- ];
-
- expect(() => {
- transform(`
- import { precompileTemplate } from '@ember/template-compilation';
- let a = precompileTemplate\`hello\`;
- `);
- }).toThrow(
- /Attempted to use `precompileTemplate` as a template tag, but it can only be called as a function with a string passed to it:/
- );
- });
-
- it('can disable function call usage', function () {
- plugins = [
- [
- HTMLBarsInlinePrecompile,
- {
- precompile() {
- return precompile.apply(this, arguments);
- },
-
- ensureModuleApiPolyfill: false,
-
- modules: {
- 'ember-template-imports': {
- export: 'hbs',
- disableFunctionCall: true,
- },
- },
- },
- ],
- ];
-
- expect(() => {
- transform(`
- import { hbs } from 'ember-template-imports';
- let a = hbs(\`hello\`);
- `);
- }).toThrow(
- /Attempted to use `hbs` as a function call, but it can only be used as a template tag:/
- );
- });
-
- it('works properly when used along with modules transform', function () {
- plugins.push([TransformModules]);
- let transformed = transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`hello`;"
- );
-
- expect(transformed).toMatchInlineSnapshot(`
- "define([\\"@ember/template-factory\\"], function (_templateFactory) {
- \\"use strict\\";
-
- var compiled = (0, _templateFactory.createTemplateFactory)(
- /*
- hello
- */
- \\"precompiled(hello)\\");
- });"
- `);
- });
-
- it('does not error when reusing a preexisting import', function () {
- plugins.push([TransformModules]);
- let transformed = transform(
- "import { createTemplateFactory } from '@ember/template-factory'; import hbs from 'htmlbars-inline-precompile'; hbs`hello`; createTemplateFactory('whatever here');"
- );
-
- expect(transformed).toMatchInlineSnapshot(`
- "define([\\"@ember/template-factory\\"], function (_templateFactory) {
- \\"use strict\\";
-
- (0, _templateFactory.createTemplateFactory)(
- /*
- hello
- */
- \\"precompiled(hello)\\");
- (0, _templateFactory.createTemplateFactory)('whatever here');
- });"
- `);
- });
-
- it('works properly when used along with modules transform multiple times', function () {
- plugins.push([TransformModules]);
- let transformed = transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`hello`;\nvar otherCompiled = hbs`hello`;"
- );
-
- expect(transformed).toMatchInlineSnapshot(`
- "define([\\"@ember/template-factory\\"], function (_templateFactory) {
- \\"use strict\\";
-
- var compiled = (0, _templateFactory.createTemplateFactory)(
- /*
- hello
- */
- \\"precompiled(hello)\\");
- var otherCompiled = (0, _templateFactory.createTemplateFactory)(
- /*
- hello
- */
- \\"precompiled(hello)\\");
- });"
- `);
- });
-
- it('works properly when used after modules transform', function () {
- plugins.unshift([TransformModules]);
- let transformed = transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`hello`;"
- );
-
- expect(transformed).toMatchInlineSnapshot(`
- "define([\\"@ember/template-factory\\"], function (_templateFactory) {
- \\"use strict\\";
-
- var compiled = (0, _templateFactory.createTemplateFactory)(
- /*
- hello
- */
- \\"precompiled(hello)\\");
- });"
- `);
- });
-
- it('works properly when used along with @babel/plugin-transform-unicode-escapes', function () {
- plugins.push([TransformUnicodeEscapes]);
- let transformed = transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs('some emoji goes 💥');"
- );
-
- expect(transformed).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- var compiled = _createTemplateFactory(
- /*
- some emoji goes 💥
- */
- \\"precompiled(some emoji goes 💥)\\");"
- `);
- });
-
- it('replaces tagged template expressions when before babel-plugin-transform-es2015-template-literals', function () {
- plugins.push([TransformTemplateLiterals]);
- let transformed = transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`hello`;"
- );
-
- expect(transformed).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- var compiled = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");"
- `);
- });
-
- it("doesn't replace unrelated tagged template strings", function () {
- let transformed = transform(
- 'import hbs from "htmlbars-inline-precompile";\nvar compiled = anotherTag`hello`;'
- );
-
- expect(transformed).toEqual(
- 'var compiled = anotherTag`hello`;',
- 'other tagged template strings are not touched'
- );
- });
-
- it('warns when the tagged template string contains placeholders', function () {
- expect(() =>
- transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`string ${value}`"
- )
- ).toThrow(/placeholders inside a tagged template string are not supported/);
- });
-
- it('works with glimmer modules', function () {
- plugins[0][1].moduleOverrides = {
- '@ember/component/template-only': {
- default: ['templateOnlyComponent', '@glimmer/core'],
- },
- '@ember/template-factory': {
- createTemplateFactory: ['createTemplateFactory', '@glimmer/core'],
- },
- '@ember/component': {
- setComponentTemplate: ['setComponentTemplate', '@glimmer/core'],
- },
- };
-
- let transformed = transform(stripIndent`
- import hbs from 'htmlbars-inline-precompile';
-
- const template = hbs\`hello\`;
- `);
-
- expect(transformed).toEqual(stripIndent`
- import { createTemplateFactory as _createTemplateFactory } from "@glimmer/core";
-
- const template = _createTemplateFactory(
- /*
- hello
- */
- "precompiled(hello)");
- `);
- });
-
- describe('caching', function () {
- it('include `baseDir` function for caching', function () {
- expect(HTMLBarsInlinePrecompile.baseDir()).toEqual(path.resolve(__dirname, '..'));
- });
- });
-
- describe('single string argument', function () {
- it("works with a plain string as parameter hbs('string')", function () {
- let transformed = transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs('hello');"
- );
-
- expect(transformed).toMatchInlineSnapshot(`
- "import { createTemplateFactory as _createTemplateFactory } from \\"@ember/template-factory\\";
-
- var compiled = _createTemplateFactory(
- /*
- hello
- */
- \\"precompiled(hello)\\");"
- `);
- });
-
- it('warns when the second argument is not an object', function () {
- expect(() =>
- transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs('first', 'second');"
- )
- ).toThrow(
- /hbs can only be invoked with 2 arguments: the template string, and any static options/
- );
- });
-
- it('warns when argument is not a string', function () {
- expect(() =>
- transform("import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs(123);")
- ).toThrow(/hbs should be invoked with at least a single argument: the template string/);
- });
-
- it('warns when no argument is passed', function () {
- expect(() =>
- transform("import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs();")
- ).toThrow(/hbs should be invoked with at least a single argument: the template string/);
- });
-
- it('works with babel-plugin-ember-modules-api-polyfill', function () {
- plugins.push('babel-plugin-ember-modules-api-polyfill');
-
- precompile = (template) => {
- return `function() { return "${template}"; }`;
- };
-
- let transpiled = transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`hello`;"
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "var compiled = Ember.HTMLBars.template(
- /*
- hello
- */
- function () {
- return \\"hello\\";
- });"
- `);
- });
-
- it('works with ensureModuleApiPolyfill', function () {
- plugins[0][1].ensureModuleApiPolyfill = true;
-
- precompile = (template) => {
- return `function() { return "${template}"; }`;
- };
-
- let transpiled = transform(
- "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`hello`;"
- );
-
- expect(transpiled).toMatchInlineSnapshot(`
- "var compiled = Ember.HTMLBars.template(
- /*
- hello
- */
- function () {
- return \\"hello\\";
- });"
- `);
- });
- });
-
- describe('with ember-source', function () {
- const compiler = require('ember-source/dist/ember-template-compiler');
-
- beforeEach(function () {
- precompile = (template, options) => {
- return compiler.precompile(template, options);
- };
- });
-
- it('includes the original template content', function () {
- let transformed = transform(stripIndent`
- import hbs from 'htmlbars-inline-precompile';
-
- const template = hbs\`hello {{firstName}}\`;
- `);
-
- expect(transformed).toContain(`hello {{firstName}}`);
- });
- });
-
- describe('with transformScope: true', function () {
- beforeEach(() => {
- plugins = [
- [
- HTMLBarsInlinePrecompile,
- {
- precompile() {
- return precompile.apply(this, arguments);
- },
-
- ensureModuleApiPolyfill: false,
-
- modules: {
- '@ember/template-compilation': {
- export: 'precompileTemplate',
- shouldParseScope: true,
- },
- },
- },
- ],
- ];
- });
-
- it('correctly handles scope', function () {
- let source = 'hello';
- transform(
- `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('${source}', { scope: { foo, bar } });`
- );
-
- expect(optionsReceived).toEqual({
- contents: source,
- locals: ['foo', 'bar'],
- });
- });
-
- it('correctly handles scope function', function () {
- let source = 'hello';
- transform(
- `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('${source}', { scope: () => ({ foo, bar }) });`
- );
-
- expect(optionsReceived).toEqual({
- contents: source,
- locals: ['foo', 'bar'],
- });
- });
-
- it('correctly handles scope function (non-block arrow function)', function () {
- let source = 'hello';
- transform(
- `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('${source}', { scope: () => ({ foo, bar }) });`
- );
- expect(optionsReceived).toEqual({
- contents: source,
- locals: ['foo', 'bar'],
- });
- });
-
- it('correctly handles scope function (block arrow function)', function () {
- let source = 'hello';
- transform(
- `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('${source}', { scope: () => { return { foo, bar }; }});`
- );
- expect(optionsReceived).toEqual({
- contents: source,
- locals: ['foo', 'bar'],
- });
- });
-
- it('correctly handles scope function (normal function)', function () {
- let source = 'hello';
- transform(
- `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('${source}', { scope: function() { return { foo, bar }; }});`
- );
- expect(optionsReceived).toEqual({
- contents: source,
- locals: ['foo', 'bar'],
- });
- });
-
- it('correctly handles scope function (object method)', function () {
- let source = 'hello';
- transform(
- `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('${source}', { scope() { return { foo, bar }; }});`
- );
- expect(optionsReceived).toEqual({
- contents: source,
- locals: ['foo', 'bar'],
- });
- });
-
- it('errors if scope contains mismatched keys/values', function () {
- expect(() => {
- transform(
- "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('hello', { scope: { foo: bar } });"
- );
- }).toThrow(
- /Scope objects for `precompileTemplate` may only contain direct references to in-scope values, e.g. { foo } or { foo: foo }/
- );
- });
-
- it('errors if scope is not an object', function () {
- expect(() => {
- transform(
- "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('hello', { scope: ['foo', 'bar'] });"
- );
- }).toThrow(
- /Scope objects for `precompileTemplate` must be an object expression containing only references to in-scope values/
- );
- });
-
- it('errors if scope contains any non-reference values', function () {
- expect(() => {
- transform(
- "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('hello', { scope: { foo, bar: 123 } });"
- );
- }).toThrow(
- /Scope objects for `precompileTemplate` may only contain direct references to in-scope values, e.g. { bar } or { bar: bar }/
- );
- });
- });
-});
diff --git a/__tests__/tests.ts b/__tests__/tests.ts
new file mode 100644
index 00000000..43f80c37
--- /dev/null
+++ b/__tests__/tests.ts
@@ -0,0 +1,665 @@
+import path from 'path';
+import * as babel from '@babel/core';
+import HTMLBarsInlinePrecompile, { Options } from '..';
+import TransformTemplateLiterals from '@babel/plugin-transform-template-literals';
+import TransformModules from '@babel/plugin-transform-modules-amd';
+import TransformUnicodeEscapes from '@babel/plugin-transform-unicode-escapes';
+import { stripIndent } from 'common-tags';
+
+describe('htmlbars-inline-precompile', function () {
+ let precompile: NonNullable;
+ let plugins: any[];
+ let optionsReceived: any;
+ let buildOptions: (o?: Partial) => Options;
+
+ function transform(code: string) {
+ let x = babel
+ .transform(code, {
+ filename: 'foo-bar.js',
+ plugins,
+ })!
+ .code!.trim();
+ return x;
+ }
+
+ beforeEach(function () {
+ optionsReceived = undefined;
+ precompile = (template, options) => {
+ optionsReceived = options;
+ return `"precompiled(${template})"`;
+ };
+
+ buildOptions = function (o?: Partial): Options {
+ let defaultOptions: Options = {
+ precompile(...args: Parameters) {
+ return precompile(...args);
+ },
+ };
+
+ return Object.assign({}, defaultOptions, o);
+ };
+
+ plugins = [[HTMLBarsInlinePrecompile, buildOptions()]];
+ });
+
+ it('supports compilation that returns a non-JSON.parseable object', function () {
+ precompile = (template) => {
+ return `function() { return "${template}"; }`;
+ };
+
+ let transpiled = transform(
+ "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('hello');"
+ );
+
+ expect(transpiled).toMatchInlineSnapshot(`
+ "import { createTemplateFactory } from \\"@ember/template-factory\\";
+ var compiled = createTemplateFactory(
+ /*
+ hello
+ */
+ function () {
+ return \\"hello\\";
+ });"
+ `);
+ });
+
+ it('supports compilation with templateCompilerPath', function () {
+ plugins = [
+ [
+ HTMLBarsInlinePrecompile,
+ buildOptions({ precompilerPath: require.resolve('./mock-precompile') }),
+ ],
+ ];
+
+ let transpiled = transform(
+ "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('hello');"
+ );
+
+ expect(transpiled).toMatchInlineSnapshot(`
+ "import { createTemplateFactory } from \\"@ember/template-factory\\";
+ var compiled = createTemplateFactory(
+ /*
+ hello
+ */
+ precompiledFromPath(hello));"
+ `);
+ });
+
+ it('passes options when used as a call expression', function () {
+ let source = 'hello';
+ transform(
+ `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('${source}');`
+ );
+
+ expect(optionsReceived).toEqual({
+ contents: source,
+ });
+ });
+
+ it('uses the user provided isProduction option if present', function () {
+ let source = 'hello';
+
+ transform(
+ `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('${source}', { isProduction: true });`
+ );
+
+ expect(optionsReceived).toEqual({
+ contents: source,
+ isProduction: true,
+ });
+ });
+
+ it('allows a template string literal when used as a call expression', function () {
+ let source = 'hello';
+ transform(
+ `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate(\`${source}\`);`
+ );
+
+ expect(optionsReceived).toEqual({
+ contents: source,
+ });
+ });
+
+ it('errors when the template string contains placeholders', function () {
+ expect(() =>
+ transform(
+ "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate(`string ${value}`)"
+ )
+ ).toThrow(/placeholders inside a template string are not supported/);
+ });
+
+ it('errors when the template string is tagged', function () {
+ plugins = [
+ [
+ HTMLBarsInlinePrecompile,
+ buildOptions({
+ enableLegacyModules: ['htmlbars-inline-precompile'],
+ }),
+ ],
+ ];
+ expect(() =>
+ transform("import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs(hbs`string`)")
+ ).toThrow(/tagged template strings inside hbs are not supported/);
+ });
+
+ it('allows static userland options when used as a call expression', function () {
+ let source = 'hello';
+ transform(
+ `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('${source}', { parseOptions: { srcName: 'bar.hbs' }, moduleName: 'foo/bar.hbs', xyz: 123, qux: true, stringifiedThing: ${JSON.stringify(
+ { foo: 'baz' }
+ )}});`
+ );
+
+ expect(optionsReceived).toEqual({
+ contents: source,
+ parseOptions: { srcName: 'bar.hbs' },
+ moduleName: 'foo/bar.hbs',
+ xyz: 123,
+ qux: true,
+ stringifiedThing: {
+ foo: 'baz',
+ },
+ });
+ });
+
+ it('adds a comment with the original template string', function () {
+ let transformed = transform(stripIndent`
+ import { precompileTemplate } from '@ember/template-compilation';
+ if ('foo') {
+ const template = precompileTemplate('hello');
+ }
+ `);
+
+ expect(transformed).toEqual(stripIndent`
+ import { createTemplateFactory } from "@ember/template-factory";
+
+ if ('foo') {
+ const template = createTemplateFactory(
+ /*
+ hello
+ */
+ "precompiled(hello)");
+ }
+ `);
+ });
+
+ it('avoids a build time error when passed `insertRuntimeErrors`', function () {
+ precompile = () => {
+ throw new Error('NOOOOOOOOOOOOOOOOOOOOOO');
+ };
+
+ let transformed = transform(
+ `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('hello', { insertRuntimeErrors: true });`
+ );
+
+ expect(transformed).toMatchInlineSnapshot(`
+ "var compiled = function () {
+ throw new Error(\\"NOOOOOOOOOOOOOOOOOOOOOO\\");
+ }();"
+ `);
+ });
+
+ it('escapes any */ included in the template string', function () {
+ plugins = [
+ [
+ HTMLBarsInlinePrecompile,
+ buildOptions({
+ enableLegacyModules: ['htmlbars-inline-precompile'],
+ }),
+ ],
+ ];
+
+ let transformed = transform(stripIndent`
+ import hbs from 'htmlbars-inline-precompile';
+ if ('foo') {
+ const template = hbs\`hello */\`;
+ }
+ `);
+
+ expect(transformed).toEqual(stripIndent`
+ import { createTemplateFactory } from "@ember/template-factory";
+
+ if ('foo') {
+ const template = createTemplateFactory(
+ /*
+ hello *\\/
+ */
+ "precompiled(hello */)");
+ }
+ `);
+ });
+
+ it('passes options when used as a tagged template string', function () {
+ plugins = [
+ [
+ HTMLBarsInlinePrecompile,
+ buildOptions({
+ enableLegacyModules: ['htmlbars-inline-precompile'],
+ }),
+ ],
+ ];
+
+ let source = 'hello';
+ transform(`import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs\`${source}\`;`);
+
+ expect(optionsReceived).toEqual({
+ contents: source,
+ });
+ });
+
+ it("strips import statement for '@ember/template-precompilation' module", function () {
+ let transformed = transform(
+ "import { precompileTemplate } from '@ember/template-compilation';\nimport Ember from 'ember';"
+ );
+
+ // strips import statement
+ expect(transformed).toEqual("import Ember from 'ember';");
+ });
+
+ it('replaces tagged template expressions with precompiled version', function () {
+ plugins = [
+ [
+ HTMLBarsInlinePrecompile,
+ buildOptions({
+ enableLegacyModules: ['htmlbars-inline-precompile'],
+ }),
+ ],
+ ];
+ let transformed = transform(
+ "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`hello`;"
+ );
+
+ expect(transformed).toMatchInlineSnapshot(`
+ "import { createTemplateFactory } from \\"@ember/template-factory\\";
+ var compiled = createTemplateFactory(
+ /*
+ hello
+ */
+ \\"precompiled(hello)\\");"
+ `);
+ });
+
+ it('replaces tagged template expressions with precompiled version when ember-cli-htmlbars is enabled', function () {
+ plugins = [
+ [
+ HTMLBarsInlinePrecompile,
+ buildOptions({
+ enableLegacyModules: ['ember-cli-htmlbars'],
+ }),
+ ],
+ ];
+
+ let transformed = transform(
+ "import { hbs as baz } from 'ember-cli-htmlbars';\nvar compiled = baz`hello`;"
+ );
+
+ expect(transformed).toMatchInlineSnapshot(`
+ "import { createTemplateFactory } from \\"@ember/template-factory\\";
+ var compiled = createTemplateFactory(
+ /*
+ hello
+ */
+ \\"precompiled(hello)\\");"
+ `);
+ });
+
+ it('leaves tagged template expressions alone when ember-cli-htmlbars is disabled', function () {
+ let transformed = transform(
+ "import { hbs as baz } from 'ember-cli-htmlbars';\nvar compiled = baz`hello`;"
+ );
+
+ expect(transformed).toMatchInlineSnapshot(`
+ "import { hbs as baz } from 'ember-cli-htmlbars';
+ var compiled = baz\`hello\`;"
+ `);
+ });
+
+ it('does not cause an error when no import is found', function () {
+ expect(() => transform('something("whatever")')).not.toThrow();
+ expect(() => transform('something`whatever`')).not.toThrow();
+ });
+
+ it('works with multiple imports', function () {
+ let transformed = transform(`
+ import { precompileTemplate } from '@ember/template-compilation';
+ import { precompileTemplate as other } from '@ember/template-compilation';
+ let a = precompileTemplate('hello');
+ let b = other('hello');
+ `);
+
+ expect(transformed).toMatchInlineSnapshot(`
+ "import { createTemplateFactory } from \\"@ember/template-factory\\";
+ let a = createTemplateFactory(
+ /*
+ hello
+ */
+ \\"precompiled(hello)\\");
+ let b = createTemplateFactory(
+ /*
+ hello
+ */
+ \\"precompiled(hello)\\");"
+ `);
+ });
+
+ it('does not fully remove imports that have other imports', function () {
+ let transformed = transform(`
+ import { precompileTemplate, compileTemplate } from '@ember/template-compilation';
+ `);
+
+ expect(transformed).toMatchInlineSnapshot(
+ `"import { compileTemplate } from '@ember/template-compilation';"`
+ );
+ });
+
+ it('forbids template literal usage of @ember/template-compilation', function () {
+ expect(() => {
+ transform(`
+ import { precompileTemplate } from '@ember/template-compilation';
+ let a = precompileTemplate\`hello\`;
+ `);
+ }).toThrow(
+ /Attempted to use `precompileTemplate` as a template tag, but it can only be called as a function with a string passed to it:/
+ );
+ });
+
+ it('works properly when used along with modules transform', function () {
+ plugins.push([TransformModules]);
+ let transformed = transform(
+ "import { precompileTemplate } from '@ember/template-compilation';\n" +
+ "var compiled1 = precompileTemplate('hello');\n" +
+ "var compiled2 = precompileTemplate('goodbye');\n"
+ );
+
+ expect(transformed).toMatchInlineSnapshot(`
+ "define([\\"@ember/template-factory\\"], function (_templateFactory) {
+ \\"use strict\\";
+
+ var compiled1 = (0, _templateFactory.createTemplateFactory)(
+ /*
+ hello
+ */
+ \\"precompiled(hello)\\");
+ var compiled2 = (0, _templateFactory.createTemplateFactory)(
+ /*
+ goodbye
+ */
+ \\"precompiled(goodbye)\\");
+ });"
+ `);
+ });
+
+ it('does not error when reusing a preexisting import', function () {
+ let transformed = transform(`
+ import { createTemplateFactory } from '@ember/template-factory';
+ import { precompileTemplate } from '@ember/template-compilation';
+ precompileTemplate('hello');
+ createTemplateFactory('whatever here');
+ `);
+
+ expect(transformed).toMatchInlineSnapshot(`
+ "import { createTemplateFactory } from '@ember/template-factory';
+ createTemplateFactory(
+ /*
+ hello
+ */
+ \\"precompiled(hello)\\");
+ createTemplateFactory('whatever here');"
+ `);
+ });
+
+ it('works properly when used after modules transform', function () {
+ plugins.unshift([TransformModules]);
+ let transformed = transform(
+ "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('hello');"
+ );
+
+ expect(transformed).toMatchInlineSnapshot(`
+ "define([\\"@ember/template-factory\\", \\"@ember/template-compilation\\"], function (_templateFactory, _templateCompilation) {
+ \\"use strict\\";
+
+ var compiled = (0, _templateFactory.createTemplateFactory)(
+ /*
+ hello
+ */
+ \\"precompiled(hello)\\");
+ });"
+ `);
+ });
+
+ it('works properly when used along with @babel/plugin-transform-unicode-escapes', function () {
+ plugins.push([TransformUnicodeEscapes]);
+ let transformed = transform(
+ "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('some emoji goes 💥');"
+ );
+
+ expect(transformed).toMatchInlineSnapshot(`
+ "import { createTemplateFactory } from \\"@ember/template-factory\\";
+ var compiled = createTemplateFactory(
+ /*
+ some emoji goes 💥
+ */
+ \\"precompiled(some emoji goes 💥)\\");"
+ `);
+ });
+
+ it('replaces tagged template expressions when before babel-plugin-transform-es2015-template-literals', function () {
+ plugins = [
+ [
+ HTMLBarsInlinePrecompile,
+ buildOptions({
+ enableLegacyModules: ['htmlbars-inline-precompile'],
+ }),
+ ],
+ TransformTemplateLiterals,
+ ];
+
+ let transformed = transform(
+ "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`hello`;"
+ );
+
+ expect(transformed).toMatchInlineSnapshot(`
+ "import { createTemplateFactory } from \\"@ember/template-factory\\";
+ var compiled = createTemplateFactory(
+ /*
+ hello
+ */
+ \\"precompiled(hello)\\");"
+ `);
+ });
+
+ it("doesn't replace unrelated tagged template strings", function () {
+ plugins = [
+ [
+ HTMLBarsInlinePrecompile,
+ buildOptions({
+ enableLegacyModules: ['htmlbars-inline-precompile'],
+ }),
+ ],
+ ];
+ let transformed = transform(
+ 'import hbs from "htmlbars-inline-precompile";\nvar compiled = anotherTag`hello`;'
+ );
+
+ // other tagged template strings are not touched
+ expect(transformed).toEqual('var compiled = anotherTag`hello`;');
+ });
+
+ it('throws when the tagged template string contains placeholders', function () {
+ plugins = [
+ [
+ HTMLBarsInlinePrecompile,
+ buildOptions({
+ enableLegacyModules: ['htmlbars-inline-precompile'],
+ }),
+ ],
+ ];
+ expect(() =>
+ transform(
+ "import hbs from 'htmlbars-inline-precompile';\nvar compiled = hbs`string ${value}`"
+ )
+ ).toThrow(/placeholders inside a tagged template string are not supported/);
+ });
+
+ it('works with glimmer modules', function () {
+ plugins = [
+ [
+ HTMLBarsInlinePrecompile,
+ buildOptions({
+ outputModuleOverrides: {
+ '@ember/template-factory': {
+ createTemplateFactory: ['createTemplateFactory', '@glimmer/core'],
+ },
+ },
+ }),
+ ],
+ ];
+
+ let transformed = transform(stripIndent`
+ import { precompileTemplate } from '@ember/template-compilation';
+ const template = precompileTemplate('hello');
+ `);
+
+ expect(transformed).toEqual(stripIndent`
+ import { createTemplateFactory } from "@glimmer/core";
+ const template = createTemplateFactory(
+ /*
+ hello
+ */
+ "precompiled(hello)");
+ `);
+ });
+
+ describe('caching', function () {
+ it('include `baseDir` function for caching', function () {
+ expect(HTMLBarsInlinePrecompile.baseDir()).toEqual(path.resolve(__dirname, '..'));
+ });
+ });
+
+ it('throws when the second argument is not an object', function () {
+ expect(() =>
+ transform(
+ "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('first', 'second');"
+ )
+ ).toThrow(
+ /precompileTemplate can only be invoked with 2 arguments: the template string, and any static options/
+ );
+ });
+
+ it('throws when argument is not a string', function () {
+ expect(() =>
+ transform(
+ "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate(123);"
+ )
+ ).toThrow(
+ /precompileTemplate should be invoked with at least a single argument \(the template string\)/
+ );
+ });
+
+ it('throws when no argument is passed', function () {
+ expect(() =>
+ transform(
+ "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate();"
+ )
+ ).toThrow(
+ /precompileTemplate should be invoked with at least a single argument \(the template string\)/
+ );
+ });
+
+ describe('with ember-source', function () {
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
+ const compiler = require('ember-source/dist/ember-template-compiler');
+
+ beforeEach(function () {
+ precompile = (template, options) => {
+ return compiler.precompile(template, options);
+ };
+ });
+
+ it('includes the original template content', function () {
+ let transformed = transform(stripIndent`
+ import { precompileTemplate } from '@ember/template-compilation';
+
+ const template = precompileTemplate('hello {{firstName}}');
+ `);
+
+ expect(transformed).toContain(`hello {{firstName}}`);
+ });
+ });
+
+ describe('scope', function () {
+ it('correctly handles scope function (non-block arrow function)', function () {
+ let source = 'hello';
+ transform(
+ `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('${source}', { scope: () => ({ foo, bar }) });`
+ );
+ expect(optionsReceived).toEqual({
+ contents: source,
+ locals: ['foo', 'bar'],
+ });
+ });
+
+ it('correctly handles scope function (block arrow function)', function () {
+ let source = 'hello';
+ transform(
+ `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('${source}', { scope: () => { return { foo, bar }; }});`
+ );
+ expect(optionsReceived).toEqual({
+ contents: source,
+ locals: ['foo', 'bar'],
+ });
+ });
+
+ it('correctly handles scope function (normal function)', function () {
+ let source = 'hello';
+ transform(
+ `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('${source}', { scope: function() { return { foo, bar }; }});`
+ );
+ expect(optionsReceived).toEqual({
+ contents: source,
+ locals: ['foo', 'bar'],
+ });
+ });
+
+ it('correctly handles scope function (object method)', function () {
+ let source = 'hello';
+ transform(
+ `import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('${source}', { scope() { return { foo, bar }; }});`
+ );
+ expect(optionsReceived).toEqual({
+ contents: source,
+ locals: ['foo', 'bar'],
+ });
+ });
+
+ it('errors if scope contains mismatched keys/values', function () {
+ expect(() => {
+ transform(
+ "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('hello', { scope: () => ({ foo: bar }) });"
+ );
+ }).toThrow(
+ /Scope objects for `precompileTemplate` may only contain direct references to in-scope values, e.g. { foo } or { foo: foo }/
+ );
+ });
+
+ it('errors if scope is not an object', function () {
+ expect(() => {
+ transform(
+ "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('hello', { scope: () => ['foo', 'bar'] });"
+ );
+ }).toThrow(
+ /Scope objects for `precompileTemplate` must be an object expression containing only references to in-scope values/
+ );
+ });
+
+ it('errors if scope contains any non-reference values', function () {
+ expect(() => {
+ transform(
+ "import { precompileTemplate } from '@ember/template-compilation';\nvar compiled = precompileTemplate('hello', { scope: () => ({ foo, bar: 123 }) });"
+ );
+ }).toThrow(
+ /Scope objects for `precompileTemplate` may only contain direct references to in-scope values, e.g. { bar } or { bar: bar }/
+ );
+ });
+ });
+});
diff --git a/index.js b/index.js
deleted file mode 100644
index 700b3d67..00000000
--- a/index.js
+++ /dev/null
@@ -1,547 +0,0 @@
-'use strict';
-const { replaceTemplateLiteralProposal } = require('./src/template-literal-transform');
-const { replaceTemplateTagProposal } = require('./src/template-tag-transform');
-const { registerRefs } = require('./src/util');
-const { setupState, processImportDeclaration } = require('babel-plugin-ember-modules-api-polyfill');
-
-module.exports = function (babel) {
- let t = babel.types;
-
- const runtimeErrorIIFE = babel.template(
- `(function() {\n throw new Error('ERROR_MESSAGE');\n})();`
- );
-
- function parseExpression(state, buildError, name, node) {
- switch (node.type) {
- case 'ObjectExpression':
- return parseObjectExpression(state, buildError, name, node);
- case 'ArrayExpression': {
- return parseArrayExpression(state, buildError, name, node);
- }
- case 'StringLiteral':
- case 'BooleanLiteral':
- case 'NumericLiteral':
- return node.value;
- default:
- throw buildError(
- `${name} can only accept static options but you passed ${JSON.stringify(node)}`
- );
- }
- }
-
- function parseArrayExpression(state, buildError, name, node) {
- let result = node.elements.map((element) => parseExpression(state, buildError, name, element));
-
- return result;
- }
-
- function parseScope(state, buildError, name, node) {
- let body;
-
- if (node.type === 'ObjectMethod') {
- body = node.body;
- } else if (node.value.type === 'ObjectExpression') {
- console.warn(
- `Passing an object as the \`scope\` property to inline templates has been deprecated. Please pass a function that returns an object expression instead. Usage in: ${state.file.opts.filename}`
- );
-
- body = node.value;
- } else {
- body = node.value.body;
- }
-
- let objExpression;
-
- if (body && body.type === 'ObjectExpression') {
- objExpression = body;
- } else if (body && body.type === 'BlockStatement') {
- let returnStatement = body.body[0];
-
- if (body.body.length !== 1 || returnStatement.type !== 'ReturnStatement') {
- throw new Error(
- 'Scope functions can only consist of a single return statement which returns an object expression containing references to in-scope values'
- );
- }
-
- objExpression = returnStatement.argument;
- }
-
- if (!objExpression || objExpression.type !== 'ObjectExpression') {
- throw buildError(
- `Scope objects for \`${name}\` must be an object expression containing only references to in-scope values, or a function that returns an object expression containing only references to in-scope values`
- );
- }
-
- return objExpression.properties.map((prop) => {
- let { key, value } = prop;
-
- if (value.type !== 'Identifier' || value.name !== key.name) {
- throw buildError(
- `Scope objects for \`${name}\` may only contain direct references to in-scope values, e.g. { ${key.name} } or { ${key.name}: ${key.name} }`
- );
- }
-
- return key.name;
- });
- }
-
- function parseObjectExpression(state, buildError, name, node, shouldParseScope = false) {
- let result = {};
-
- node.properties.forEach((property) => {
- if (property.computed || !['Identifier', 'StringLiteral'].includes(property.key.type)) {
- throw buildError(`${name} can only accept static options`);
- }
-
- let propertyName =
- property.key.type === 'Identifier' ? property.key.name : property.key.value;
-
- if (shouldParseScope && propertyName === 'scope') {
- result.locals = parseScope(state, buildError, name, property);
- } else {
- result[propertyName] = parseExpression(state, buildError, name, property.value);
- }
- });
-
- return result;
- }
-
- function compileTemplate(precompile, template, templateCompilerIdentifier, _options) {
- let options = Object.assign({ contents: template }, _options);
-
- let precompileResultString;
-
- if (options.insertRuntimeErrors) {
- try {
- precompileResultString = precompile(template, options);
- } catch (error) {
- return runtimeErrorIIFE({ ERROR_MESSAGE: error.message });
- }
- } else {
- precompileResultString = precompile(template, options);
- }
-
- let precompileResultAST = babel.parse(`var precompileResult = ${precompileResultString};`);
-
- let templateExpression = precompileResultAST.program.body[0].declarations[0].init;
-
- t.addComment(
- templateExpression,
- 'leading',
- `\n ${template.replace(/\*\//g, '*\\/')}\n`,
- /* line comment? */ false
- );
-
- return t.callExpression(templateCompilerIdentifier, [templateExpression]);
- }
-
- function getScope(scope) {
- let names = [];
-
- while (scope) {
- for (let binding in scope.bindings) {
- names.push(binding);
- }
-
- scope = scope.parent;
- }
-
- return names;
- }
-
- function shouldUseAutomaticScope(options) {
- return options.useTemplateLiteralProposalSemantics || options.useTemplateTagProposalSemantics;
- }
-
- function shouldUseStrictMode(options) {
- return (
- Boolean(options.useTemplateLiteralProposalSemantics) ||
- Boolean(options.useTemplateTagProposalSemantics)
- );
- }
-
- function replacePath(path, state, compiled, options) {
- if (options.useTemplateLiteralProposalSemantics) {
- replaceTemplateLiteralProposal(t, path, state, compiled, options);
- } else if (options.useTemplateTagProposalSemantics) {
- replaceTemplateTagProposal(t, path, state, compiled, options);
- } else {
- registerRefs(path.replaceWith(compiled), (newPath) => {
- // If we use `insertRuntimeErrors` then the node won't exist
- return newPath.node ? [newPath.get('callee')] : [];
- });
- }
-
- if (state.opts.ensureModuleApiPolyfill) {
- processModuleApiPolyfill(state);
- }
- }
-
- function processModuleApiPolyfill(state) {
- for (let module in state.allAddedImports) {
- let addedImports = state.allAddedImports[module];
-
- for (let addedImport in addedImports) {
- let { path } = addedImports[addedImport];
-
- if (path && path.node) {
- processImportDeclaration(t, path, state);
-
- if (path.removed) {
- delete addedImports[addedImport];
- }
- }
- }
- }
- }
-
- let precompile;
-
- let visitor = {
- Program(path, state) {
- state.opts.ensureModuleApiPolyfill =
- 'ensureModuleApiPolyfill' in state.opts ? state.opts.ensureModuleApiPolyfill : true;
-
- if (state.opts.templateCompilerPath) {
- let templateCompiler = require(state.opts.templateCompilerPath);
-
- precompile = templateCompiler.precompile;
- } else {
- precompile = state.opts.precompile;
- }
-
- if (state.opts.ensureModuleApiPolyfill) {
- // Setup state for the module API polyfill
- setupState(t, path, state);
- }
-
- let options = state.opts || {};
-
- // Find/setup Ember global identifier
- let useEmberModule = Boolean(options.useEmberModule);
- let moduleOverrides = options.moduleOverrides;
-
- state.allAddedImports = Object.create(null);
-
- state.ensureImport = (exportName, moduleName) => {
- let addedImports = (state.allAddedImports[moduleName] =
- state.allAddedImports[moduleName] || {});
-
- if (addedImports[exportName]) return t.identifier(addedImports[exportName].id.name);
-
- if (moduleOverrides) {
- let glimmerModule = moduleOverrides[moduleName];
- let glimmerExport = glimmerModule && glimmerModule[exportName];
-
- if (glimmerExport) {
- exportName = glimmerExport[0];
- moduleName = glimmerExport[1];
- }
- }
-
- if (exportName === 'default' && moduleName === 'ember' && !useEmberModule) {
- addedImports[exportName] = { id: t.identifier('Ember') };
-
- return addedImports[exportName].id;
- }
-
- let importDeclarations = path.get('body').filter((n) => n.type === 'ImportDeclaration');
-
- let preexistingImportDeclaration = importDeclarations.find(
- (n) => n.get('source').get('value').node === moduleName
- );
-
- if (preexistingImportDeclaration) {
- let importSpecifier = preexistingImportDeclaration.get('specifiers').find(({ node }) => {
- return exportName === 'default'
- ? t.isImportDefaultSpecifier(node)
- : node.imported && node.imported.name === exportName;
- });
-
- if (importSpecifier) {
- addedImports[exportName] = { id: importSpecifier.node.local };
- }
- }
-
- if (!addedImports[exportName]) {
- let uid = path.scope.generateUidIdentifier(
- exportName === 'default' ? moduleName : exportName
- );
-
- let newImportSpecifier =
- exportName === 'default'
- ? t.importDefaultSpecifier(uid)
- : t.importSpecifier(uid, t.identifier(exportName));
-
- let newImport = t.importDeclaration([newImportSpecifier], t.stringLiteral(moduleName));
- path.unshiftContainer('body', newImport);
- path.scope.registerBinding('module', path.get('body.0.specifiers.0'));
-
- addedImports[exportName] = {
- id: uid,
- path: path.get('body.0'),
- };
- }
-
- return t.identifier(addedImports[exportName].id.name);
- };
-
- // Setup other module options and create cache for values
- let modules = state.opts.modules || {
- 'htmlbars-inline-precompile': { export: 'default', shouldParseScope: false },
- };
-
- if (state.opts.modulePaths) {
- let modulePaths = state.opts.modulePaths;
-
- modulePaths.forEach((path) => (modules[path] = { export: 'default' }));
- }
-
- let presentModules = new Map();
- let importDeclarations = path.get('body').filter((n) => n.type === 'ImportDeclaration');
-
- for (let module in modules) {
- let options = modules[module];
-
- if (options.useTemplateTagProposalSemantics) {
- if (options.useTemplateLiteralProposalSemantics) {
- throw path.buildCodeFrameError(
- 'Cannot use both the template literal and template tag syntax proposals together'
- );
- }
-
- // template tags don't have an import
- presentModules.set(
- options.export,
- Object.assign({}, options, {
- modulePath: module,
- originalName: options.export,
- })
- );
-
- continue;
- }
-
- let paths = importDeclarations.filter(
- (path) => !path.removed && path.get('source').get('value').node === module
- );
-
- for (let path of paths) {
- let options = modules[module];
-
- if (typeof options === 'string') {
- // Normalize 'moduleName': 'importSpecifier'
- options = { export: options };
- } else {
- // else clone options so we don't mutate it
- options = Object.assign({}, options);
- }
-
- let modulePathExport = options.export;
- let importSpecifierPath = path
- .get('specifiers')
- .find(({ node }) =>
- modulePathExport === 'default'
- ? t.isImportDefaultSpecifier(node)
- : node.imported && node.imported.name === modulePathExport
- );
-
- if (importSpecifierPath) {
- let localName = importSpecifierPath.node.local.name;
-
- options.modulePath = module;
- options.originalName = localName;
- let localImportId = path.scope.generateUidIdentifierBasedOnNode(path.node.id);
-
- path.scope.rename(localName, localImportId);
-
- // If it was the only specifier, remove the whole import, else
- // remove the specifier
- if (path.node.specifiers.length === 1) {
- path.remove();
- } else {
- importSpecifierPath.remove();
- }
-
- presentModules.set(localImportId, options);
- }
- }
- }
-
- state.presentModules = presentModules;
- },
-
- Class(path, state) {
- // Processing classes this way allows us to process ClassProperty nodes
- // before other transforms, such as the class-properties transform
- path.get('body.body').forEach((path) => {
- if (path.type !== 'ClassProperty') return;
-
- let keyPath = path.get('key');
- let valuePath = path.get('value');
-
- if (keyPath && visitor[keyPath.type]) {
- visitor[keyPath.type](keyPath, state);
- }
-
- if (valuePath && visitor[valuePath.type]) {
- visitor[valuePath.type](valuePath, state);
- }
- });
- },
-
- TaggedTemplateExpression(path, state) {
- let tagPath = path.get('tag');
- let options = state.presentModules.get(tagPath.node.name);
-
- if (!options) {
- return;
- }
-
- if (options.disableTemplateLiteral) {
- throw path.buildCodeFrameError(
- `Attempted to use \`${options.originalName}\` as a template tag, but it can only be called as a function with a string passed to it: ${options.originalName}('content here')`
- );
- }
-
- if (path.node.quasi.expressions.length) {
- throw path.buildCodeFrameError(
- 'placeholders inside a tagged template string are not supported'
- );
- }
-
- let template = path.node.quasi.quasis.map((quasi) => quasi.value.cooked).join('');
-
- let { isProduction } = state.opts;
- let locals = shouldUseAutomaticScope(options) ? getScope(path.scope) : null;
- let strictMode = shouldUseStrictMode(options);
-
- let emberIdentifier = state.ensureImport('createTemplateFactory', '@ember/template-factory');
-
- replacePath(
- path,
- state,
- compileTemplate(precompile, template, emberIdentifier, {
- isProduction,
- locals,
- strictMode,
- }),
- options
- );
- },
-
- CallExpression(path, state) {
- let calleePath = path.get('callee');
- let options = state.presentModules.get(calleePath.node.name);
-
- if (!options) {
- return;
- }
-
- if (options.disableFunctionCall) {
- throw path.buildCodeFrameError(
- `Attempted to use \`${options.originalName}\` as a function call, but it can only be used as a template tag: ${options.originalName}\`content here\``
- );
- }
-
- let args = path.node.arguments;
-
- let template;
-
- switch (args[0] && args[0].type) {
- case 'StringLiteral':
- template = args[0].value;
- break;
- case 'TemplateLiteral':
- if (args[0].expressions.length) {
- throw path.buildCodeFrameError(
- 'placeholders inside a template string are not supported'
- );
- } else {
- template = args[0].quasis.map((quasi) => quasi.value.cooked).join('');
- }
- break;
- case 'TaggedTemplateExpression':
- throw path.buildCodeFrameError(
- `tagged template strings inside ${options.originalName} are not supported`
- );
- default:
- throw path.buildCodeFrameError(
- 'hbs should be invoked with at least a single argument: the template string'
- );
- }
-
- let compilerOptions;
-
- switch (args.length) {
- case 1:
- compilerOptions = {};
- break;
- case 2: {
- if (args[1].type !== 'ObjectExpression') {
- throw path.buildCodeFrameError(
- 'hbs can only be invoked with 2 arguments: the template string, and any static options'
- );
- }
-
- compilerOptions = parseObjectExpression(
- state,
- path.buildCodeFrameError.bind(path),
- options.originalName,
- args[1],
- true
- );
-
- break;
- }
- default:
- throw path.buildCodeFrameError(
- 'hbs can only be invoked with 2 arguments: the template string, and any static options'
- );
- }
-
- let { isProduction } = state.opts;
-
- // allow the user specified value to "win" over ours
- if (!('isProduction' in compilerOptions)) {
- compilerOptions.isProduction = isProduction;
- }
-
- if (shouldUseAutomaticScope(options)) {
- // If using the transform semantics, then users are not expected to pass
- // options, so we override any existing scope
- compilerOptions.locals = getScope(path.scope);
- }
-
- if (shouldUseStrictMode(options)) {
- // If using the transform semantics, then users are not expected to pass
- // options, so we override any existing strict option
- compilerOptions.strictMode = true;
- }
-
- replacePath(
- path,
- state,
- compileTemplate(
- precompile,
- template,
- state.ensureImport('createTemplateFactory', '@ember/template-factory'),
- compilerOptions
- ),
- options
- );
- },
- };
-
- return { visitor };
-};
-
-module.exports._parallelBabel = {
- requireFile: __filename,
-};
-
-module.exports.baseDir = function () {
- return __dirname;
-};
-
-module.exports.preprocessEmbeddedTemplates = require('./dist/preprocess-embedded-templates').default;
diff --git a/local-types.d.ts b/local-types.d.ts
index 345a2b83..8ebe66e8 100644
--- a/local-types.d.ts
+++ b/local-types.d.ts
@@ -1,11 +1,7 @@
-declare module 'parse-static-imports' {
- export interface Import {
- moduleName: string;
- starImport: string;
- namedImports: { name: string; alias: string }[];
- defaultImport: string;
- sideEffectOnly: boolean;
- }
+declare module '@babel/plugin-transform-template-literals' {}
+declare module '@babel/plugin-transform-modules-amd' {}
+declare module '@babel/plugin-transform-unicode-escapes' {}
- export default function parseStaticImports(code: string): Import[];
+declare module 'common-tags' {
+ export function stripIndent(s: TemplateStringsArray): string;
}
diff --git a/package.json b/package.json
index 9a8fb7f8..9de59b35 100644
--- a/package.json
+++ b/package.json
@@ -9,24 +9,32 @@
"prepare": "tsc",
"build": "tsc",
"pretest": "tsc",
- "lint": "tsc && eslint --cache .",
- "test": "jest"
+ "lint": "eslint --cache --ext .ts .",
+ "test": "jest",
+ "clean": "git clean -d -f -x src __tests__"
},
"jest": {
"testPathIgnorePatterns": [
- "mock-precompile"
+ "mock-precompile",
+ ".*\\.ts"
]
},
+ "main": "src/node-main.js",
+ "exports": {
+ ".": {
+ "browser": "./src/plugin.js",
+ "default": "./src/node-main.js"
+ }
+ },
"files": [
- "index.js",
"src/**/*.js",
- "dist/**/*.js"
+ "src/**/*.d.ts",
+ "src/**/*.js.map"
],
"dependencies": {
- "babel-plugin-ember-modules-api-polyfill": "^3.5.0",
+ "babel-import-util": "^0.2.0",
"line-column": "^1.0.2",
"magic-string": "^0.25.7",
- "parse-static-imports": "^1.1.0",
"string.prototype.matchall": "^4.0.5"
},
"devDependencies": {
@@ -35,7 +43,9 @@
"@babel/plugin-transform-modules-amd": "^7.14.5",
"@babel/plugin-transform-template-literals": "^7.14.5",
"@babel/plugin-transform-unicode-escapes": "^7.14.5",
- "@glimmer/syntax": "^0.77.6",
+ "@babel/traverse": "^7.14.5",
+ "@types/babel__traverse": "^7.11.1",
+ "@types/jest": "^26.0.23",
"@types/line-column": "^1.0.0",
"@types/string.prototype.matchall": "^4.0.0",
"@typescript-eslint/eslint-plugin": "^4.28.4",
diff --git a/src/debug.ts b/src/debug.ts
deleted file mode 100644
index c5a485ad..00000000
--- a/src/debug.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export function expect(value: T | null | undefined, message: string): T {
- if (value === undefined || value === null) {
- throw new Error(`LIBRARY BUG: ${message}`);
- }
-
- return value;
-}
diff --git a/src/expression-parser.ts b/src/expression-parser.ts
new file mode 100644
index 00000000..a64283b9
--- /dev/null
+++ b/src/expression-parser.ts
@@ -0,0 +1,162 @@
+import type { NodePath } from '@babel/traverse';
+import type * as Babel from '@babel/core';
+import type { types as t } from '@babel/core';
+
+export class ExpressionParser {
+ constructor(private babel: typeof Babel) {}
+
+ parseExpression(invokedName: string, path: NodePath): unknown {
+ switch (path.node.type) {
+ case 'ObjectExpression':
+ return this.parseObjectExpression(invokedName, path as NodePath);
+ case 'ArrayExpression': {
+ return this.parseArrayExpression(invokedName, path as NodePath);
+ }
+ case 'StringLiteral':
+ case 'BooleanLiteral':
+ case 'NumericLiteral':
+ return path.node.value;
+ default:
+ throw path.buildCodeFrameError(
+ `${invokedName} can only accept static options but you passed ${JSON.stringify(
+ path.node
+ )}`
+ );
+ }
+ }
+
+ parseArrayExpression(invokedName: string, path: NodePath) {
+ return path.get('elements').map((element) => {
+ if (element.isSpreadElement()) {
+ throw element.buildCodeFrameError(`spread element is not allowed here`);
+ } else if (element.isExpression()) {
+ return this.parseExpression(invokedName, element);
+ }
+ });
+ }
+
+ parseScope(invokedName: string, path: NodePath) {
+ let body: t.BlockStatement | t.Expression | undefined = undefined;
+
+ if (path.node.type === 'ObjectMethod') {
+ body = path.node.body;
+ } else {
+ let { value } = path.node;
+ if (this.t.isObjectExpression(value)) {
+ throw path.buildCodeFrameError(
+ `Passing an object as the \`scope\` property to inline templates is no longer supported. Please pass a function that returns an object expression instead.`
+ );
+ }
+ if (this.t.isFunctionExpression(value) || this.t.isArrowFunctionExpression(value)) {
+ body = value.body;
+ }
+ }
+
+ let objExpression: t.Expression | undefined | null = undefined;
+
+ if (body?.type === 'ObjectExpression') {
+ objExpression = body;
+ } else if (body?.type === 'BlockStatement') {
+ let returnStatement = body.body[0];
+
+ if (body.body.length !== 1 || returnStatement.type !== 'ReturnStatement') {
+ throw new Error(
+ 'Scope functions can only consist of a single return statement which returns an object expression containing references to in-scope values'
+ );
+ }
+
+ objExpression = returnStatement.argument;
+ }
+
+ if (objExpression?.type !== 'ObjectExpression') {
+ throw path.buildCodeFrameError(
+ `Scope objects for \`${invokedName}\` must be an object expression containing only references to in-scope values, or a function that returns an object expression containing only references to in-scope values`
+ );
+ }
+
+ return objExpression.properties.map((prop) => {
+ if (this.t.isSpreadElement(prop)) {
+ throw path.buildCodeFrameError(
+ `Scope objects for \`${invokedName}\` may not contain spread elements`
+ );
+ }
+ if (this.t.isObjectMethod(prop)) {
+ throw path.buildCodeFrameError(
+ `Scope objects for \`${invokedName}\` may not contain methods`
+ );
+ }
+
+ let { key, value } = prop;
+ if (!this.t.isStringLiteral(key) && !this.t.isIdentifier(key)) {
+ throw path.buildCodeFrameError(
+ `Scope objects for \`${invokedName}\` may only contain static property names`
+ );
+ }
+
+ let propName = name(key);
+
+ if (value.type !== 'Identifier' || value.name !== propName) {
+ throw path.buildCodeFrameError(
+ `Scope objects for \`${invokedName}\` may only contain direct references to in-scope values, e.g. { ${propName} } or { ${propName}: ${propName} }`
+ );
+ }
+
+ return propName;
+ });
+ }
+
+ parseObjectExpression(
+ invokedName: string,
+ path: NodePath,
+ shouldParseScope = false
+ ) {
+ let result: Record = {};
+
+ path.get('properties').forEach((property) => {
+ let { node } = property;
+ if (this.t.isSpreadElement(node)) {
+ throw property.buildCodeFrameError(`${invokedName} does not allow spread element`);
+ }
+
+ if (node.computed) {
+ throw property.buildCodeFrameError(`${invokedName} can only accept static property names`);
+ }
+
+ let { key } = node;
+ if (!this.t.isIdentifier(key) && !this.t.isStringLiteral(key)) {
+ throw property.buildCodeFrameError(`${invokedName} can only accept static property names`);
+ }
+
+ let propertyName = name(key);
+
+ if (shouldParseScope && propertyName === 'scope') {
+ result.locals = this.parseScope(invokedName, property as NodePath);
+ } else {
+ if (this.t.isObjectMethod(node)) {
+ throw property.buildCodeFrameError(
+ `${invokedName} does not accept a method for ${propertyName}`
+ );
+ }
+ let valuePath = (property as NodePath).get('value');
+ if (!valuePath.isExpression()) {
+ throw valuePath.buildCodeFrameError(`must be an expression`);
+ }
+ result[propertyName] = this.parseExpression(invokedName, valuePath);
+ }
+ });
+
+ return result;
+ }
+
+ private get t() {
+ return this.babel.types;
+ }
+}
+
+function name(node: t.StringLiteral | t.Identifier): string {
+ if (node.type === 'StringLiteral') {
+ return node.value;
+ } else {
+ return node.name;
+ }
+}
diff --git a/src/node-main.ts b/src/node-main.ts
new file mode 100644
index 00000000..e92a0d68
--- /dev/null
+++ b/src/node-main.ts
@@ -0,0 +1,46 @@
+import { resolve } from 'path';
+import makePlugin from './plugin';
+import type * as Babel from '@babel/core';
+
+import { Options as PluginOptions, EmberPrecompile } from './plugin';
+
+export interface Options extends PluginOptions {
+ // The on-disk path to a module that provides a `precompile` function as
+ // defined below. You need to either set `precompilePath` or set `precompile`.
+ precompilerPath?: string;
+
+ // A precompile function that invokes Ember's template compiler.
+ //
+ // Options handling rules:
+ //
+ // - we add `content`, which is the original string form of the template
+ // - we have special parsing for `scope` which becomes `locals` when passed
+ // to your precompile
+ // - anything else the user passes to `precompileTemplate` will be passed
+ // through to your `precompile`.
+ precompile?: EmberPrecompile;
+}
+
+const htmlbarsInlinePrecompile = makePlugin(function (opts: Options) {
+ if (opts.precompilerPath) {
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
+ let mod: any = require(opts.precompilerPath);
+ return mod.precompile;
+ } else if (opts.precompile) {
+ return opts.precompile;
+ }
+}) as {
+ (babel: typeof Babel): Babel.PluginObj;
+ _parallelBabel: { requireFile: string };
+ baseDir(): string;
+};
+
+htmlbarsInlinePrecompile._parallelBabel = {
+ requireFile: __filename,
+};
+
+htmlbarsInlinePrecompile.baseDir = function () {
+ return resolve(__dirname, '..');
+};
+
+export default htmlbarsInlinePrecompile;
diff --git a/src/parse-templates.ts b/src/parse-templates.ts
deleted file mode 100644
index 6d1d6761..00000000
--- a/src/parse-templates.ts
+++ /dev/null
@@ -1,303 +0,0 @@
-import matchAll from 'string.prototype.matchall';
-import { expect } from './debug';
-
-export type TemplateMatch = TemplateTagMatch | TemplateLiteralMatch;
-
-export interface TemplateTagMatch {
- type: 'template-tag';
- start: RegExpMatchArray;
- end: RegExpMatchArray;
-}
-
-export interface TemplateLiteralMatch {
- type: 'template-literal';
- tagName: string;
- start: RegExpMatchArray;
- end: RegExpMatchArray;
-}
-
-const escapeChar = '\\';
-const stringOrRegexDelimiter = /['"/]/;
-
-const singleLineCommentStart = /\/\//;
-const newLine = /\n/;
-const multiLineCommentStart = /\/\*/;
-const multiLineCommentEnd = /\*\//;
-
-const templateLiteralStart = /([$a-zA-Z_][0-9a-zA-Z_$]*)?`/;
-const templateLiteralEnd = /`/;
-
-const dynamicSegmentStart = /\${/;
-const blockStart = /{/;
-const dynamicSegmentEnd = /}/;
-
-function isEscaped(template: string, _offset: number | undefined) {
- let offset = expect(_offset, 'Expected an index to check escaping');
-
- let count = 0;
-
- while (template[offset - 1] === escapeChar) {
- count++;
- offset--;
- }
-
- return count % 2 === 1;
-}
-
-/**
- * Parses a template to find all possible valid matches for an embedded template.
- * Supported syntaxes are template literals:
- *
- * hbs`Hello, world!`
- *
- * And template tags
- *
- *
- *
- * The parser excludes any values found within strings recursively, and also
- * excludes any string literals with dynamic segments (e.g `${}`) since these
- * cannot be valid templates.
- *
- * @param template The template to parse
- * @param relativePath Relative file path for the template (for errors)
- * @param templateTag Optional template tag if parsing template tags is enabled
- * @returns
- */
-export function parseTemplates(
- template: string,
- relativePath: string,
- templateTag?: string
-): TemplateMatch[] {
- const results: TemplateMatch[] = [];
-
- const templateTagStart = new RegExp(`<${templateTag}[^<]*>`);
- const templateTagEnd = new RegExp(`${templateTag}>`);
- const argumentsMatchRegex = new RegExp(`<${templateTag}[^<]*\\S[^<]*>`);
-
- const allTokens = new RegExp(
- [
- singleLineCommentStart.source,
- newLine.source,
- multiLineCommentStart.source,
- multiLineCommentEnd.source,
- stringOrRegexDelimiter.source,
- templateLiteralStart.source,
- templateLiteralEnd.source,
- dynamicSegmentStart.source,
- dynamicSegmentEnd.source,
- blockStart.source,
- templateTagStart.source,
- templateTagEnd.source,
- ].join('|'),
- 'g'
- );
-
- const tokens = Array.from(matchAll(template, allTokens));
-
- while (tokens.length > 0) {
- const currentToken = tokens.shift()!;
-
- parseToken(results, template, currentToken, tokens, true);
- }
-
- /**
- * Parse the current token. If top level, then template tags can be parsed.
- * Else, we are nested within a dynamic segment, which is currently unsupported.
- */
- function parseToken(
- results: TemplateMatch[],
- template: string,
- token: RegExpMatchArray,
- tokens: RegExpMatchArray[],
- isTopLevel = false
- ) {
- if (token[0].match(multiLineCommentStart)) {
- parseMultiLineComment(results, template, token, tokens);
- } else if (token[0].match(singleLineCommentStart)) {
- parseSingleLineComment(results, template, token, tokens);
- } else if (token[0].match(templateLiteralStart)) {
- parseTemplateLiteral(results, template, token, tokens, isTopLevel);
- } else if (
- isTopLevel &&
- templateTag !== undefined &&
- templateTagStart &&
- token[0].match(templateTagStart)
- ) {
- parseTemplateTag(results, template, token, tokens);
- } else if (token[0].match(stringOrRegexDelimiter)) {
- parseStringOrRegex(results, template, token, tokens);
- }
- }
-
- /**
- * Parse a string or a regex. All tokens within a string or regex are ignored
- * since there are no dynamic segments within these.
- */
- function parseStringOrRegex(
- _results: TemplateMatch[],
- template: string,
- startToken: RegExpMatchArray,
- tokens: RegExpMatchArray[]
- ) {
- while (tokens.length > 0) {
- const currentToken = expect(tokens.shift(), 'expected token');
-
- if (currentToken[0] === startToken[0] && !isEscaped(template, currentToken.index)) {
- return;
- }
- }
- }
-
- /**
- * Parse a string or a regex. All tokens within a string or regex are ignored
- * since there are no dynamic segments within these.
- */
- function parseSingleLineComment(
- _results: TemplateMatch[],
- _template: string,
- _startToken: RegExpMatchArray,
- tokens: RegExpMatchArray[]
- ) {
- while (tokens.length > 0) {
- const currentToken = expect(tokens.shift(), 'expected token');
-
- if (currentToken[0] === '\n') {
- return;
- }
- }
- }
-
- /**
- * Parse a string or a regex. All tokens within a string or regex are ignored
- * since there are no dynamic segments within these.
- */
- function parseMultiLineComment(
- _results: TemplateMatch[],
- _template: string,
- _startToken: RegExpMatchArray,
- tokens: RegExpMatchArray[]
- ) {
- while (tokens.length > 0) {
- const currentToken = expect(tokens.shift(), 'expected token');
-
- if (currentToken[0] === '*/') {
- return;
- }
- }
- }
-
- /**
- * Parse a template literal. If a dynamic segment is found, enters the dynamic
- * segment and parses it recursively. If no dynamic segments are found and the
- * literal is top level (e.g. not nested within a dynamic segment) and has a
- * tag, pushes it into the list of results.
- */
- function parseTemplateLiteral(
- results: TemplateMatch[],
- template: string,
- startToken: RegExpMatchArray,
- tokens: RegExpMatchArray[],
- isTopLevel = false
- ) {
- let hasDynamicSegment = false;
-
- while (tokens.length > 0) {
- let currentToken = expect(tokens.shift(), 'expected token');
-
- if (isEscaped(template, currentToken.index)) continue;
-
- if (currentToken[0].match(dynamicSegmentStart)) {
- hasDynamicSegment = true;
-
- parseDynamicSegment(results, template, currentToken, tokens);
- } else if (currentToken[0].match(templateLiteralEnd)) {
- if (isTopLevel && !hasDynamicSegment && startToken[1]?.length > 0) {
- // Handle the case where a tag-like was matched, e.g. hbs`hello`
- if (currentToken[0].length > 1) {
- const tokenStr = currentToken[0];
- const index = expect(currentToken.index, 'expected index');
-
- currentToken = ['`'];
- currentToken.index = index + tokenStr.length - 1;
- }
-
- results.push({
- type: 'template-literal',
- tagName: startToken[1],
- start: startToken,
- end: currentToken,
- });
- }
-
- return;
- }
- }
- }
-
- /**
- * Parses a dynamic segment within a template literal. Continues parsing until
- * the dynamic segment has been exited, ignoring all tokens within it.
- * Accounts for nested block statements, strings, and template literals.
- */
- function parseDynamicSegment(
- results: TemplateMatch[],
- template: string,
- _startToken: RegExpMatchArray,
- tokens: RegExpMatchArray[]
- ) {
- let stack = 1;
-
- while (tokens.length > 0) {
- const currentToken = expect(tokens.shift(), 'expected token');
-
- if (currentToken[0].match(blockStart)) {
- stack++;
- } else if (currentToken[0].match(dynamicSegmentEnd)) {
- stack--;
- } else {
- parseToken(results, template, currentToken, tokens);
- }
-
- if (stack === 0) {
- return;
- }
- }
- }
-
- /**
- * Parses a template tag. Continues parsing until the template tag has closed,
- * accounting for nested template tags.
- */
- function parseTemplateTag(
- results: TemplateMatch[],
- _template: string,
- startToken: RegExpMatchArray,
- tokens: RegExpMatchArray[]
- ) {
- let stack = 1;
-
- if (argumentsMatchRegex && startToken[0].match(argumentsMatchRegex)) {
- throw new Error(
- `embedded template preprocessing currently does not support passing arguments, found args in: ${relativePath}`
- );
- }
-
- while (tokens.length > 0) {
- const currentToken = expect(tokens.shift(), 'expected token');
-
- if (currentToken[0].match(templateTagStart)) {
- stack++;
- } else if (currentToken[0].match(templateTagEnd)) {
- stack--;
- }
-
- if (stack === 0) {
- results.push({ type: 'template-tag', start: startToken, end: currentToken });
-
- return;
- }
- }
- }
-
- return results;
-}
diff --git a/src/plugin.ts b/src/plugin.ts
new file mode 100644
index 00000000..3967ab02
--- /dev/null
+++ b/src/plugin.ts
@@ -0,0 +1,275 @@
+import type { NodePath } from '@babel/traverse';
+import type * as Babel from '@babel/core';
+import type { types as t } from '@babel/core';
+import { ImportUtil } from 'babel-import-util';
+import { ExpressionParser } from './expression-parser';
+
+export type EmberPrecompile = (templateString: string, options: Record) => string;
+
+export type LegacyModuleName =
+ | 'ember-cli-htmlbars'
+ | 'ember-cli-htmlbars-inline-precompile'
+ | 'htmlbars-inline-precompile';
+
+type ModuleName = LegacyModuleName | '@ember/template-compilation';
+
+interface ModuleConfig {
+ moduleName: ModuleName;
+ export: string;
+ allowTemplateLiteral: boolean;
+ enableScope: boolean;
+}
+
+const INLINE_PRECOMPILE_MODULES: ModuleConfig[] = [
+ {
+ moduleName: 'ember-cli-htmlbars',
+ export: 'hbs',
+ allowTemplateLiteral: true,
+ enableScope: false,
+ },
+ {
+ moduleName: 'ember-cli-htmlbars-inline-precompile',
+ export: 'default',
+ allowTemplateLiteral: true,
+ enableScope: false,
+ },
+ {
+ moduleName: 'htmlbars-inline-precompile',
+ export: 'default',
+ allowTemplateLiteral: true,
+ enableScope: false,
+ },
+ {
+ moduleName: '@ember/template-compilation',
+ export: 'precompileTemplate',
+ allowTemplateLiteral: false,
+ enableScope: true,
+ },
+];
+
+export interface Options {
+ // Allows you to remap what imports will be emitted in our compiled output. By
+ // example:
+ //
+ // outputModuleOverrides: {
+ // '@ember/template-factory': {
+ // createTemplateFactory: ['createTemplateFactory', '@glimmer/core'],
+ // }
+ // }
+ //
+ // Normal Ember apps shouldn't need this, it exists to support other
+ // environments like standalone GlimmerJS
+ outputModuleOverrides?: Record>;
+
+ // By default, this plugin implements only Ember's stable public API for
+ // template compilation, which is:
+ //
+ // import { precompileTemplate } from '@ember/template-compilation';
+ //
+ // But historically there are several other importable syntaxes in widespread
+ // use, and we can enable those too by including their module names in this
+ // list.
+ enableLegacyModules?: LegacyModuleName[];
+}
+
+interface State {
+ opts: Options;
+ util: ImportUtil;
+ precompile: EmberPrecompile;
+ templateFactory: { moduleName: string; exportName: string };
+}
+
+export default function makePlugin(
+ // receives the Babel plugin options, returns Ember's precompiler
+ loadPrecompiler: (opts: O) => EmberPrecompile
+) {
+ return function htmlbarsInlinePrecompile(babel: typeof Babel): Babel.PluginObj {
+ let t = babel.types;
+
+ function insertCompiledTemplate(
+ target: NodePath,
+ state: State,
+ template: string,
+ userTypedOptions: Record
+ ): void {
+ let options = Object.assign({ contents: template }, userTypedOptions);
+ let precompile = state.precompile;
+ let precompileResultString: string;
+
+ if (options.insertRuntimeErrors) {
+ try {
+ precompileResultString = precompile(template, options);
+ } catch (error) {
+ target.replaceWith(runtimeErrorIIFE(babel, { ERROR_MESSAGE: error.message }));
+ return;
+ }
+ } else {
+ precompileResultString = precompile(template, options);
+ }
+
+ let precompileResultAST = babel.parse(
+ `var precompileResult = ${precompileResultString};`
+ ) as t.File;
+
+ let templateExpression = (precompileResultAST.program.body[0] as t.VariableDeclaration)
+ .declarations[0].init as t.Expression;
+
+ t.addComment(
+ templateExpression,
+ 'leading',
+ `\n ${template.replace(/\*\//g, '*\\/')}\n`,
+ /* line comment? */ false
+ );
+
+ let templateFactoryIdentifier = state.util.import(
+ target,
+ state.templateFactory.moduleName,
+ state.templateFactory.exportName
+ );
+ target.replaceWith(t.callExpression(templateFactoryIdentifier, [templateExpression]));
+ }
+
+ return {
+ visitor: {
+ Program: {
+ enter(path: NodePath, state: State) {
+ let moduleName = '@ember/template-factory';
+ let exportName = 'createTemplateFactory';
+ let overrides = state.opts.outputModuleOverrides?.[moduleName]?.[exportName];
+ state.templateFactory = overrides
+ ? { exportName: overrides[0], moduleName: overrides[1] }
+ : { exportName, moduleName };
+ state.util = new ImportUtil(t, path);
+ state.precompile = loadPrecompiler(state.opts as O);
+ },
+ exit(_path: NodePath, state: State) {
+ for (let { moduleName, export: exportName } of configuredModules(state)) {
+ state.util.removeImport(moduleName, exportName);
+ }
+ },
+ },
+
+ TaggedTemplateExpression(path: NodePath, state: State) {
+ let tagPath = path.get('tag');
+
+ if (!tagPath.isIdentifier()) {
+ return;
+ }
+ let options = referencesInlineCompiler(tagPath, state);
+ if (!options) {
+ return;
+ }
+
+ if (!options.allowTemplateLiteral) {
+ throw path.buildCodeFrameError(
+ `Attempted to use \`${tagPath.node.name}\` as a template tag, but it can only be called as a function with a string passed to it: ${tagPath.node.name}('content here')`
+ );
+ }
+
+ if (path.node.quasi.expressions.length) {
+ throw path.buildCodeFrameError(
+ 'placeholders inside a tagged template string are not supported'
+ );
+ }
+
+ let template = path.node.quasi.quasis.map((quasi) => quasi.value.cooked).join('');
+ insertCompiledTemplate(path, state, template, {});
+ },
+
+ CallExpression(path: NodePath, state: State) {
+ let calleePath = path.get('callee');
+
+ if (!calleePath.isIdentifier()) {
+ return;
+ }
+ let options = referencesInlineCompiler(calleePath, state);
+ if (!options) {
+ return;
+ }
+
+ let [firstArg, secondArg, ...restArgs] = path.get('arguments');
+
+ let template;
+
+ switch (firstArg?.node.type) {
+ case 'StringLiteral':
+ template = firstArg.node.value;
+ break;
+ case 'TemplateLiteral':
+ if (firstArg.node.expressions.length) {
+ throw path.buildCodeFrameError(
+ 'placeholders inside a template string are not supported'
+ );
+ } else {
+ template = firstArg.node.quasis.map((quasi) => quasi.value.cooked).join('');
+ }
+ break;
+ case 'TaggedTemplateExpression':
+ throw path.buildCodeFrameError(
+ `tagged template strings inside ${calleePath.node.name} are not supported`
+ );
+ default:
+ throw path.buildCodeFrameError(
+ `${calleePath.node.name} should be invoked with at least a single argument (the template string)`
+ );
+ }
+
+ let userTypedOptions: Record;
+
+ if (!secondArg) {
+ userTypedOptions = {};
+ } else {
+ if (!secondArg.isObjectExpression()) {
+ throw path.buildCodeFrameError(
+ `${calleePath.node.name} can only be invoked with 2 arguments: the template string, and any static options`
+ );
+ }
+
+ userTypedOptions = new ExpressionParser(babel).parseObjectExpression(
+ calleePath.node.name,
+ secondArg,
+ true
+ );
+ }
+ if (restArgs.length > 0) {
+ throw path.buildCodeFrameError(
+ `${calleePath.node.name} can only be invoked with 2 arguments: the template string, and any static options`
+ );
+ }
+ insertCompiledTemplate(path, state, template, userTypedOptions);
+ },
+ },
+ };
+ };
+}
+
+function* configuredModules(state: State) {
+ for (let moduleConfig of INLINE_PRECOMPILE_MODULES) {
+ if (
+ moduleConfig.moduleName !== '@ember/template-compilation' &&
+ !state.opts.enableLegacyModules?.includes(moduleConfig.moduleName)
+ ) {
+ continue;
+ }
+ yield moduleConfig;
+ }
+}
+
+function referencesInlineCompiler(
+ path: NodePath,
+ state: State
+): ModuleConfig | undefined {
+ for (let moduleConfig of configuredModules(state)) {
+ if (path.referencesImport(moduleConfig.moduleName, moduleConfig.export)) {
+ return moduleConfig;
+ }
+ }
+ return undefined;
+}
+
+function runtimeErrorIIFE(babel: typeof Babel, replacements: { ERROR_MESSAGE: string }) {
+ let statement = babel.template(`(function() {\n throw new Error('ERROR_MESSAGE');\n})();`)(
+ replacements
+ ) as t.ExpressionStatement;
+ return statement.expression;
+}
diff --git a/src/preprocess-embedded-templates.ts b/src/preprocess-embedded-templates.ts
deleted file mode 100644
index 2a084dae..00000000
--- a/src/preprocess-embedded-templates.ts
+++ /dev/null
@@ -1,260 +0,0 @@
-import MagicString from 'magic-string';
-import path from 'path';
-import parseStaticImports from 'parse-static-imports';
-import lineColumn from 'line-column';
-import { expect } from './debug';
-import { parseTemplates, TemplateMatch } from './parse-templates';
-
-interface PreprocessOptionsEager {
- getTemplateLocals: GetTemplateLocals;
-
- importIdentifier?: string;
- importPath?: string;
- templateTag?: string;
- templateTagReplacement?: string;
-
- relativePath: string;
- includeSourceMaps: boolean;
- includeTemplateTokens: boolean;
-}
-
-interface PreprocessOptionsLazy {
- getTemplateLocalsRequirePath: string;
- getTemplateLocalsExportPath: string;
-
- importIdentifier?: string;
- importPath?: string;
- templateTag?: string;
- templateTagReplacement?: string;
-
- relativePath: string;
- includeSourceMaps: boolean;
- includeTemplateTokens: boolean;
-}
-
-type PreprocessOptions = PreprocessOptionsLazy | PreprocessOptionsEager;
-
-interface PreprocessedOutput {
- output: string;
- replacements: Replacement[];
-}
-
-interface Replacement {
- type: 'start' | 'end';
- index: number;
- oldLength: number;
- newLength: number;
- originalLine: number;
- originalCol: number;
-}
-
-type GetTemplateLocals = (template: string) => string[];
-
-function getMatchStartAndEnd(match: RegExpMatchArray) {
- return {
- start: expect(match.index, 'Expected regular expression match to have an index'),
- end:
- expect(match.index, 'Expected regular expression match to have an index') + match[0].length,
- };
-}
-
-function findImportedName(
- template: string,
- importPath: string,
- importIdentifier: string
-): string | undefined {
- for (const $import of parseStaticImports(template)) {
- if ($import.moduleName === importPath) {
- const match = $import.namedImports.find(({ name }) => name === importIdentifier);
-
- return match?.alias || match?.name;
- }
- }
-
- return undefined;
-}
-
-function replacementFrom(
- template: string,
- index: number,
- oldLength: number,
- newLength: number,
- type: 'start' | 'end'
-): Replacement {
- const loc = expect(
- lineColumn(template).fromIndex(index),
- 'BUG: expected to find a line/column based on index'
- );
-
- return {
- type,
- index,
- oldLength,
- newLength,
- originalCol: loc.col,
- originalLine: loc.line,
- };
-}
-
-function loadGetTemplateLocals(path: string, exportPath: string): GetTemplateLocals {
- // eslint-disable-next-line @typescript-eslint/no-var-requires
- const templateLocals = require(path);
-
- let getTemplateLocals = templateLocals;
-
- for (const segment of exportPath.split('.')) {
- getTemplateLocals = getTemplateLocals[segment];
- }
-
- return getTemplateLocals;
-}
-
-function replaceMatch(
- s: MagicString,
- match: TemplateMatch,
- startReplacement: string,
- endReplacement: string,
- template: string,
- getTemplateLocals: GetTemplateLocals,
- includeTemplateTokens: boolean
-): Replacement[] {
- const { start: openStart, end: openEnd } = getMatchStartAndEnd(match.start);
- const { start: closeStart, end: closeEnd } = getMatchStartAndEnd(match.end);
-
- let options = '';
-
- if (includeTemplateTokens) {
- const tokensString = getTemplateLocals(template.slice(openEnd, closeStart))
- .filter((local: string) => local.match(/^[$A-Z_][0-9A-Z_$]*$/i))
- .join(',');
-
- if (tokensString.length > 0) {
- options = `, { scope() { return {${tokensString}}; } }`;
- }
- }
-
- const newStart = `${startReplacement}\``;
- const newEnd = `\`${options}${endReplacement}`;
-
- s.overwrite(openStart, openEnd, newStart);
- s.overwrite(closeStart, closeEnd, newEnd);
-
- return [
- replacementFrom(template, openStart, openEnd - openStart, newStart.length, 'start'),
- replacementFrom(template, closeStart, closeEnd - closeStart, newEnd.length, 'end'),
- ];
-}
-
-/**
- * Preprocesses all embedded templates within a JavaScript or TypeScript file.
- * This function replaces all embedded templates that match our template syntax
- * with valid, parseable JS. Optionally, it can also include a source map, and
- * it can also include all possible values used within the template.
- *
- * Input:
- *
- *
- *
- * Output:
- *
- * [GLIMMER_TEMPLATE(``, { scope() { return {MyComponent}; } })];
- *
- * It can also be used with template literals to provide the in scope values:
- *
- * Input:
- *
- * hbs``;
- *
- * Output
- *
- * hbs(``, { scope() { return {MyComponent}; } });
- */
-export default function preprocessEmbeddedTemplates(
- template: string,
- options: PreprocessOptions
-): PreprocessedOutput {
- let getTemplateLocals: GetTemplateLocals;
-
- const {
- importPath,
- templateTag,
- templateTagReplacement,
- includeSourceMaps,
- includeTemplateTokens,
- relativePath,
- } = options;
-
- let { importIdentifier } = options;
-
- if ('getTemplateLocals' in options) {
- getTemplateLocals = options.getTemplateLocals;
- } else {
- getTemplateLocals = loadGetTemplateLocals(
- options.getTemplateLocalsRequirePath,
- options.getTemplateLocalsExportPath
- );
- }
-
- if (importPath && importIdentifier) {
- importIdentifier = findImportedName(template, importPath, importIdentifier);
-
- if (!importIdentifier) {
- return {
- output: template,
- replacements: [],
- };
- }
- }
-
- const matches = parseTemplates(template, relativePath, templateTag);
- const replacements: Replacement[] = [];
- const s = new MagicString(template);
-
- for (const match of matches) {
- if (match.type === 'template-literal' && match.tagName === importIdentifier) {
- replacements.push(
- ...replaceMatch(
- s,
- match,
- `${match.tagName}(`,
- ')',
- template,
- getTemplateLocals,
- includeTemplateTokens
- )
- );
- } else if (match.type === 'template-tag') {
- replacements.push(
- ...replaceMatch(
- s,
- match,
- `[${templateTagReplacement}(`,
- ')]',
- template,
- getTemplateLocals,
- includeTemplateTokens
- )
- );
- }
- }
-
- let output = s.toString();
-
- if (includeSourceMaps) {
- const { dir, name } = path.parse(relativePath);
-
- const map = s.generateMap({
- file: `${dir}/${name}.js`,
- source: relativePath,
- includeContent: true,
- hires: true,
- });
-
- output += `\n//# sourceMappingURL=${map.toUrl()}`;
- }
-
- return {
- output,
- replacements,
- };
-}
diff --git a/src/template-literal-transform.js b/src/template-literal-transform.js
deleted file mode 100644
index 8e319e53..00000000
--- a/src/template-literal-transform.js
+++ /dev/null
@@ -1,103 +0,0 @@
-const filePath = require('path');
-const { registerRefs } = require('./util');
-
-module.exports.replaceTemplateLiteralProposal = function (t, path, state, compiled, options) {
- let version = options.useTemplateLiteralProposalSemantics;
-
- if (typeof version !== 'number' || version !== 1) {
- throw path.buildCodeFrameError(
- 'Passed an invalid version for useTemplateLiteralProposalSemantics. This option must be assign a version number. The current valid version numbers are: 1'
- );
- }
-
- let { parentPath } = path;
- let filename = filePath.parse(state.file.opts.filename).name;
-
- if (parentPath.node.type === 'ClassProperty') {
- if (parentPath.node.static !== true) {
- throw path.buildCodeFrameError(
- `Attempted to use \`${options.originalName}\` with a non-static class field. Templates declared with this helper must be assigned to the \`static template\` class field`
- );
- }
-
- if (parentPath.node.key.name !== 'template') {
- throw path.buildCodeFrameError(
- `Attempted to use \`${options.originalName}\` with the ${parentPath.node.key.name} class property. Templates declared with this helper must be assigned to the \`static template\` class field`
- );
- }
-
- let classPath = parentPath.parentPath.parentPath;
-
- if (classPath.node.type === 'ClassDeclaration') {
- if (classPath.node.id === null) {
- registerRefs(
- classPath.replaceWith(buildClassExpression(t, state, classPath, compiled)),
- (newPath) => [newPath.parentPath.get('declaration')]
- );
- } else {
- registerRefs(
- classPath.insertAfter(
- t.expressionStatement(
- t.callExpression(state.ensureImport('setComponentTemplate', '@ember/component'), [
- compiled,
- classPath.node.id,
- ])
- )
- ),
- (newPath) => [
- newPath.get('expression.callee'),
- newPath.get('expression.arguments.0.callee'),
- ]
- );
- }
- } else {
- registerRefs(
- classPath.replaceWith(
- t.expressionStatement(
- t.callExpression(state.ensureImport('setComponentTemplate', '@ember/component'), [
- compiled,
- classPath.node,
- ])
- )
- ),
- (newPath) => [
- newPath.parentPath.get('callee'),
- newPath.parentPath.get('arguments.0.callee'),
- ]
- );
- }
-
- parentPath.remove();
- } else {
- let varId = parentPath.node.id || path.scope.generateUidIdentifier(filename);
-
- registerRefs(
- path.replaceWith(
- t.callExpression(state.ensureImport('setComponentTemplate', '@ember/component'), [
- compiled,
- t.callExpression(state.ensureImport('default', '@ember/component/template-only'), [
- t.stringLiteral(filename),
- t.stringLiteral(varId.name),
- ]),
- ])
- ),
- (newPath) => [
- newPath.get('callee'),
- newPath.get('arguments.0.callee'),
- newPath.get('arguments.1.callee'),
- ]
- );
- }
-};
-
-function buildClassExpression(t, state, classPath, compiled) {
- return t.callExpression(state.ensureImport('setComponentTemplate', '@ember/component'), [
- compiled,
- t.classExpression(
- classPath.node.id,
- classPath.node.superClass,
- classPath.node.body,
- classPath.node.decorators
- ),
- ]);
-}
diff --git a/src/template-tag-transform.js b/src/template-tag-transform.js
deleted file mode 100644
index b9f8ae98..00000000
--- a/src/template-tag-transform.js
+++ /dev/null
@@ -1,108 +0,0 @@
-const filePath = require('path');
-const { registerRefs } = require('./util');
-
-/**
- * Supports the following syntaxes:
- *
- * const Foo = [GLIMMER_TEMPLATE('hello')];
- *
- * export const Foo = [GLIMMER_TEMPLATE('hello')];
- *
- * export default [GLIMMER_TEMPLATE('hello')];
- *
- * class Foo {
- * [GLIMMER_TEMPLATE('hello')];
- * }
- */
-module.exports.replaceTemplateTagProposal = function (t, path, state, compiled, options) {
- let version = options.useTemplateTagProposalSemantics;
-
- if (typeof version !== 'number' || version !== 1) {
- throw path.buildCodeFrameError(
- 'Passed an invalid version for useTemplateTagProposalSemantics. This option must be assign a version number. The current valid version numbers are: 1'
- );
- }
-
- path = path.parentPath;
- let filename = filePath.parse(state.file.opts.filename).name;
-
- if (path.type === 'ArrayExpression') {
- let arrayParentPath = path.parentPath;
- let varId = arrayParentPath.node.id || path.scope.generateUidIdentifier(filename);
-
- const templateOnlyComponentExpression = t.callExpression(
- state.ensureImport('setComponentTemplate', '@ember/component'),
- [
- compiled,
- t.callExpression(state.ensureImport('default', '@ember/component/template-only'), [
- t.stringLiteral(filename),
- t.stringLiteral(varId.name),
- ]),
- ]
- );
-
- if (
- arrayParentPath.type === 'ExpressionStatement' &&
- arrayParentPath.parentPath.type === 'Program'
- ) {
- registerRefs(
- arrayParentPath.replaceWith(t.exportDefaultDeclaration(templateOnlyComponentExpression)),
- (newPath) => [
- newPath.get('declaration.callee'),
- newPath.get('declaration.arguments.0.callee'),
- newPath.get('declaration.arguments.1.callee'),
- ]
- );
- } else {
- registerRefs(path.replaceWith(templateOnlyComponentExpression), (newPath) => [
- newPath.get('callee'),
- newPath.get('arguments.0.callee'),
- newPath.get('arguments.1.callee'),
- ]);
- }
- } else if (path.type === 'ClassProperty') {
- let classPath = path.parentPath.parentPath;
-
- if (classPath.node.type === 'ClassDeclaration') {
- registerRefs(
- classPath.insertAfter(
- t.expressionStatement(
- t.callExpression(state.ensureImport('setComponentTemplate', '@ember/component'), [
- compiled,
- classPath.node.id,
- ])
- )
- ),
- (newPath) => [
- newPath.get('expression.callee'),
- newPath.get('expression.arguments.0.callee'),
- ]
- );
- } else {
- registerRefs(
- classPath.replaceWith(
- t.expressionStatement(
- t.callExpression(state.ensureImport('setComponentTemplate', '@ember/component'), [
- compiled,
- classPath.node,
- ])
- )
- ),
- (newPath) => [
- newPath.parentPath.get('callee'),
- newPath.parentPath.get('arguments.0.callee'),
- ]
- );
- }
-
- path.remove();
-
- return;
- } else {
- throw path.buildCodeFrameError(
- `Attempted to use \`${
- options.debugName || options.originalName
- }\` to define a template in an unsupported way. Templates defined using this syntax must be:\n\n1. Assigned to a variable declaration OR\n2. The default export of a file OR\n2. In the top level of the file on their own (sugar for \`export default\`) OR\n4. Used directly within a named class body`
- );
- }
-};
diff --git a/src/util.js b/src/util.js
deleted file mode 100644
index ac7a0bd9..00000000
--- a/src/util.js
+++ /dev/null
@@ -1,20 +0,0 @@
-module.exports.registerRefs = (newPath, getRefPaths) => {
- if (Array.isArray(newPath)) {
- if (newPath.length > 1) {
- throw new Error(
- 'registerRefs is only meant to handle single node transformations. Received more than one path node.'
- );
- }
-
- newPath = newPath[0];
- }
-
- let refPaths = getRefPaths(newPath);
-
- for (let ref of refPaths) {
- let binding = ref.scope.getBinding(ref.node.name);
- if (binding !== undefined) {
- binding.reference(ref);
- }
- }
-};
diff --git a/tsconfig.json b/tsconfig.json
index f68ee049..ccb92e5b 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -6,9 +6,6 @@
"inlineSources": true,
"inlineSourceMap": true,
"declaration": true,
- "outDir": "dist",
- "baseUrl": ".",
- "rootDir": "src",
// Environment Configuration
"experimentalDecorators": true,
@@ -26,18 +23,13 @@
"noImplicitReturns": true,
"skipLibCheck": true,
"skipDefaultLibCheck": true,
+ "strict": true,
"newLine": "LF",
-
- "paths": {
- "*": ["*", "*/src"]
- }
},
"include": [
- // Because of the circular dependency, we have to avoid specifying globs
- // that include node_modules.
- "index.ts",
+ "./src/**/*.ts",
+ "./__tests__/**/*.ts",
"local-types.d.ts",
- "src/**/*.ts"
],
}
diff --git a/yarn.lock b/yarn.lock
index 132c4e28..949d2292 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9,12 +9,7 @@
dependencies:
"@babel/highlight" "^7.14.5"
-"@babel/compat-data@^7.12.7":
- version "7.12.7"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.7.tgz#9329b4782a7d6bbd7eef57e11addf91ee3ef1e41"
- integrity sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==
-
-"@babel/compat-data@^7.14.5":
+"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.5.tgz#8ef4c18e58e801c5c95d3c1c0f2874a2680fadea"
integrity sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==
@@ -49,13 +44,6 @@
jsesc "^2.5.1"
source-map "^0.5.0"
-"@babel/helper-annotate-as-pure@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3"
- integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==
- dependencies:
- "@babel/types" "^7.10.4"
-
"@babel/helper-annotate-as-pure@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61"
@@ -63,15 +51,15 @@
dependencies:
"@babel/types" "^7.14.5"
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3"
- integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz#b939b43f8c37765443a19ae74ad8b15978e0a191"
+ integrity sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==
dependencies:
- "@babel/helper-explode-assignable-expression" "^7.10.4"
- "@babel/types" "^7.10.4"
+ "@babel/helper-explode-assignable-expression" "^7.14.5"
+ "@babel/types" "^7.14.5"
-"@babel/helper-compilation-targets@^7.12.0", "@babel/helper-compilation-targets@^7.12.5", "@babel/helper-compilation-targets@^7.14.5":
+"@babel/helper-compilation-targets@^7.12.0", "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf"
integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==
@@ -81,7 +69,7 @@
browserslist "^4.16.6"
semver "^6.3.0"
-"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.14.5":
+"@babel/helper-create-class-features-plugin@^7.14.5", "@babel/helper-create-class-features-plugin@^7.14.6":
version "7.14.6"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz#f114469b6c06f8b5c59c6c4e74621f5085362542"
integrity sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==
@@ -93,39 +81,34 @@
"@babel/helper-replace-supers" "^7.14.5"
"@babel/helper-split-export-declaration" "^7.14.5"
-"@babel/helper-create-regexp-features-plugin@^7.12.1":
- version "7.12.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz#2084172e95443fa0a09214ba1bb328f9aea1278f"
- integrity sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==
+"@babel/helper-create-regexp-features-plugin@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4"
+ integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
+ "@babel/helper-annotate-as-pure" "^7.14.5"
regexpu-core "^4.7.1"
-"@babel/helper-define-map@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30"
- integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==
- dependencies:
- "@babel/helper-function-name" "^7.10.4"
- "@babel/types" "^7.10.5"
- lodash "^4.17.19"
-
-"@babel/helper-explode-assignable-expression@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz#40a1cd917bff1288f699a94a75b37a1a2dbd8c7c"
- integrity sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==
+"@babel/helper-define-polyfill-provider@^0.2.2":
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6"
+ integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==
dependencies:
- "@babel/traverse" "^7.10.4"
- "@babel/types" "^7.10.4"
+ "@babel/helper-compilation-targets" "^7.13.0"
+ "@babel/helper-module-imports" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/traverse" "^7.13.0"
+ debug "^4.1.1"
+ lodash.debounce "^4.0.8"
+ resolve "^1.14.2"
+ semver "^6.1.2"
-"@babel/helper-function-name@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a"
- integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==
+"@babel/helper-explode-assignable-expression@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz#8aa72e708205c7bb643e45c73b4386cdf2a1f645"
+ integrity sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==
dependencies:
- "@babel/helper-get-function-arity" "^7.10.4"
- "@babel/template" "^7.10.4"
- "@babel/types" "^7.10.4"
+ "@babel/types" "^7.14.5"
"@babel/helper-function-name@^7.14.5":
version "7.14.5"
@@ -136,13 +119,6 @@
"@babel/template" "^7.14.5"
"@babel/types" "^7.14.5"
-"@babel/helper-get-function-arity@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2"
- integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==
- dependencies:
- "@babel/types" "^7.10.4"
-
"@babel/helper-get-function-arity@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815"
@@ -150,13 +126,6 @@
dependencies:
"@babel/types" "^7.14.5"
-"@babel/helper-hoist-variables@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e"
- integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==
- dependencies:
- "@babel/types" "^7.10.4"
-
"@babel/helper-hoist-variables@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d"
@@ -164,13 +133,6 @@
dependencies:
"@babel/types" "^7.14.5"
-"@babel/helper-member-expression-to-functions@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c"
- integrity sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==
- dependencies:
- "@babel/types" "^7.12.1"
-
"@babel/helper-member-expression-to-functions@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz#d5c70e4ad13b402c95156c7a53568f504e2fb7b8"
@@ -178,21 +140,21 @@
dependencies:
"@babel/types" "^7.14.5"
-"@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.5", "@babel/helper-module-imports@^7.8.3":
- version "7.13.12"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977"
- integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==
- dependencies:
- "@babel/types" "^7.13.12"
-
-"@babel/helper-module-imports@^7.14.5":
+"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3"
integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==
dependencies:
"@babel/types" "^7.14.5"
-"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.14.8":
+"@babel/helper-module-imports@^7.8.3":
+ version "7.13.12"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977"
+ integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==
+ dependencies:
+ "@babel/types" "^7.13.12"
+
+"@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.14.8":
version "7.14.8"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.8.tgz#d4279f7e3fd5f4d5d342d833af36d4dd87d7dc49"
integrity sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA==
@@ -206,13 +168,6 @@
"@babel/traverse" "^7.14.8"
"@babel/types" "^7.14.8"
-"@babel/helper-optimise-call-expression@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673"
- integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==
- dependencies:
- "@babel/types" "^7.10.4"
-
"@babel/helper-optimise-call-expression@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c"
@@ -220,36 +175,19 @@
dependencies:
"@babel/types" "^7.14.5"
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9"
integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==
-"@babel/helper-regex@^7.4.4":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351"
- integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==
- dependencies:
- lodash "^4.17.13"
-
-"@babel/helper-remap-async-to-generator@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd"
- integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/helper-wrap-function" "^7.10.4"
- "@babel/types" "^7.12.1"
-
-"@babel/helper-replace-supers@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz#f15c9cc897439281891e11d5ce12562ac0cf3fa9"
- integrity sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==
+"@babel/helper-remap-async-to-generator@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz#51439c913612958f54a987a4ffc9ee587a2045d6"
+ integrity sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==
dependencies:
- "@babel/helper-member-expression-to-functions" "^7.12.1"
- "@babel/helper-optimise-call-expression" "^7.10.4"
- "@babel/traverse" "^7.12.1"
- "@babel/types" "^7.12.1"
+ "@babel/helper-annotate-as-pure" "^7.14.5"
+ "@babel/helper-wrap-function" "^7.14.5"
+ "@babel/types" "^7.14.5"
"@babel/helper-replace-supers@^7.14.5":
version "7.14.5"
@@ -261,12 +199,12 @@
"@babel/traverse" "^7.14.5"
"@babel/types" "^7.14.5"
-"@babel/helper-simple-access@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136"
- integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==
+"@babel/helper-simple-access@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz#66ea85cf53ba0b4e588ba77fc813f53abcaa41c4"
+ integrity sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==
dependencies:
- "@babel/types" "^7.12.1"
+ "@babel/types" "^7.14.5"
"@babel/helper-simple-access@^7.14.8":
version "7.14.8"
@@ -275,19 +213,12 @@
dependencies:
"@babel/types" "^7.14.8"
-"@babel/helper-skip-transparent-expression-wrappers@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf"
- integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==
- dependencies:
- "@babel/types" "^7.12.1"
-
-"@babel/helper-split-export-declaration@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz#2c70576eaa3b5609b24cb99db2888cc3fc4251d1"
- integrity sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==
+"@babel/helper-skip-transparent-expression-wrappers@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz#96f486ac050ca9f44b009fbe5b7d394cab3a0ee4"
+ integrity sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==
dependencies:
- "@babel/types" "^7.10.4"
+ "@babel/types" "^7.14.5"
"@babel/helper-split-export-declaration@^7.14.5":
version "7.14.5"
@@ -296,11 +227,6 @@
dependencies:
"@babel/types" "^7.14.5"
-"@babel/helper-validator-identifier@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
- integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
-
"@babel/helper-validator-identifier@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8"
@@ -311,25 +237,20 @@
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz#32be33a756f29e278a0d644fa08a2c9e0f88a34c"
integrity sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==
-"@babel/helper-validator-option@^7.12.11":
- version "7.12.11"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz#d66cb8b7a3e7fe4c6962b32020a131ecf0847f4f"
- integrity sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==
-
"@babel/helper-validator-option@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3"
integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==
-"@babel/helper-wrap-function@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87"
- integrity sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==
+"@babel/helper-wrap-function@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz#5919d115bf0fe328b8a5d63bcb610f51601f2bff"
+ integrity sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==
dependencies:
- "@babel/helper-function-name" "^7.10.4"
- "@babel/template" "^7.10.4"
- "@babel/traverse" "^7.10.4"
- "@babel/types" "^7.10.4"
+ "@babel/helper-function-name" "^7.14.5"
+ "@babel/template" "^7.14.5"
+ "@babel/traverse" "^7.14.5"
+ "@babel/types" "^7.14.5"
"@babel/helpers@^7.14.8":
version "7.14.8"
@@ -349,21 +270,30 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.5", "@babel/parser@^7.14.8", "@babel/parser@^7.4.5", "@babel/parser@^7.7.5":
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.5", "@babel/parser@^7.14.8", "@babel/parser@^7.4.5":
version "7.14.8"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.8.tgz#66fd41666b2d7b840bd5ace7f7416d5ac60208d4"
integrity sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==
-"@babel/plugin-proposal-async-generator-functions@^7.12.1":
- version "7.12.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz#04b8f24fd4532008ab4e79f788468fd5a8476566"
- integrity sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz#4b467302e1548ed3b1be43beae2cc9cf45e0bb7e"
+ integrity sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-remap-async-to-generator" "^7.12.1"
- "@babel/plugin-syntax-async-generators" "^7.8.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5"
+ "@babel/plugin-proposal-optional-chaining" "^7.14.5"
-"@babel/plugin-proposal-class-properties@^7.10.4", "@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.14.5":
+"@babel/plugin-proposal-async-generator-functions@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.5.tgz#4024990e3dd74181f4f426ea657769ff49a2df39"
+ integrity sha512-tbD/CG3l43FIXxmu4a7RBe4zH7MLJ+S/lFowPFO7HetS2hyOZ/0nnnznegDuzFzfkyQYTxqdTH/hKmuBngaDAA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-remap-async-to-generator" "^7.14.5"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+
+"@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz#40d1ee140c5b1e31a350f4f5eed945096559b42e"
integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==
@@ -371,115 +301,127 @@
"@babel/helper-create-class-features-plugin" "^7.14.5"
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-proposal-decorators@^7.10.5":
- version "7.12.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.12.tgz#067a6d3d6ca86d54cf56bb183239199c20daeafe"
- integrity sha512-fhkE9lJYpw2mjHelBpM2zCbaA11aov2GJs7q4cFaXNrWx0H3bW58H9Esy2rdtYOghFBEYUDRIpvlgi+ZD+AvvQ==
+"@babel/plugin-proposal-class-static-block@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz#158e9e10d449c3849ef3ecde94a03d9f1841b681"
+ integrity sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-decorators" "^7.12.1"
+ "@babel/helper-create-class-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-class-static-block" "^7.14.5"
-"@babel/plugin-proposal-dynamic-import@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc"
- integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==
+"@babel/plugin-proposal-decorators@^7.13.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.14.5.tgz#59bc4dfc1d665b5a6749cf798ff42297ed1b2c1d"
+ integrity sha512-LYz5nvQcvYeRVjui1Ykn28i+3aUiXwQ/3MGoEy0InTaz1pJo/lAzmIDXX+BQny/oufgHzJ6vnEEiXQ8KZjEVFg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-dynamic-import" "^7.8.0"
+ "@babel/helper-create-class-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-decorators" "^7.14.5"
-"@babel/plugin-proposal-export-namespace-from@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4"
- integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==
+"@babel/plugin-proposal-dynamic-import@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c"
+ integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+
+"@babel/plugin-proposal-export-namespace-from@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz#dbad244310ce6ccd083072167d8cea83a52faf76"
+ integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-"@babel/plugin-proposal-json-strings@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c"
- integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==
+"@babel/plugin-proposal-json-strings@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz#38de60db362e83a3d8c944ac858ddf9f0c2239eb"
+ integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-json-strings" "^7.8.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
-"@babel/plugin-proposal-logical-assignment-operators@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751"
- integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==
+"@babel/plugin-proposal-logical-assignment-operators@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz#6e6229c2a99b02ab2915f82571e0cc646a40c738"
+ integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c"
- integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6"
+ integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-"@babel/plugin-proposal-numeric-separator@^7.12.7":
- version "7.12.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz#8bf253de8139099fea193b297d23a9d406ef056b"
- integrity sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==
+"@babel/plugin-proposal-numeric-separator@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz#83631bf33d9a51df184c2102a069ac0c58c05f18"
+ integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
-"@babel/plugin-proposal-object-rest-spread@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069"
- integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==
+"@babel/plugin-proposal-object-rest-spread@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.5.tgz#e581d5ccdfa187ea6ed73f56c6a21c1580b90fbf"
+ integrity sha512-VzMyY6PWNPPT3pxc5hi9LloKNr4SSrVCg7Yr6aZpW4Ym07r7KqSU/QXYwjXLVxqwSv0t/XSXkFoKBPUkZ8vb2A==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
- "@babel/plugin-transform-parameters" "^7.12.1"
+ "@babel/compat-data" "^7.14.5"
+ "@babel/helper-compilation-targets" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-transform-parameters" "^7.14.5"
-"@babel/plugin-proposal-optional-catch-binding@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942"
- integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==
+"@babel/plugin-proposal-optional-catch-binding@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c"
+ integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-"@babel/plugin-proposal-optional-chaining@^7.12.7":
- version "7.12.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz#e02f0ea1b5dc59d401ec16fb824679f683d3303c"
- integrity sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==
+"@babel/plugin-proposal-optional-chaining@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz#fa83651e60a360e3f13797eef00b8d519695b603"
+ integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
- "@babel/plugin-syntax-optional-chaining" "^7.8.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
-"@babel/plugin-proposal-private-methods@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389"
- integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==
+"@babel/plugin-proposal-private-methods@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz#37446495996b2945f30f5be5b60d5e2aa4f5792d"
+ integrity sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-create-class-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-proposal-unicode-property-regex@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072"
- integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==
+"@babel/plugin-proposal-private-property-in-object@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz#9f65a4d0493a940b4c01f8aa9d3f1894a587f636"
+ integrity sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-annotate-as-pure" "^7.14.5"
+ "@babel/helper-create-class-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-"@babel/plugin-proposal-unicode-property-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78"
- integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==
+"@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8"
+ integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.4.4"
- regexpu-core "^4.5.4"
+ "@babel/helper-create-regexp-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4":
+"@babel/plugin-syntax-async-generators@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
@@ -493,28 +435,28 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-class-properties@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978"
- integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==
+"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
+ integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-syntax-class-properties@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz#6cb933a8872c8d359bfde69bbeaae5162fd1e8f7"
- integrity sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==
+"@babel/plugin-syntax-class-static-block@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406"
+ integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-decorators@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz#81a8b535b284476c41be6de06853a8802b98c5dd"
- integrity sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==
+"@babel/plugin-syntax-decorators@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz#eafb9c0cbe09c8afeb964ba3a7bbd63945a72f20"
+ integrity sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-dynamic-import@^7.8.0":
+"@babel/plugin-syntax-dynamic-import@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
@@ -535,203 +477,186 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3":
+"@babel/plugin-syntax-json-strings@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
+"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz#3995d7d7ffff432f6ddc742b47e730c054599897"
- integrity sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
+"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-numeric-separator@^7.10.4":
+"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-syntax-numeric-separator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f"
- integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3":
+"@babel/plugin-syntax-object-rest-spread@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3":
+"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3":
+"@babel/plugin-syntax-optional-chaining@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-top-level-await@^7.12.1", "@babel/plugin-syntax-top-level-await@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0"
- integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==
+"@babel/plugin-syntax-private-property-in-object@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad"
+ integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-typescript@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz#460ba9d77077653803c3dd2e673f76d66b4029e5"
- integrity sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==
+"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
+ integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-arrow-functions@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3"
- integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==
+"@babel/plugin-syntax-typescript@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716"
+ integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-async-to-generator@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1"
- integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==
+"@babel/plugin-transform-arrow-functions@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a"
+ integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==
dependencies:
- "@babel/helper-module-imports" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-remap-async-to-generator" "^7.12.1"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-block-scoped-functions@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9"
- integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==
+"@babel/plugin-transform-async-to-generator@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67"
+ integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-module-imports" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-remap-async-to-generator" "^7.14.5"
-"@babel/plugin-transform-block-scoping@^7.12.11", "@babel/plugin-transform-block-scoping@^7.8.3":
- version "7.12.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz#d93a567a152c22aea3b1929bb118d1d0a175cdca"
- integrity sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==
+"@babel/plugin-transform-block-scoped-functions@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz#e48641d999d4bc157a67ef336aeb54bc44fd3ad4"
+ integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-classes@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6"
- integrity sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==
+"@babel/plugin-transform-block-scoping@^7.14.5", "@babel/plugin-transform-block-scoping@^7.8.3":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz#8cc63e61e50f42e078e6f09be775a75f23ef9939"
+ integrity sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/helper-define-map" "^7.10.4"
- "@babel/helper-function-name" "^7.10.4"
- "@babel/helper-optimise-call-expression" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-replace-supers" "^7.12.1"
- "@babel/helper-split-export-declaration" "^7.10.4"
- globals "^11.1.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-computed-properties@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852"
- integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==
+"@babel/plugin-transform-classes@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz#0e98e82097b38550b03b483f9b51a78de0acb2cf"
+ integrity sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-annotate-as-pure" "^7.14.5"
+ "@babel/helper-function-name" "^7.14.5"
+ "@babel/helper-optimise-call-expression" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-replace-supers" "^7.14.5"
+ "@babel/helper-split-export-declaration" "^7.14.5"
+ globals "^11.1.0"
-"@babel/plugin-transform-destructuring@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847"
- integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==
+"@babel/plugin-transform-computed-properties@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f"
+ integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-dotall-regex@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975"
- integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==
+"@babel/plugin-transform-destructuring@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.5.tgz#d32ad19ff1a6da1e861dc62720d80d9776e3bf35"
+ integrity sha512-wU9tYisEbRMxqDezKUqC9GleLycCRoUsai9ddlsq54r8QRLaeEhc+d+9DqCG+kV9W2GgQjTZESPTpn5bAFMDww==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-dotall-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3"
- integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==
+"@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a"
+ integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.4.4"
- regexpu-core "^4.5.4"
+ "@babel/helper-create-regexp-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-duplicate-keys@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228"
- integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==
+"@babel/plugin-transform-duplicate-keys@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz#365a4844881bdf1501e3a9f0270e7f0f91177954"
+ integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-exponentiation-operator@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0"
- integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==
+"@babel/plugin-transform-exponentiation-operator@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493"
+ integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==
dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-for-of@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa"
- integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==
+"@babel/plugin-transform-for-of@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz#dae384613de8f77c196a8869cbf602a44f7fc0eb"
+ integrity sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-function-name@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667"
- integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==
+"@babel/plugin-transform-function-name@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2"
+ integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==
dependencies:
- "@babel/helper-function-name" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-function-name" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-literals@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57"
- integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==
+"@babel/plugin-transform-literals@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78"
+ integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-member-expression-literals@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad"
- integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==
+"@babel/plugin-transform-member-expression-literals@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz#b39cd5212a2bf235a617d320ec2b48bcc091b8a7"
+ integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-modules-amd@^7.10.5", "@babel/plugin-transform-modules-amd@^7.12.1", "@babel/plugin-transform-modules-amd@^7.14.5":
+"@babel/plugin-transform-modules-amd@^7.13.0", "@babel/plugin-transform-modules-amd@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz#4fd9ce7e3411cb8b83848480b7041d83004858f7"
integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==
@@ -740,160 +665,163 @@
"@babel/helper-plugin-utils" "^7.14.5"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-commonjs@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648"
- integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==
+"@babel/plugin-transform-modules-commonjs@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz#7aaee0ea98283de94da98b28f8c35701429dad97"
+ integrity sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==
dependencies:
- "@babel/helper-module-transforms" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-simple-access" "^7.12.1"
+ "@babel/helper-module-transforms" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-simple-access" "^7.14.5"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-systemjs@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086"
- integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==
+"@babel/plugin-transform-modules-systemjs@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz#c75342ef8b30dcde4295d3401aae24e65638ed29"
+ integrity sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==
dependencies:
- "@babel/helper-hoist-variables" "^7.10.4"
- "@babel/helper-module-transforms" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-validator-identifier" "^7.10.4"
+ "@babel/helper-hoist-variables" "^7.14.5"
+ "@babel/helper-module-transforms" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-validator-identifier" "^7.14.5"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-umd@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902"
- integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==
+"@babel/plugin-transform-modules-umd@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz#fb662dfee697cce274a7cda525190a79096aa6e0"
+ integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==
dependencies:
- "@babel/helper-module-transforms" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-module-transforms" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753"
- integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==
+"@babel/plugin-transform-named-capturing-groups-regex@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.5.tgz#d537e8ee083ee6f6aa4f4eef9d2081d555746e4c"
+ integrity sha512-+Xe5+6MWFo311U8SchgeX5c1+lJM+eZDBZgD+tvXu9VVQPXwwVzeManMMjYX6xw2HczngfOSZjoFYKwdeB/Jvw==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.12.1"
+ "@babel/helper-create-regexp-features-plugin" "^7.14.5"
-"@babel/plugin-transform-new-target@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0"
- integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==
+"@babel/plugin-transform-new-target@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz#31bdae8b925dc84076ebfcd2a9940143aed7dbf8"
+ integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-transform-object-assign@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.8.3.tgz#dc3b8dd50ef03837868a37b7df791f64f288538e"
- integrity sha512-i3LuN8tPDqUCRFu3dkzF2r1Nx0jp4scxtm7JxtIqI9he9Vk20YD+/zshdzR9JLsoBMlJlNR82a62vQExNEVx/Q==
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.14.5.tgz#62537d54b6d85de04f4df48bfdba2eebff17b760"
+ integrity sha512-lvhjk4UN9xJJYB1mI5KC0/o1D5EcJXdbhVe+4fSk08D6ZN+iuAIs7LJC+71h8av9Ew4+uRq9452v9R93SFmQlQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-object-super@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e"
- integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==
+"@babel/plugin-transform-object-super@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz#d0b5faeac9e98597a161a9cf78c527ed934cdc45"
+ integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-replace-supers" "^7.12.1"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-replace-supers" "^7.14.5"
-"@babel/plugin-transform-parameters@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d"
- integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==
+"@babel/plugin-transform-parameters@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz#49662e86a1f3ddccac6363a7dfb1ff0a158afeb3"
+ integrity sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-property-literals@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd"
- integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==
+"@babel/plugin-transform-property-literals@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz#0ddbaa1f83db3606f1cdf4846fa1dfb473458b34"
+ integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-regenerator@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753"
- integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==
+"@babel/plugin-transform-regenerator@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f"
+ integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==
dependencies:
regenerator-transform "^0.14.2"
-"@babel/plugin-transform-reserved-words@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8"
- integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==
+"@babel/plugin-transform-reserved-words@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz#c44589b661cfdbef8d4300dcc7469dffa92f8304"
+ integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-runtime@^7.12.0":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz#af0fded4e846c4b37078e8e5d06deac6cd848562"
- integrity sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==
+"@babel/plugin-transform-runtime@^7.13.9":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz#30491dad49c6059f8f8fa5ee8896a0089e987523"
+ integrity sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==
dependencies:
- "@babel/helper-module-imports" "^7.12.5"
- "@babel/helper-plugin-utils" "^7.10.4"
- semver "^5.5.1"
+ "@babel/helper-module-imports" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ babel-plugin-polyfill-corejs2 "^0.2.2"
+ babel-plugin-polyfill-corejs3 "^0.2.2"
+ babel-plugin-polyfill-regenerator "^0.2.2"
+ semver "^6.3.0"
-"@babel/plugin-transform-shorthand-properties@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3"
- integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==
+"@babel/plugin-transform-shorthand-properties@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58"
+ integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-spread@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e"
- integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==
+"@babel/plugin-transform-spread@^7.14.5":
+ version "7.14.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144"
+ integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5"
-"@babel/plugin-transform-sticky-regex@^7.12.7":
- version "7.12.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz#560224613ab23987453948ed21d0b0b193fa7fad"
- integrity sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==
+"@babel/plugin-transform-sticky-regex@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9"
+ integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.14.5":
+"@babel/plugin-transform-template-literals@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93"
integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-typeof-symbol@^7.12.10":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz#de01c4c8f96580bd00f183072b0d0ecdcf0dec4b"
- integrity sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==
+"@babel/plugin-transform-typeof-symbol@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz#39af2739e989a2bd291bf6b53f16981423d457d4"
+ integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-typescript@^7.12.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz#d92cc0af504d510e26a754a7dbc2e5c8cd9c7ab4"
- integrity sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==
+"@babel/plugin-transform-typescript@^7.13.0":
+ version "7.14.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.6.tgz#6e9c2d98da2507ebe0a883b100cde3c7279df36c"
+ integrity sha512-XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-typescript" "^7.12.1"
+ "@babel/helper-create-class-features-plugin" "^7.14.6"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-typescript" "^7.14.5"
-"@babel/plugin-transform-unicode-escapes@^7.12.1", "@babel/plugin-transform-unicode-escapes@^7.14.5":
+"@babel/plugin-transform-unicode-escapes@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz#9d4bd2a681e3c5d7acf4f57fa9e51175d91d0c6b"
integrity sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-unicode-regex@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb"
- integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==
+"@babel/plugin-transform-unicode-regex@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e"
+ integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.12.1"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-create-regexp-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/polyfill@^7.11.5":
version "7.12.1"
@@ -904,81 +832,88 @@
regenerator-runtime "^0.13.4"
"@babel/preset-env@^7.12.0":
- version "7.12.11"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.11.tgz#55d5f7981487365c93dbbc84507b1c7215e857f9"
- integrity sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.14.5.tgz#c0c84e763661fd0e74292c3d511cb33b0c668997"
+ integrity sha512-ci6TsS0bjrdPpWGnQ+m4f+JSSzDKlckqKIJJt9UZ/+g7Zz9k0N8lYU8IeLg/01o2h8LyNZDMLGgRLDTxpudLsA==
dependencies:
- "@babel/compat-data" "^7.12.7"
- "@babel/helper-compilation-targets" "^7.12.5"
- "@babel/helper-module-imports" "^7.12.5"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-validator-option" "^7.12.11"
- "@babel/plugin-proposal-async-generator-functions" "^7.12.1"
- "@babel/plugin-proposal-class-properties" "^7.12.1"
- "@babel/plugin-proposal-dynamic-import" "^7.12.1"
- "@babel/plugin-proposal-export-namespace-from" "^7.12.1"
- "@babel/plugin-proposal-json-strings" "^7.12.1"
- "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1"
- "@babel/plugin-proposal-numeric-separator" "^7.12.7"
- "@babel/plugin-proposal-object-rest-spread" "^7.12.1"
- "@babel/plugin-proposal-optional-catch-binding" "^7.12.1"
- "@babel/plugin-proposal-optional-chaining" "^7.12.7"
- "@babel/plugin-proposal-private-methods" "^7.12.1"
- "@babel/plugin-proposal-unicode-property-regex" "^7.12.1"
- "@babel/plugin-syntax-async-generators" "^7.8.0"
- "@babel/plugin-syntax-class-properties" "^7.12.1"
- "@babel/plugin-syntax-dynamic-import" "^7.8.0"
+ "@babel/compat-data" "^7.14.5"
+ "@babel/helper-compilation-targets" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-validator-option" "^7.14.5"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.14.5"
+ "@babel/plugin-proposal-async-generator-functions" "^7.14.5"
+ "@babel/plugin-proposal-class-properties" "^7.14.5"
+ "@babel/plugin-proposal-class-static-block" "^7.14.5"
+ "@babel/plugin-proposal-dynamic-import" "^7.14.5"
+ "@babel/plugin-proposal-export-namespace-from" "^7.14.5"
+ "@babel/plugin-proposal-json-strings" "^7.14.5"
+ "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5"
+ "@babel/plugin-proposal-numeric-separator" "^7.14.5"
+ "@babel/plugin-proposal-object-rest-spread" "^7.14.5"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.14.5"
+ "@babel/plugin-proposal-optional-chaining" "^7.14.5"
+ "@babel/plugin-proposal-private-methods" "^7.14.5"
+ "@babel/plugin-proposal-private-property-in-object" "^7.14.5"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.14.5"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+ "@babel/plugin-syntax-class-properties" "^7.12.13"
+ "@babel/plugin-syntax-class-static-block" "^7.14.5"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
- "@babel/plugin-syntax-json-strings" "^7.8.0"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
- "@babel/plugin-syntax-optional-chaining" "^7.8.0"
- "@babel/plugin-syntax-top-level-await" "^7.12.1"
- "@babel/plugin-transform-arrow-functions" "^7.12.1"
- "@babel/plugin-transform-async-to-generator" "^7.12.1"
- "@babel/plugin-transform-block-scoped-functions" "^7.12.1"
- "@babel/plugin-transform-block-scoping" "^7.12.11"
- "@babel/plugin-transform-classes" "^7.12.1"
- "@babel/plugin-transform-computed-properties" "^7.12.1"
- "@babel/plugin-transform-destructuring" "^7.12.1"
- "@babel/plugin-transform-dotall-regex" "^7.12.1"
- "@babel/plugin-transform-duplicate-keys" "^7.12.1"
- "@babel/plugin-transform-exponentiation-operator" "^7.12.1"
- "@babel/plugin-transform-for-of" "^7.12.1"
- "@babel/plugin-transform-function-name" "^7.12.1"
- "@babel/plugin-transform-literals" "^7.12.1"
- "@babel/plugin-transform-member-expression-literals" "^7.12.1"
- "@babel/plugin-transform-modules-amd" "^7.12.1"
- "@babel/plugin-transform-modules-commonjs" "^7.12.1"
- "@babel/plugin-transform-modules-systemjs" "^7.12.1"
- "@babel/plugin-transform-modules-umd" "^7.12.1"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1"
- "@babel/plugin-transform-new-target" "^7.12.1"
- "@babel/plugin-transform-object-super" "^7.12.1"
- "@babel/plugin-transform-parameters" "^7.12.1"
- "@babel/plugin-transform-property-literals" "^7.12.1"
- "@babel/plugin-transform-regenerator" "^7.12.1"
- "@babel/plugin-transform-reserved-words" "^7.12.1"
- "@babel/plugin-transform-shorthand-properties" "^7.12.1"
- "@babel/plugin-transform-spread" "^7.12.1"
- "@babel/plugin-transform-sticky-regex" "^7.12.7"
- "@babel/plugin-transform-template-literals" "^7.12.1"
- "@babel/plugin-transform-typeof-symbol" "^7.12.10"
- "@babel/plugin-transform-unicode-escapes" "^7.12.1"
- "@babel/plugin-transform-unicode-regex" "^7.12.1"
- "@babel/preset-modules" "^0.1.3"
- "@babel/types" "^7.12.11"
- core-js-compat "^3.8.0"
- semver "^5.5.0"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+ "@babel/plugin-syntax-top-level-await" "^7.14.5"
+ "@babel/plugin-transform-arrow-functions" "^7.14.5"
+ "@babel/plugin-transform-async-to-generator" "^7.14.5"
+ "@babel/plugin-transform-block-scoped-functions" "^7.14.5"
+ "@babel/plugin-transform-block-scoping" "^7.14.5"
+ "@babel/plugin-transform-classes" "^7.14.5"
+ "@babel/plugin-transform-computed-properties" "^7.14.5"
+ "@babel/plugin-transform-destructuring" "^7.14.5"
+ "@babel/plugin-transform-dotall-regex" "^7.14.5"
+ "@babel/plugin-transform-duplicate-keys" "^7.14.5"
+ "@babel/plugin-transform-exponentiation-operator" "^7.14.5"
+ "@babel/plugin-transform-for-of" "^7.14.5"
+ "@babel/plugin-transform-function-name" "^7.14.5"
+ "@babel/plugin-transform-literals" "^7.14.5"
+ "@babel/plugin-transform-member-expression-literals" "^7.14.5"
+ "@babel/plugin-transform-modules-amd" "^7.14.5"
+ "@babel/plugin-transform-modules-commonjs" "^7.14.5"
+ "@babel/plugin-transform-modules-systemjs" "^7.14.5"
+ "@babel/plugin-transform-modules-umd" "^7.14.5"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.5"
+ "@babel/plugin-transform-new-target" "^7.14.5"
+ "@babel/plugin-transform-object-super" "^7.14.5"
+ "@babel/plugin-transform-parameters" "^7.14.5"
+ "@babel/plugin-transform-property-literals" "^7.14.5"
+ "@babel/plugin-transform-regenerator" "^7.14.5"
+ "@babel/plugin-transform-reserved-words" "^7.14.5"
+ "@babel/plugin-transform-shorthand-properties" "^7.14.5"
+ "@babel/plugin-transform-spread" "^7.14.5"
+ "@babel/plugin-transform-sticky-regex" "^7.14.5"
+ "@babel/plugin-transform-template-literals" "^7.14.5"
+ "@babel/plugin-transform-typeof-symbol" "^7.14.5"
+ "@babel/plugin-transform-unicode-escapes" "^7.14.5"
+ "@babel/plugin-transform-unicode-regex" "^7.14.5"
+ "@babel/preset-modules" "^0.1.4"
+ "@babel/types" "^7.14.5"
+ babel-plugin-polyfill-corejs2 "^0.2.2"
+ babel-plugin-polyfill-corejs3 "^0.2.2"
+ babel-plugin-polyfill-regenerator "^0.2.2"
+ core-js-compat "^3.14.0"
+ semver "^6.3.0"
-"@babel/preset-modules@^0.1.3":
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72"
- integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==
+"@babel/preset-modules@^0.1.4":
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e"
+ integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
@@ -986,21 +921,21 @@
"@babel/types" "^7.4.4"
esutils "^2.0.2"
-"@babel/runtime@^7.12.0":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e"
- integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==
+"@babel/runtime@7.12.18":
+ version "7.12.18"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.18.tgz#af137bd7e7d9705a412b3caaf991fe6aaa97831b"
+ integrity sha512-BogPQ7ciE6SYAUPtlm9tWbgI9+2AgqSam6QivMgXgAT+fKbgppaj4ZX15MHeLC1PVF5sNk70huBu20XxWOs8Cg==
dependencies:
regenerator-runtime "^0.13.4"
"@babel/runtime@^7.8.4":
- version "7.9.2"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06"
- integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==
+ version "7.14.6"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.6.tgz#535203bc0892efc7dec60bdc27b2ecf6e409062d"
+ integrity sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/template@^7.10.4", "@babel/template@^7.14.5", "@babel/template@^7.3.3", "@babel/template@^7.7.4":
+"@babel/template@^7.14.5", "@babel/template@^7.3.3":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4"
integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==
@@ -1009,7 +944,7 @@
"@babel/parser" "^7.14.5"
"@babel/types" "^7.14.5"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.14.5", "@babel/traverse@^7.14.8", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.4":
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.14.8", "@babel/traverse@^7.4.5":
version "7.14.8"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.8.tgz#c0253f02677c5de1a8ff9df6b0aacbec7da1a8ce"
integrity sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg==
@@ -1024,7 +959,22 @@
debug "^4.1.0"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.12.1", "@babel/types@^7.12.11", "@babel/types@^7.13.12", "@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.2":
+"@babel/traverse@^7.13.0":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.5.tgz#c111b0f58afab4fea3d3385a406f692748c59870"
+ integrity sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==
+ dependencies:
+ "@babel/code-frame" "^7.14.5"
+ "@babel/generator" "^7.14.5"
+ "@babel/helper-function-name" "^7.14.5"
+ "@babel/helper-hoist-variables" "^7.14.5"
+ "@babel/helper-split-export-declaration" "^7.14.5"
+ "@babel/parser" "^7.14.5"
+ "@babel/types" "^7.14.5"
+ debug "^4.1.0"
+ globals "^11.1.0"
+
+"@babel/types@^7.0.0", "@babel/types@^7.13.12", "@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.2":
version "7.14.8"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.8.tgz#38109de8fcadc06415fbd9b74df0065d4d41c728"
integrity sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==
@@ -1054,37 +1004,6 @@
resolved "https://registry.yarnpkg.com/@ember/edition-utils/-/edition-utils-1.2.0.tgz#a039f542dc14c8e8299c81cd5abba95e2459cfa6"
integrity sha512-VmVq/8saCaPdesQmftPqbFtxJWrzxNGSQ+e8x8LLe3Hjm36pJ04Q8LeORGZkAeOhldoUX9seLGmSaHeXkIqoog==
-"@glimmer/env@0.1.7":
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/@glimmer/env/-/env-0.1.7.tgz#fd2d2b55a9029c6b37a6c935e8c8871ae70dfa07"
- integrity sha1-/S0rVakCnGs3psk16MiHGucN+gc=
-
-"@glimmer/interfaces@0.77.6":
- version "0.77.6"
- resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.77.6.tgz#e11715bcdc5c5133cbb52db9a53b16c49ee611e5"
- integrity sha512-VVsi6Z8BgV9Y42FSybiImb6BR00ILr5m5M0B2VbDFytuKR0scRf0xUzKQV+EgLXOwgu/L5XVQJMWElYxTh6xBw==
- dependencies:
- "@simple-dom/interface" "^1.4.0"
-
-"@glimmer/syntax@^0.77.6":
- version "0.77.6"
- resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.77.6.tgz#31142ba914ee123f9b5e5c70bd92272cb6258bca"
- integrity sha512-Nh5D/IGpY7LQ5fmNEIeU9UdwIb9xaRfEefsSbIiBcHw13mauFVz7K+ZKIn3p1Qur6xWmUIKcYgXCAsOFFiOyQg==
- dependencies:
- "@glimmer/interfaces" "0.77.6"
- "@glimmer/util" "0.77.6"
- "@handlebars/parser" "~2.0.0"
- simple-html-tokenizer "^0.5.10"
-
-"@glimmer/util@0.77.6":
- version "0.77.6"
- resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.77.6.tgz#4997f9a066aab915f50c344b2aedab8108b4658b"
- integrity sha512-IjrVvSv8fPCroyWHFaJO4q0iIy5s8Zge0PgghrI7Z4Ne5bKHifODy/6yAnA1EjE1NhHAVlZbHjI/pE17a+VjoA==
- dependencies:
- "@glimmer/env" "0.1.7"
- "@glimmer/interfaces" "0.77.6"
- "@simple-dom/interface" "^1.4.0"
-
"@glimmer/vm-babel-plugins@0.78.2":
version "0.78.2"
resolved "https://registry.yarnpkg.com/@glimmer/vm-babel-plugins/-/vm-babel-plugins-0.78.2.tgz#b530a19f54da385c7099a22cf348e9062d186838"
@@ -1092,11 +1011,6 @@
dependencies:
babel-plugin-debug-macros "^0.3.4"
-"@handlebars/parser@~2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@handlebars/parser/-/parser-2.0.0.tgz#5e8b7298f31ff8f7b260e6b7363c7e9ceed7d9c5"
- integrity sha512-EP9uEDZv/L5Qh9IWuMUGJRfwhXJ4h1dqKTT4/3+tY0eu7sPis7xh23j61SYUnNF4vqCQvvUXpDo9Bh/+q1zASA==
-
"@iarna/toml@2.2.5":
version "2.2.5"
resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c"
@@ -1288,25 +1202,25 @@
"@types/yargs" "^15.0.0"
chalk "^4.0.0"
-"@nodelib/fs.scandir@2.1.3":
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b"
- integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==
+"@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
dependencies:
- "@nodelib/fs.stat" "2.0.3"
+ "@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
-"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3"
- integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
"@nodelib/fs.walk@^1.2.3":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976"
- integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz#94c23db18ee4653e129abd26fb06f870ac9e1ee2"
+ integrity sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==
dependencies:
- "@nodelib/fs.scandir" "2.1.3"
+ "@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
"@octokit/auth-token@^2.4.4":
@@ -1330,20 +1244,20 @@
universal-user-agent "^6.0.0"
"@octokit/endpoint@^6.0.1":
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.1.tgz#16d5c0e7a83e3a644d1ddbe8cded6c3d038d31d7"
- integrity sha512-pOPHaSz57SFT/m3R5P8MUu4wLPszokn5pXcB/pzavLTQf2jbU+6iayTvzaY6/BiotuRS0qyEUkx3QglT4U958A==
+ version "6.0.12"
+ resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658"
+ integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==
dependencies:
- "@octokit/types" "^2.11.1"
- is-plain-object "^3.0.0"
- universal-user-agent "^5.0.0"
+ "@octokit/types" "^6.0.3"
+ is-plain-object "^5.0.0"
+ universal-user-agent "^6.0.0"
"@octokit/graphql@^4.5.8":
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.0.tgz#f9abca55f82183964a33439d5264674c701c3327"
- integrity sha512-CJ6n7izLFXLvPZaWzCQDjU/RP+vHiZmWdOunaCS87v+2jxMsW9FB5ktfIxybRBxZjxuJGRnxk7xJecWTVxFUYQ==
+ version "4.6.4"
+ resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.4.tgz#0c3f5bed440822182e972317122acb65d311a5ed"
+ integrity sha512-SWTdXsVheRmlotWNjKzPOb6Js6tjSqA2a8z9+glDJng0Aqjzti8MEWOtuT8ZSu6wHnci7LZNuarE87+WJBG4vg==
dependencies:
- "@octokit/request" "^5.3.0"
+ "@octokit/request" "^5.6.0"
"@octokit/types" "^6.0.3"
universal-user-agent "^6.0.0"
@@ -1358,16 +1272,16 @@
integrity sha512-oJhK/yhl9Gt430OrZOzAl2wJqR0No9445vmZ9Ey8GjUZUpwuu/vmEFP0TDhDXdpGDoxD6/EIFHJEcY8nHXpDTA==
"@octokit/plugin-paginate-rest@^2.6.2":
- version "2.9.1"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.9.1.tgz#e9bb34a89b7ed5b801f1c976feeb9b0078ecd201"
- integrity sha512-8wnuWGjwDIEobbBet2xAjZwgiMVTgIer5wBsnGXzV3lJ4yqphLU2FEMpkhSrDx7y+WkZDfZ+V+1cFMZ1mAaFag==
+ version "2.13.5"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.5.tgz#e459f9b5dccbe0a53f039a355d5b80c0a2b0dc57"
+ integrity sha512-3WSAKBLa1RaR/7GG+LQR/tAZ9fp9H9waE9aPXallidyci9oZsfgsLn5M836d3LuDC6Fcym+2idRTBpssHZePVg==
dependencies:
- "@octokit/types" "^6.8.0"
+ "@octokit/types" "^6.13.0"
"@octokit/plugin-request-log@^1.0.2":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz#70a62be213e1edc04bb8897ee48c311482f9700d"
- integrity sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ==
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85"
+ integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==
"@octokit/plugin-rest-endpoint-methods@5.3.1":
version "5.3.1"
@@ -1377,15 +1291,6 @@
"@octokit/types" "^6.16.2"
deprecation "^2.3.1"
-"@octokit/request-error@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.0.tgz#94ca7293373654400fbb2995f377f9473e00834b"
- integrity sha512-rtYicB4Absc60rUv74Rjpzek84UbVHGHJRu4fNVlZ1mCcyUPPuzFfG9Rn6sjHrd95DEsmjSt1Axlc699ZlbDkw==
- dependencies:
- "@octokit/types" "^2.0.0"
- deprecation "^2.0.0"
- once "^1.4.0"
-
"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677"
@@ -1395,20 +1300,6 @@
deprecation "^2.0.0"
once "^1.4.0"
-"@octokit/request@^5.3.0":
- version "5.4.2"
- resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.2.tgz#74f8e5bbd39dc738a1b127629791f8ad1b3193ee"
- integrity sha512-zKdnGuQ2TQ2vFk9VU8awFT4+EYf92Z/v3OlzRaSh4RIP0H6cvW1BFPXq4XYvNez+TPQjqN+0uSkCYnMFFhcFrw==
- dependencies:
- "@octokit/endpoint" "^6.0.1"
- "@octokit/request-error" "^2.0.0"
- "@octokit/types" "^2.11.1"
- deprecation "^2.0.0"
- is-plain-object "^3.0.0"
- node-fetch "^2.3.0"
- once "^1.4.0"
- universal-user-agent "^5.0.0"
-
"@octokit/request@^5.6.0":
version "5.6.0"
resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.0.tgz#6084861b6e4fa21dc40c8e2a739ec5eff597e672"
@@ -1431,14 +1322,7 @@
"@octokit/plugin-request-log" "^1.0.2"
"@octokit/plugin-rest-endpoint-methods" "5.3.1"
-"@octokit/types@^2.0.0", "@octokit/types@^2.11.1":
- version "2.13.0"
- resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.13.0.tgz#b2de9983d79a3d8a000d9bf90293ddbbe611e561"
- integrity sha512-aSHYeR01V/ZDyU6BaCGqndC8qAjUBH/OFw3Y6EmHdP2uVFsgoPtxUJLPJEfhhr8f7F2cGS9QZ0tUqnfItHxKug==
- dependencies:
- "@types/node" ">= 8"
-
-"@octokit/types@^6.0.3", "@octokit/types@^6.8.0":
+"@octokit/types@^6.0.3":
version "6.8.2"
resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.8.2.tgz#ce4872e038d6df38b2d3c21bc12329af0b10facb"
integrity sha512-RpG0NJd7OKSkWptiFhy1xCLkThs5YoDIKM21lEtDmUvSpbaIEfrxzckWLUGDFfF8RydSyngo44gDv8m2hHruUg==
@@ -1446,27 +1330,22 @@
"@octokit/openapi-types" "^4.0.0"
"@types/node" ">= 8"
-"@octokit/types@^6.16.1", "@octokit/types@^6.16.2":
+"@octokit/types@^6.13.0", "@octokit/types@^6.16.1", "@octokit/types@^6.16.2":
version "6.16.4"
resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.16.4.tgz#d24f5e1bacd2fe96d61854b5bda0e88cf8288dfe"
integrity sha512-UxhWCdSzloULfUyamfOg4dJxV9B+XjgrIZscI0VCbp4eNrjmorGEw+4qdwcpTsu6DIrm9tQsFQS2pK5QkqQ04A==
dependencies:
"@octokit/openapi-types" "^7.3.2"
-"@simple-dom/interface@^1.4.0":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@simple-dom/interface/-/interface-1.4.0.tgz#e8feea579232017f89b0138e2726facda6fbb71f"
- integrity sha512-l5qumKFWU0S+4ZzMaLXFU8tQZsicHEMEyAxI5kDFGhJsRqDwe0a7/iPA/GdxlGyDKseQQAgIz5kzU7eXTrlSpA==
-
"@sindresorhus/is@^0.14.0":
version "0.14.0"
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
"@sindresorhus/is@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.0.tgz#2ff674e9611b45b528896d820d3d7a812de2f0e4"
- integrity sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ==
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.1.tgz#d26729db850fa327b7cacc5522252194404226f5"
+ integrity sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==
"@sinonjs/commons@^1.7.0":
version "1.7.2"
@@ -1496,7 +1375,7 @@
dependencies:
defer-to-connect "^2.0.0"
-"@types/babel__core@^7.0.0":
+"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7":
version "7.1.9"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d"
integrity sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==
@@ -1507,17 +1386,6 @@
"@types/babel__template" "*"
"@types/babel__traverse" "*"
-"@types/babel__core@^7.1.7":
- version "7.1.7"
- resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.7.tgz#1dacad8840364a57c98d0dd4855c6dd3752c6b89"
- integrity sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==
- dependencies:
- "@babel/parser" "^7.1.0"
- "@babel/types" "^7.0.0"
- "@types/babel__generator" "*"
- "@types/babel__template" "*"
- "@types/babel__traverse" "*"
-
"@types/babel__generator@*":
version "7.0.2"
resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc"
@@ -1531,16 +1399,10 @@
"@babel/parser" "^7.1.0"
"@babel/types" "^7.0.0"
-"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
- version "7.0.7"
- resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f"
- dependencies:
- "@babel/types" "^7.3.0"
-
-"@types/babel__traverse@^7.0.4":
- version "7.0.15"
- resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.15.tgz#db9e4238931eb69ef8aab0ad6523d4d4caa39d03"
- integrity sha512-Pzh9O3sTK8V6I1olsXpCfj2k/ygO2q1X0vhhnDrEQyYLHZesWz+zMZMVcwXLCYf0U36EtmyYaFGPfXlTtDHe3A==
+"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6", "@types/babel__traverse@^7.11.1":
+ version "7.11.1"
+ resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639"
+ integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==
dependencies:
"@babel/types" "^7.3.0"
@@ -1554,16 +1416,6 @@
"@types/node" "*"
"@types/responselike" "*"
-"@types/color-name@^1.1.1":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
- integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
-
-"@types/events@*":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
- integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==
-
"@types/fs-extra@^5.0.5":
version "5.1.0"
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.1.0.tgz#2a325ef97901504a3828718c390d34b8426a10a1"
@@ -1572,11 +1424,10 @@
"@types/node" "*"
"@types/glob@*":
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575"
- integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183"
+ integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==
dependencies:
- "@types/events" "*"
"@types/minimatch" "*"
"@types/node" "*"
@@ -1609,6 +1460,14 @@
dependencies:
"@types/istanbul-lib-report" "*"
+"@types/jest@^26.0.23":
+ version "26.0.23"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.23.tgz#a1b7eab3c503b80451d019efb588ec63522ee4e7"
+ integrity sha512-ZHLmWMJ9jJ9PTiT58juykZpL7KjwJywFN3Rr2pTSkyQfydf/rk22yS7W8p5DaVUMQ2BQC7oYiU3FjbTM/mYrOA==
+ dependencies:
+ jest-diff "^26.0.0"
+ pretty-format "^26.0.0"
+
"@types/json-schema@^7.0.7":
version "7.0.7"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad"
@@ -1634,19 +1493,19 @@
"@types/unist" "*"
"@types/minimatch@*", "@types/minimatch@^3.0.3":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
- integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21"
+ integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==
"@types/node@*":
- version "12.7.3"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.3.tgz#27b3f40addaf2f580459fdb405222685542f907a"
- integrity sha512-3SiLAIBkDWDg6vFo0+5YJyHPWU9uwu40Qe+v+0MH8wRKYBimHvvAOyk3EzMrD/TrIlLYfXrqDqrg913PynrMJQ==
+ version "15.12.4"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.4.tgz#e1cf817d70a1e118e81922c4ff6683ce9d422e26"
+ integrity sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==
"@types/node@>= 8":
- version "13.13.5"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.5.tgz#96ec3b0afafd64a4ccea9107b75bf8489f0e5765"
- integrity sha512-3ySmiBYJPqgjiHA7oEaIo2Rzz0HrOZ7yrNO5HWyaE5q0lQ3BppDZ3N53Miz8bw2I7gh1/zir2MGVZBvpb1zq9g==
+ version "16.0.1"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.0.1.tgz#70cedfda26af7a2ca073fdcc9beb2fff4aa693f8"
+ integrity sha512-hBOx4SUlEPKwRi6PrXuTGw1z6lz0fjsibcWCM378YxsSu/6+C30L6CR49zIBKHiwNWCYIcOLjg4OHKZaFeLAug==
"@types/normalize-package-data@^2.4.0":
version "2.4.0"
@@ -1835,17 +1694,7 @@ aggregate-error@^3.0.0:
clean-stack "^2.0.0"
indent-string "^4.0.0"
-ajv@^6.10.0, ajv@^6.10.2:
- version "6.10.2"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
- integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
- dependencies:
- fast-deep-equal "^2.0.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-ajv@^6.5.5:
+ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5:
version "6.12.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd"
integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==
@@ -1855,7 +1704,7 @@ ajv@^6.5.5:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
-amd-name-resolver@^1.2.1:
+amd-name-resolver@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/amd-name-resolver/-/amd-name-resolver-1.3.1.tgz#ffe71c683c6e7191fc4ae1bb3aaed15abea135d9"
integrity sha512-26qTEWqZQ+cxSYygZ4Cf8tsjDBLceJahhtewxtKZA3SRa4PluuqYCuheemDQD+7Mf5B7sr+zhTDWAHDh02a1Dw==
@@ -1876,15 +1725,16 @@ ansi-align@^3.0.0:
string-width "^3.0.0"
ansi-escapes@^4.2.1:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.2.1.tgz#4dccdb846c3eee10f6d64dea66273eab90c37228"
- integrity sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
+ integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
dependencies:
- type-fest "^0.5.2"
+ type-fest "^0.21.3"
ansi-regex@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
+ integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
ansi-regex@^5.0.0:
version "5.0.0"
@@ -1894,15 +1744,15 @@ ansi-regex@^5.0.0:
ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
dependencies:
color-convert "^1.9.0"
ansi-styles@^4.0.0, ansi-styles@^4.1.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
- integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
dependencies:
- "@types/color-name" "^1.1.1"
color-convert "^2.0.1"
any-promise@^1.0.0:
@@ -1950,6 +1800,7 @@ arr-union@^3.1.0:
array-equal@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
+ integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=
array-union@^2.1.0:
version "2.1.0"
@@ -1972,19 +1823,19 @@ assign-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
-ast-types@0.13.2:
- version "0.13.2"
- resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.2.tgz#df39b677a911a83f3a049644fb74fdded23cea48"
- integrity sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==
+ast-types@0.13.3:
+ version "0.13.3"
+ resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7"
+ integrity sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==
astral-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
async-disk-cache@^1.2.1:
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/async-disk-cache/-/async-disk-cache-1.3.4.tgz#a5c9f72f199a9933583659f57a0e11377884f816"
- integrity sha512-qsIvGJ/XYZ5bSGf5vHt2aEQHZnyuehmk/+51rCJhpkZl4LtvOZ+STbhLbdFAJGYO+dLzUT5Bb4nLKqHBX83vhw==
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/async-disk-cache/-/async-disk-cache-1.3.5.tgz#cc6206ed79bb6982b878fc52e0505e4f52b62a02"
+ integrity sha512-VZpqfR0R7CEOJZ/0FOTgWq70lCrZyS1rkI8PXugDUkTKyyAUgZ2zQ09gLhMkEn+wN8LYeUTPxZdXtlX/kmbXKQ==
dependencies:
debug "^2.1.3"
heimdalljs "^0.2.3"
@@ -2019,6 +1870,7 @@ async@^2.4.1:
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
atob@^2.0.0:
version "2.1.2"
@@ -2032,6 +1884,11 @@ aws4@^1.8.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
+babel-import-util@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/babel-import-util/-/babel-import-util-0.2.0.tgz#b468bb679919601a3570f9e317536c54f2862e23"
+ integrity sha512-CtWYYHU/MgK88rxMrLfkD356dApswtR/kWZ/c6JifG1m10e7tBBrs/366dFzWMAoqYmG5/JSh+94tUSpIwh+ag==
+
babel-jest@^26.6.3:
version "26.6.3"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056"
@@ -2067,7 +1924,7 @@ babel-plugin-ember-data-packages-polyfill@^0.1.2:
dependencies:
"@ember-data/rfc395-data" "^0.0.4"
-babel-plugin-ember-modules-api-polyfill@^3.2.0, babel-plugin-ember-modules-api-polyfill@^3.5.0:
+babel-plugin-ember-modules-api-polyfill@^3.5.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/babel-plugin-ember-modules-api-polyfill/-/babel-plugin-ember-modules-api-polyfill-3.5.0.tgz#27b6087fac75661f779f32e60f94b14d0e9f6965"
integrity sha512-pJajN/DkQUnStw0Az8c6khVcMQHgzqWr61lLNtVeu0g61LRW0k9jyK7vaedrHDWGe/Qe8sxG5wpiyW9NsMqFzA==
@@ -2103,7 +1960,7 @@ babel-plugin-jest-hoist@^26.6.2:
"@types/babel__core" "^7.0.0"
"@types/babel__traverse" "^7.0.6"
-babel-plugin-module-resolver@^3.1.1:
+babel-plugin-module-resolver@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz#ddfa5e301e3b9aa12d852a9979f18b37881ff5a7"
integrity sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==
@@ -2114,6 +1971,30 @@ babel-plugin-module-resolver@^3.1.1:
reselect "^3.0.1"
resolve "^1.4.0"
+babel-plugin-polyfill-corejs2@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327"
+ integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==
+ dependencies:
+ "@babel/compat-data" "^7.13.11"
+ "@babel/helper-define-polyfill-provider" "^0.2.2"
+ semver "^6.1.1"
+
+babel-plugin-polyfill-corejs3@^0.2.2:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz#72add68cf08a8bf139ba6e6dfc0b1d504098e57b"
+ integrity sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.2.2"
+ core-js-compat "^3.14.0"
+
+babel-plugin-polyfill-regenerator@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077"
+ integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.2.2"
+
babel-preset-current-node-syntax@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.0.tgz#cf5feef29551253471cfa82fc8e0f5063df07a77"
@@ -2141,8 +2022,9 @@ babel-preset-jest@^26.6.2:
babel-preset-current-node-syntax "^1.0.0"
balanced-match@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
base64-js@^1.3.1:
version "1.5.1"
@@ -2173,9 +2055,9 @@ before-after-hook@^2.2.0:
integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==
"binaryextensions@1 || 2":
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.1.2.tgz#c83c3d74233ba7674e4f313cb2a2b70f54e94b7c"
- integrity sha512-xVNN69YGDghOqCCtA6FI7avYrr02mTJjOgB0/f1VPD3pJC8QEvjTKWc4epDx8AqxxA75NI0QpVM2gPJXUbE4Tg==
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22"
+ integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==
bl@^4.1.0:
version "4.1.0"
@@ -2192,9 +2074,9 @@ blank-object@^1.0.1:
integrity sha1-+ZB5P76ajI3QE/syGUIL7IHV9Lk=
boxen@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.0.0.tgz#64fe9b16066af815f51057adcc800c3730120854"
- integrity sha512-5bvsqw+hhgUi3oYGK0Vf4WpIkyemp60WBInn7+WNfoISzAqk/HX4L7WNROq38E6UR/y3YADpv6pEm4BfkeEAdA==
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.0.1.tgz#657528bdd3f59a772b8279b831f27ec2c744664b"
+ integrity sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA==
dependencies:
ansi-align "^3.0.0"
camelcase "^6.2.0"
@@ -2208,6 +2090,7 @@ boxen@^5.0.0:
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
@@ -2255,9 +2138,9 @@ broccoli-babel-transpiler@^7.8.0:
workerpool "^3.1.1"
broccoli-concat@^4.2.4:
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/broccoli-concat/-/broccoli-concat-4.2.4.tgz#78e359ddc540b999d815355163bf3cfb6bd67322"
- integrity sha512-NgdBIE57r+U/AslBohQr0mCS7PopIWL8dihMI1CzqffQkisAgqWMuddjYmizqRBQlml7crBFaBeUnPDHhf4/RQ==
+ version "4.2.5"
+ resolved "https://registry.yarnpkg.com/broccoli-concat/-/broccoli-concat-4.2.5.tgz#d578f00094048b5fc87195e82fbdbde20d838d29"
+ integrity sha512-dFB5ATPwOyV8S2I7a07HxCoutoq23oY//LhM6Mou86cWUTB174rND5aQLR7Fu8FjFFLxoTbkk7y0VPITJ1IQrw==
dependencies:
broccoli-debug "^0.6.5"
broccoli-kitchen-sink-helpers "^0.3.1"
@@ -2291,7 +2174,7 @@ broccoli-file-creator@^2.1.1:
broccoli-plugin "^1.1.0"
mkdirp "^0.5.1"
-broccoli-funnel@^2.0.1, broccoli-funnel@^2.0.2:
+broccoli-funnel@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz#0edf629569bc10bd02cc525f74b9a38e71366a75"
integrity sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==
@@ -2334,20 +2217,20 @@ broccoli-merge-trees@^4.2.0:
broccoli-plugin "^4.0.2"
merge-trees "^2.0.0"
-broccoli-node-api@^1.6.0, broccoli-node-api@^1.7.0:
+broccoli-node-api@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/broccoli-node-api/-/broccoli-node-api-1.7.0.tgz#391aa6edecd2a42c63c111b4162956b2fa288cb6"
integrity sha512-QIqLSVJWJUVOhclmkmypJJH9u9s/aWH4+FH6Q6Ju5l+Io4dtwqdPUNmDfw40o6sxhbZHhqGujDJuHTML1wG8Yw==
broccoli-node-info@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/broccoli-node-info/-/broccoli-node-info-2.1.0.tgz#ca84560e8570ff78565bea1699866ddbf58ad644"
- integrity sha512-l6qDuboJThHfRVVWQVaTs++bFdrFTP0gJXgsWenczc1PavRVUmL1Eyb2swTAXXMpDOnr2zhNOBLx4w9AxkqbPQ==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/broccoli-node-info/-/broccoli-node-info-2.2.0.tgz#feb01c13020792f429e01d7f7845dc5b3a7932b3"
+ integrity sha512-VabSGRpKIzpmC+r+tJueCE5h8k6vON7EIMMWu6d/FyPdtijwLQ7QvzShEw+m3mHoDzUaj/kiZsDYrS8X2adsBg==
-broccoli-output-wrapper@^3.2.1:
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/broccoli-output-wrapper/-/broccoli-output-wrapper-3.2.3.tgz#e5c9de7c881570eb4c0b0d194bb12d9671b25a9b"
- integrity sha512-vzbm4j59Wr5vr/O50LD43Np1jbLBWJ/vhppzL/UXWf39xac9grJtrlx9SSy+pDRNT2LGBHNIGPOhdqwp94q2Pg==
+broccoli-output-wrapper@^3.2.5:
+ version "3.2.5"
+ resolved "https://registry.yarnpkg.com/broccoli-output-wrapper/-/broccoli-output-wrapper-3.2.5.tgz#514b17801c92922a2c2f87fd145df2a25a11bc5f"
+ integrity sha512-bQAtwjSrF4Nu0CK0JOy5OZqw9t5U0zzv2555EA/cF8/a8SLDTIetk9UgrtMVw7qKLKdSpOZ2liZNeZZDaKgayw==
dependencies:
fs-extra "^8.1.0"
heimdalljs-logger "^0.1.10"
@@ -2384,39 +2267,28 @@ broccoli-plugin@^1.0.0, broccoli-plugin@^1.1.0, broccoli-plugin@^1.2.1, broccoli
symlink-or-copy "^1.1.8"
broccoli-plugin@^4.0.2:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/broccoli-plugin/-/broccoli-plugin-4.0.3.tgz#9dcfbfb6a1b27a37cc22e65c071719ce9f92bc1e"
- integrity sha512-CtAIEYq5K+4yQv8c/BHymOteuyjDAJfvy/asu4LudIWcMSS7dTn3yGI5gNBkwHG+qlRangYkHJNVAcDZMQbSVQ==
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/broccoli-plugin/-/broccoli-plugin-4.0.7.tgz#dd176a85efe915ed557d913744b181abe05047db"
+ integrity sha512-a4zUsWtA1uns1K7p9rExYVYG99rdKeGRymW0qOCNkvDPHQxVi3yVyJHhQbM3EZwdt2E0mnhr5e0c/bPpJ7p3Wg==
dependencies:
- broccoli-node-api "^1.6.0"
- broccoli-output-wrapper "^3.2.1"
- fs-merger "^3.1.0"
- promise-map-series "^0.2.1"
- quick-temp "^0.1.3"
- rimraf "^3.0.0"
- symlink-or-copy "^1.3.0"
-
-broccoli-source@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/broccoli-source/-/broccoli-source-1.1.0.tgz#54f0e82c8b73f46580cbbc4f578f0b32fca8f809"
- integrity sha1-VPDoLItz9GWAy7xPV48LMvyo+Ak=
+ broccoli-node-api "^1.7.0"
+ broccoli-output-wrapper "^3.2.5"
+ fs-merger "^3.2.1"
+ promise-map-series "^0.3.0"
+ quick-temp "^0.1.8"
+ rimraf "^3.0.2"
+ symlink-or-copy "^1.3.1"
+
+broccoli-source@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/broccoli-source/-/broccoli-source-2.1.2.tgz#e9ae834f143b607e9ec114ade66731500c38b90b"
+ integrity sha512-1lLayO4wfS0c0Sj50VfHJXNWf94FYY0WUhxj0R77thbs6uWI7USiOWFqQV5dRmhAJnoKaGN4WyLGQbgjgiYFwQ==
browser-process-hrtime@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
-browserslist@^4.15.0:
- version "4.16.0"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.0.tgz#410277627500be3cb28a1bfe037586fbedf9488b"
- integrity sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==
- dependencies:
- caniuse-lite "^1.0.30001165"
- colorette "^1.2.1"
- electron-to-chromium "^1.3.621"
- escalade "^3.1.1"
- node-releases "^1.1.67"
-
browserslist@^4.16.6:
version "4.16.6"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2"
@@ -2486,9 +2358,9 @@ cache-base@^1.0.1:
unset-value "^1.0.0"
cacheable-lookup@^5.0.3:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.3.tgz#049fdc59dffdd4fc285e8f4f82936591bd59fec3"
- integrity sha512-W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w==
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005"
+ integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==
cacheable-request@^6.0.0:
version "6.1.0"
@@ -2504,16 +2376,16 @@ cacheable-request@^6.0.0:
responselike "^1.0.2"
cacheable-request@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58"
- integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27"
+ integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==
dependencies:
clone-response "^1.0.2"
get-stream "^5.1.0"
http-cache-semantics "^4.0.0"
keyv "^4.0.0"
lowercase-keys "^2.0.0"
- normalize-url "^4.1.0"
+ normalize-url "^6.0.1"
responselike "^2.0.0"
call-bind@^1.0.0, call-bind@^1.0.2:
@@ -2527,17 +2399,13 @@ call-bind@^1.0.0, call-bind@^1.0.2:
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
camelcase@^5.0.0, camelcase@^5.3.1:
version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
-camelcase@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e"
- integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==
-
-camelcase@^6.2.0:
+camelcase@^6.0.0, camelcase@^6.2.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
@@ -2549,11 +2417,6 @@ can-symlink@^1.0.0:
dependencies:
tmp "0.0.28"
-caniuse-lite@^1.0.30001165:
- version "1.0.30001171"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001171.tgz#3291e11e02699ad0a29e69b8d407666fc843eba7"
- integrity sha512-5Alrh8TTYPG9IH4UkRqEBZoEToWRLvPbSQokvzSz0lii8/FOWKG4keO1HoYfPWs8IF/NH/dyNPg1cmJGvV3Zlg==
-
caniuse-lite@^1.0.30001219:
version "1.0.30001237"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001237.tgz#4b7783661515b8e7151fc6376cfd97f0e427b9e5"
@@ -2580,6 +2443,7 @@ chalk@4.1.1, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1:
chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
dependencies:
ansi-styles "^3.2.1"
escape-string-regexp "^1.0.5"
@@ -2616,6 +2480,7 @@ character-reference-invalid@^1.0.0:
chardet@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
+ integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
chownr@^1.1.2:
version "1.1.4"
@@ -2630,11 +2495,12 @@ chownr@^2.0.0:
ci-info@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
+ integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
ci-info@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.1.1.tgz#9a32fcefdf7bcdb6f0a7e1c0f8098ec57897b80a"
- integrity sha512-kdRWLBIJwdsYJWYJFtAFFYxybguqeF91qpZaggjG5Nf8QKdizFG2hjqvaTXbxFIcYbSaD74KpAXv6BSm17DHEQ==
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6"
+ integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==
cjs-module-lexer@^0.6.0:
version "0.6.0"
@@ -2685,9 +2551,9 @@ cli-highlight@^2.1.4:
yargs "^15.0.0"
cli-spinners@^2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.5.0.tgz#12763e47251bf951cb75c201dfa58ff1bcb2d047"
- integrity sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939"
+ integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==
cli-width@^3.0.0:
version "3.0.0"
@@ -2745,10 +2611,11 @@ collection-visit@^1.0.0:
object-visit "^1.0.0"
color-convert@^1.9.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
dependencies:
- color-name "^1.1.1"
+ color-name "1.1.3"
color-convert@^2.0.1:
version "2.0.1"
@@ -2757,32 +2624,22 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
-color-name@^1.1.1:
+color-name@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-colorette@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
- integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
-
colorette@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
-combined-stream@^1.0.6, combined-stream@~1.0.6:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828"
- dependencies:
- delayed-stream "~1.0.0"
-
-combined-stream@^1.0.8:
+combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
@@ -2801,6 +2658,7 @@ component-emitter@^1.2.1:
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
configstore@^5.0.1:
version "5.0.1"
@@ -2815,9 +2673,9 @@ configstore@^5.0.1:
xdg-basedir "^4.0.0"
convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
- integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
+ integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
dependencies:
safe-buffer "~5.1.1"
@@ -2837,18 +2695,18 @@ copy-descriptor@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
-core-js-compat@^3.8.0:
- version "3.8.1"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.8.1.tgz#8d1ddd341d660ba6194cbe0ce60f4c794c87a36e"
- integrity sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==
+core-js-compat@^3.14.0:
+ version "3.15.0"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.15.0.tgz#e14a371123db9d1c5b41206d3f420643d238b8fa"
+ integrity sha512-8X6lWsG+s7IfOKzV93a7fRYfWRZobOfjw5V5rrq43Vh/W+V6qYxl7Akalsvgab4PFT/4L/pjQbdBUEM36NXKrw==
dependencies:
- browserslist "^4.15.0"
+ browserslist "^4.16.6"
semver "7.0.0"
core-js@^2.6.5:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2"
- integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==
+ version "2.6.12"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
+ integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
@@ -2875,16 +2733,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5:
shebang-command "^1.2.0"
which "^1.2.9"
-cross-spawn@^7.0.0:
- version "7.0.2"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.2.tgz#d0d7dcfa74e89115c7619f4f721a94e1fdb716d6"
- integrity sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==
- dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
-
-cross-spawn@^7.0.3:
+cross-spawn@^7.0.0, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -2973,6 +2822,7 @@ decompress-response@^6.0.0:
deep-extend@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+ integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
deep-is@~0.1.3:
version "0.1.3"
@@ -2991,16 +2841,16 @@ defaults@^1.0.3:
clone "^1.0.2"
defer-to-connect@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.0.2.tgz#4bae758a314b034ae33902b5aac25a8dd6a8633e"
- integrity sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
+ integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
defer-to-connect@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.0.tgz#83d6b199db041593ac84d781b5222308ccf4c2c1"
- integrity sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587"
+ integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==
-define-properties@^1.1.2, define-properties@^1.1.3:
+define-properties@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
dependencies:
@@ -3028,6 +2878,7 @@ define-property@^2.0.2:
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
depd@^1.1.2:
version "1.1.2"
@@ -3079,9 +2930,9 @@ domexception@^2.0.1:
webidl-conversions "^5.0.0"
dot-prop@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb"
- integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
+ integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
dependencies:
is-obj "^2.0.0"
@@ -3101,11 +2952,6 @@ editions@^1.1.1:
resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.4.tgz#3662cb592347c3168eb8e498a0ff73271d67f50b"
integrity sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==
-electron-to-chromium@^1.3.621:
- version "1.3.633"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz#16dd5aec9de03894e8d14a1db4cda8a369b9b7fe"
- integrity sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA==
-
electron-to-chromium@^1.3.723:
version "1.3.752"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz#0728587f1b9b970ec9ffad932496429aef750d09"
@@ -3117,34 +2963,35 @@ ember-cli-babel-plugin-helpers@^1.1.1:
integrity sha512-sKvOiPNHr5F/60NLd7SFzMpYPte/nnGkq/tMIfXejfKHIhaiIkYFqX8Z9UFTKWLLn+V7NOaby6niNPZUdvKCRw==
ember-cli-babel@^7.23.0:
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-7.23.0.tgz#ec580aa2c115d0810e454dd5c2fffce238284b92"
- integrity sha512-ix58DlRDAbGITtdJoRUPcAoQwKLYr/x/kIXjU9u1ATyhmuUjqb+0FDXghOWbkNihGiNOqBBR49+LBgK9AeBcNw==
+ version "7.26.6"
+ resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-7.26.6.tgz#322fbbd3baad9dd99e3276ff05bc6faef5e54b39"
+ integrity sha512-040svtfj2RC35j/WMwdWJFusZaXmNoytLAMyBDGLMSlRvznudTxZjGlPV6UupmtTBApy58cEF8Fq4a+COWoEmQ==
dependencies:
"@babel/core" "^7.12.0"
"@babel/helper-compilation-targets" "^7.12.0"
- "@babel/plugin-proposal-class-properties" "^7.10.4"
- "@babel/plugin-proposal-decorators" "^7.10.5"
- "@babel/plugin-transform-modules-amd" "^7.10.5"
- "@babel/plugin-transform-runtime" "^7.12.0"
- "@babel/plugin-transform-typescript" "^7.12.0"
+ "@babel/plugin-proposal-class-properties" "^7.13.0"
+ "@babel/plugin-proposal-decorators" "^7.13.5"
+ "@babel/plugin-transform-modules-amd" "^7.13.0"
+ "@babel/plugin-transform-runtime" "^7.13.9"
+ "@babel/plugin-transform-typescript" "^7.13.0"
"@babel/polyfill" "^7.11.5"
"@babel/preset-env" "^7.12.0"
- "@babel/runtime" "^7.12.0"
- amd-name-resolver "^1.2.1"
- babel-plugin-debug-macros "^0.3.3"
+ "@babel/runtime" "7.12.18"
+ amd-name-resolver "^1.3.1"
+ babel-plugin-debug-macros "^0.3.4"
babel-plugin-ember-data-packages-polyfill "^0.1.2"
- babel-plugin-ember-modules-api-polyfill "^3.2.0"
- babel-plugin-module-resolver "^3.1.1"
+ babel-plugin-ember-modules-api-polyfill "^3.5.0"
+ babel-plugin-module-resolver "^3.2.0"
broccoli-babel-transpiler "^7.8.0"
broccoli-debug "^0.6.4"
- broccoli-funnel "^2.0.1"
- broccoli-source "^1.1.0"
+ broccoli-funnel "^2.0.2"
+ broccoli-source "^2.1.2"
clone "^2.1.2"
ember-cli-babel-plugin-helpers "^1.1.1"
ember-cli-version-checker "^4.1.0"
ensure-posix-path "^1.0.2"
fixturify-project "^1.10.0"
+ resolve-package-path "^3.1.0"
rimraf "^3.0.1"
semver "^5.5.0"
@@ -3176,21 +3023,21 @@ ember-cli-string-utils@^1.1.0:
integrity sha1-ObZ3/CgF9VFzc1N2/O8njqpEUqE=
ember-cli-version-checker@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-4.1.0.tgz#7fc9836bdbc87451d286ba6a9a89b23591d8bbb7"
- integrity sha512-yLf2YqotTSsjiXwx9Dt6H7AU0QcldFn5SLk/pG3Zqb0aHNeanBOPlx4/Ysa46ILGWYIh0fDH34AEVRueXTrQBQ==
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-4.1.1.tgz#27b938228306cb0dbc4f74e95c536cdd6448e499"
+ integrity sha512-bzEWsTMXUGEJfxcAGWPe6kI7oHEGD3jaxUWDYPTqzqGhNkgPwXTBgoWs9zG1RaSMaOPFnloWuxRcoHi4TrYS3Q==
dependencies:
resolve-package-path "^2.0.0"
semver "^6.3.0"
silent-error "^1.1.1"
ember-cli-version-checker@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-5.1.1.tgz#3185c526c14671609cbd22ab0d0925787fc84f3d"
- integrity sha512-YziSW1MgOuVdJSyUY2CKSC4vXrGQIHF6FgygHkJOxYGjZNQYwf5MK0sbliKatvJf7kzDSnXs+r8JLrD74W/A8A==
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-5.1.2.tgz#649c7b6404902e3b3d69c396e054cea964911ab0"
+ integrity sha512-rk7GY+FmLn/2e22HsZs0Ycrz8HQ1W3Fv+2TFOuEFW9optnDXDgkntPBIl6gact/LHsfBM5RKbM3dHsIIeLgl0Q==
dependencies:
- resolve-package-path "^2.0.0"
- semver "^7.3.2"
+ resolve-package-path "^3.1.0"
+ semver "^7.3.4"
silent-error "^1.1.1"
ember-rfc176-data@^0.3.17:
@@ -3247,6 +3094,7 @@ emittery@^0.7.1:
emoji-regex@^7.0.1:
version "7.0.3"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
+ integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
emoji-regex@^8.0.0:
version "8.0.0"
@@ -3261,8 +3109,9 @@ encoding@^0.1.12:
iconv-lite "~0.4.13"
end-of-stream@^1.1.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
dependencies:
once "^1.4.0"
@@ -3277,8 +3126,9 @@ err-code@^1.0.0:
integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=
error-ex@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
dependencies:
is-arrayish "^0.2.1"
@@ -3338,6 +3188,7 @@ escape-goat@^2.0.0:
escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
escape-string-regexp@^2.0.0:
version "2.0.0"
@@ -3390,15 +3241,7 @@ eslint-plugin-prettier@^3.4.0:
dependencies:
prettier-linter-helpers "^1.0.0"
-eslint-scope@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
- integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==
- dependencies:
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-eslint-scope@^5.1.1:
+eslint-scope@^5.0.0, eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
@@ -3432,9 +3275,9 @@ eslint-visitor-keys@^1.1.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
eslint-visitor-keys@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
- integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
+ integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
eslint@^6.8.0:
version "6.8.0"
@@ -3488,11 +3331,7 @@ espree@^6.1.2:
acorn-jsx "^5.1.0"
eslint-visitor-keys "^1.1.0"
-esprima@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
-
-esprima@^4.0.1, esprima@~4.0.0:
+esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
@@ -3503,12 +3342,6 @@ esquery@^1.0.1:
dependencies:
estraverse "^4.0.0"
-esrecurse@^4.1.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
- dependencies:
- estraverse "^4.1.0"
-
esrecurse@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
@@ -3516,9 +3349,10 @@ esrecurse@^4.3.0:
dependencies:
estraverse "^5.2.0"
-estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
+estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+ integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
estraverse@^5.2.0:
version "5.2.0"
@@ -3526,8 +3360,9 @@ estraverse@^5.2.0:
integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
esutils@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
exec-sh@^0.3.2:
version "0.3.2"
@@ -3551,6 +3386,7 @@ execa@5.1.1:
execa@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
+ integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
dependencies:
cross-spawn "^6.0.0"
get-stream "^4.0.0"
@@ -3650,10 +3486,6 @@ extsprintf@^1.2.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
-fast-deep-equal@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
-
fast-deep-equal@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
@@ -3665,9 +3497,9 @@ fast-diff@^1.1.2:
integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
fast-glob@^3.1.1:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.2.tgz#ade1a9d91148965d4bf7c51f72e1ca662d32e63d"
- integrity sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==
+ version "3.2.5"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661"
+ integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3"
@@ -3706,11 +3538,11 @@ fast-sourcemap-concat@^2.1.0:
sourcemap-validator "^1.1.0"
fastq@^1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.6.0.tgz#4ec8a38f4ac25f21492673adb7eae9cfef47d1c2"
- integrity sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858"
+ integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==
dependencies:
- reusify "^1.0.0"
+ reusify "^1.0.4"
fb-watchman@^2.0.0:
version "2.0.0"
@@ -3724,9 +3556,9 @@ figgy-pudding@^3.5.1:
integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==
figures@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-3.0.0.tgz#756275c964646163cc6f9197c7a0295dbfd04de9"
- integrity sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
+ integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
dependencies:
escape-string-regexp "^1.0.5"
@@ -3753,6 +3585,11 @@ fill-range@^7.0.1:
dependencies:
to-regex-range "^5.0.1"
+filter-obj@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b"
+ integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs=
+
find-babel-config@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.2.0.tgz#a9b7b317eb5b9860cda9d54740a8c8337a2283a2"
@@ -3891,17 +3728,16 @@ fs-extra@^8.0.1, fs-extra@^8.1.0:
jsonfile "^4.0.0"
universalify "^0.1.0"
-fs-merger@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/fs-merger/-/fs-merger-3.1.0.tgz#f30f74f6c70b2ff7333ec074f3d2f22298152f3b"
- integrity sha512-RZ9JtqugaE8Rkt7idO5NSwcxEGSDZpLmVFjtVQUm3f+bWun7JAU6fKyU6ZJUeUnKdJwGx8uaro+K4QQfOR7vpA==
+fs-merger@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/fs-merger/-/fs-merger-3.2.1.tgz#a225b11ae530426138294b8fbb19e82e3d4e0b3b"
+ integrity sha512-AN6sX12liy0JE7C2evclwoo0aCG3PFulLjrTLsJpWh/2mM+DinhpSGqYLbHBBbIW1PLRNcFhJG8Axtz8mQW3ug==
dependencies:
broccoli-node-api "^1.7.0"
broccoli-node-info "^2.1.0"
fs-extra "^8.0.1"
fs-tree-diff "^2.0.1"
- rimraf "^2.6.3"
- walk-sync "^2.0.2"
+ walk-sync "^2.2.0"
fs-minipass@^2.0.0:
version "2.1.0"
@@ -3955,6 +3791,7 @@ fs-write-stream-atomic@^1.0.8:
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
fsevents@^2.1.2:
version "2.1.3"
@@ -3964,10 +3801,12 @@ fsevents@^2.1.2:
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
functional-red-black-tree@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
gensync@^1.0.0-beta.2:
version "1.0.0-beta.2"
@@ -3995,20 +3834,21 @@ get-stdin@^6.0.0:
get-stream@^4.0.0, get-stream@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
+ integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
dependencies:
pump "^3.0.0"
get-stream@^5.0.0, get-stream@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
- integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
+ integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
dependencies:
pump "^3.0.0"
get-stream@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718"
- integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
+ integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6"
@@ -4021,9 +3861,9 @@ getpass@^0.1.1:
assert-plus "^1.0.0"
git-up@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0"
- integrity sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw==
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.2.tgz#10c3d731051b366dc19d3df454bfca3f77913a7c"
+ integrity sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ==
dependencies:
is-ssh "^1.3.0"
parse-url "^5.0.0"
@@ -4054,8 +3894,9 @@ glob@^5.0.10:
path-is-absolute "^1.0.0"
glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
- version "7.1.4"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
+ version "7.1.7"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
+ integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -4074,6 +3915,7 @@ global-dirs@^3.0.0:
globals@^11.1.0:
version "11.12.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
globals@^12.1.0:
version "12.3.0"
@@ -4128,19 +3970,10 @@ got@^9.6.0:
to-readable-stream "^1.0.0"
url-parse-lax "^3.0.0"
-graceful-fs@^4.1.2:
- version "4.1.15"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
-
-graceful-fs@^4.1.6:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02"
- integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==
-
-graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4:
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
- integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4:
+ version "4.2.6"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
+ integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
growly@^1.3.0:
version "1.3.0"
@@ -4167,13 +4000,14 @@ has-bigints@^1.0.1:
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
has-flag@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-has-symbols@^1.0.0, has-symbols@^1.0.1, has-symbols@^1.0.2:
+has-symbols@^1.0.1, has-symbols@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
@@ -4266,12 +4100,7 @@ html-escaper@^2.0.0:
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
-http-cache-semantics@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5"
- integrity sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==
-
-http-cache-semantics@^4.0.3:
+http-cache-semantics@^4.0.0, http-cache-semantics@^4.0.3:
version "4.1.0"
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
@@ -4293,9 +4122,9 @@ http-signature@~1.2.0:
sshpk "^1.7.0"
http2-wrapper@^1.0.0-beta.5.2:
- version "1.0.0-beta.5.2"
- resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz#8b923deb90144aea65cf834b016a340fc98556f3"
- integrity sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ==
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d"
+ integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==
dependencies:
quick-lru "^5.1.1"
resolve-alpn "^1.0.0"
@@ -4328,6 +4157,7 @@ humanize-ms@^1.2.1:
iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
dependencies:
safer-buffer ">= 2.1.2 < 3"
@@ -4346,8 +4176,9 @@ ignore@^4.0.6:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
ignore@^5.1.1, ignore@^5.1.4:
- version "5.1.4"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf"
+ version "5.1.8"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
+ integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
import-cwd@3.0.0:
version "3.0.0"
@@ -4356,18 +4187,10 @@ import-cwd@3.0.0:
dependencies:
import-from "^3.0.0"
-import-fresh@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118"
- integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==
- dependencies:
- parent-module "^1.0.0"
- resolve-from "^4.0.0"
-
-import-fresh@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
- integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
+import-fresh@^3.0.0, import-fresh@^3.2.1:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
+ integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
dependencies:
parent-module "^1.0.0"
resolve-from "^4.0.0"
@@ -4395,6 +4218,7 @@ import-local@^3.0.2:
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
indent-string@^4.0.0:
version "4.0.0"
@@ -4407,13 +4231,14 @@ infer-owner@^1.0.4:
integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
inflection@^1.12.0:
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416"
- integrity sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=
+ version "1.13.1"
+ resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.13.1.tgz#c5cadd80888a90cf84c2e96e340d7edc85d5f0cb"
+ integrity sha512-dldYtl2WlN0QDkIDtg8+xFwOS2Tbmp12t1cHa5/YClU6ZQjTFm7B66UcVbh9NQB+HvT5BAd2t5+yKsBkw5pcqA==
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
dependencies:
once "^1.3.0"
wrappy "1"
@@ -4429,9 +4254,9 @@ ini@2.0.0:
integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==
ini@~1.3.0:
- version "1.3.7"
- resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84"
- integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==
+ version "1.3.8"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
+ integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
inquirer@8.1.1:
version "8.1.1"
@@ -4482,9 +4307,9 @@ internal-slot@^1.0.3:
side-channel "^1.0.4"
interpret@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
- integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
+ integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
ip-regex@^2.1.0:
version "2.1.0"
@@ -4524,6 +4349,7 @@ is-alphanumerical@^1.0.0:
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
is-bigint@^1.0.1:
version "1.0.1"
@@ -4556,13 +4382,14 @@ is-ci@3.0.0:
is-ci@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
+ integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
dependencies:
ci-info "^2.0.0"
-is-core-module@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d"
- integrity sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw==
+is-core-module@^2.2.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1"
+ integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==
dependencies:
has "^1.0.3"
@@ -4627,6 +4454,7 @@ is-extglob@^2.1.1:
is-fullwidth-code-point@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+ integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
is-fullwidth-code-point@^3.0.0:
version "3.0.0"
@@ -4709,9 +4537,9 @@ is-odd@^2.0.0:
is-number "^4.0.0"
is-path-inside@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017"
- integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
+ integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
@@ -4719,13 +4547,6 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
-is-plain-object@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928"
- integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==
- dependencies:
- isobject "^4.0.0"
-
is-plain-object@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
@@ -4745,27 +4566,23 @@ is-regex@^1.1.3:
has-symbols "^1.0.2"
is-ssh@^1.3.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3"
- integrity sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg==
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.3.tgz#7f133285ccd7f2c2c7fc897b771b53d95a2b2c7e"
+ integrity sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==
dependencies:
protocols "^1.1.0"
is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+ integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
is-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
-is-string@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
- integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
-
-is-string@^1.0.6:
+is-string@^1.0.5, is-string@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f"
integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==
@@ -4826,11 +4643,6 @@ isobject@^3.0.0, isobject@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
-isobject@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0"
- integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==
-
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
@@ -4840,20 +4652,7 @@ istanbul-lib-coverage@^3.0.0:
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec"
integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==
-istanbul-lib-instrument@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz#61f13ac2c96cfefb076fe7131156cc05907874e6"
- integrity sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==
- dependencies:
- "@babel/core" "^7.7.5"
- "@babel/parser" "^7.7.5"
- "@babel/template" "^7.7.4"
- "@babel/traverse" "^7.7.4"
- "@istanbuljs/schema" "^0.1.2"
- istanbul-lib-coverage "^3.0.0"
- semver "^6.3.0"
-
-istanbul-lib-instrument@^4.0.3:
+istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d"
integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==
@@ -4950,7 +4749,7 @@ jest-config@^26.6.3:
micromatch "^4.0.2"
pretty-format "^26.6.2"
-jest-diff@^26.6.2:
+jest-diff@^26.0.0, jest-diff@^26.6.2:
version "26.6.2"
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394"
integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==
@@ -5279,6 +5078,7 @@ jquery@^3.5.1:
js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
js-yaml@^3.13.1:
version "3.13.1"
@@ -5327,6 +5127,7 @@ jsdom@^16.4.0:
jsesc@^2.5.1:
version "2.5.2"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
+ integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
jsesc@~0.3.x:
version "0.3.0"
@@ -5349,9 +5150,9 @@ json-buffer@3.0.1:
integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
json-parse-even-better-errors@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.0.tgz#371873c5ffa44304a6ba12419bcfa95f404ae081"
- integrity sha512-o3aP+RsWDJZayj1SbHNQAI8x0v3T3SKiGoZlNYfbUP1S3omJQ6i9CnqADqkSPaOAxwua4/1YWx5CM7oiChJt2Q==
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
+ integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
json-schema-traverse@^0.4.1:
version "0.4.1"
@@ -5382,9 +5183,9 @@ json5@^0.5.1:
integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
json5@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.2.tgz#43ef1f0af9835dd624751a6b7fa48874fb2d608e"
- integrity sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
+ integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
dependencies:
minimist "^1.2.5"
@@ -5417,9 +5218,9 @@ keyv@^3.0.0:
json-buffer "3.0.0"
keyv@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.1.tgz#9fe703cb4a94d6d11729d320af033307efd02ee6"
- integrity sha512-xz6Jv6oNkbhrFCvCP7HQa8AaII8y8LRpoSm661NOKLr4uHuBwhX4epXrPQgF3+xdJnN4Esm5X0xwY4bOlALOtw==
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254"
+ integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==
dependencies:
json-buffer "3.0.1"
@@ -5526,6 +5327,11 @@ lodash._reinterpolate@^3.0.0:
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
+lodash.debounce@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+ integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
+
lodash.foreach@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
@@ -5565,7 +5371,7 @@ lodash.uniq@^4.2.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-lodash@4.17.21, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21:
+lodash@4.17.21, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -5603,9 +5409,9 @@ lru-cache@^6.0.0:
yallist "^4.0.0"
macos-release@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f"
- integrity sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.5.0.tgz#067c2c88b5f3fb3c56a375b2ec93826220fa1ff2"
+ integrity sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==
magic-string@^0.25.7:
version "0.25.7"
@@ -5698,6 +5504,7 @@ memory-streams@^0.1.3:
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
merge-trees@^2.0.0:
version "2.0.0"
@@ -5708,9 +5515,9 @@ merge-trees@^2.0.0:
heimdalljs "^0.2.5"
merge2@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81"
- integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
micromark@~2.10.0:
version "2.10.1"
@@ -5739,12 +5546,12 @@ micromatch@^3.1.4:
to-regex "^3.0.2"
micromatch@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
- integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
+ integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
dependencies:
braces "^3.0.1"
- picomatch "^2.0.5"
+ picomatch "^2.2.3"
mime-db@1.48.0:
version "1.48.0"
@@ -5776,18 +5583,11 @@ mimic-response@^3.1.0:
"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
-minimist@0.0.8:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-
-minimist@^1.1.1, minimist@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
-
-minimist@^1.2.5:
+minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
@@ -5855,10 +5655,11 @@ mixin-deep@^1.2.0:
is-extendable "^1.0.1"
mkdirp@^0.5.0, mkdirp@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
+ integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
dependencies:
- minimist "0.0.8"
+ minimist "^1.2.5"
mkdirp@^1.0.3:
version "1.0.4"
@@ -5885,6 +5686,7 @@ move-concurrently@^1.0.1:
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
ms@2.1.2, ms@^2.0.0:
version "2.1.2"
@@ -5929,8 +5731,9 @@ natural-compare@^1.4.0:
nice-try@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
+ integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
-node-fetch@^2.3.0, node-fetch@^2.6.1:
+node-fetch@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
@@ -5955,11 +5758,6 @@ node-notifier@^8.0.0:
uuid "^8.3.0"
which "^2.0.2"
-node-releases@^1.1.67:
- version "1.1.67"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12"
- integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==
-
node-releases@^1.1.71:
version "1.1.73"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20"
@@ -5991,19 +5789,20 @@ normalize-path@^3.0.0:
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-normalize-url@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
- integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
-
normalize-url@^4.1.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee"
- integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ==
+ version "4.5.1"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
+ integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
+
+normalize-url@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.0.1.tgz#a4f27f58cf8c7b287b440b8a8201f42d0b00d256"
+ integrity sha512-VU4pzAuh7Kip71XEmO9aNREYAdMHFGTVj/i+CaTImS8x0i1d3jUZkXhqluy/PRgjPLMgsLQulYY3PJ/aSbSjpQ==
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+ integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
dependencies:
path-key "^2.0.0"
@@ -6040,17 +5839,12 @@ object-hash@^1.3.1:
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df"
integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==
-object-inspect@^1.10.3:
+object-inspect@^1.10.3, object-inspect@^1.9.0:
version "1.10.3"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369"
integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==
-object-inspect@^1.9.0:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a"
- integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==
-
-object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
+object-keys@^1.0.12, object-keys@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
@@ -6061,17 +5855,7 @@ object-visit@^1.0.0:
dependencies:
isobject "^3.0.0"
-object.assign@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
- integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
- dependencies:
- define-properties "^1.1.2"
- function-bind "^1.1.1"
- has-symbols "^1.0.0"
- object-keys "^1.0.11"
-
-object.assign@^4.1.2:
+object.assign@^4.1.0, object.assign@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
@@ -6090,17 +5874,11 @@ object.pick@^1.3.0:
once@^1.3.0, once@^1.3.1, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
-onetime@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5"
- integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==
- dependencies:
- mimic-fn "^2.1.0"
-
-onetime@^5.1.2:
+onetime@^5.1.0, onetime@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
@@ -6142,17 +5920,10 @@ os-name@4.0.0:
macos-release "^2.2.0"
windows-release "^4.0.0"
-os-name@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801"
- integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==
- dependencies:
- macos-release "^2.2.0"
- windows-release "^3.1.0"
-
os-tmpdir@~1.0.1, os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
p-cancelable@^1.0.0:
version "1.1.0"
@@ -6160,9 +5931,9 @@ p-cancelable@^1.0.0:
integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
p-cancelable@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e"
- integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf"
+ integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==
p-each-series@^2.1.0:
version "2.1.0"
@@ -6172,6 +5943,7 @@ p-each-series@^2.1.0:
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
p-limit@^1.1.0:
version "1.3.0"
@@ -6188,11 +5960,11 @@ p-limit@^2.0.0, p-limit@^2.2.0:
p-try "^2.0.0"
p-limit@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe"
- integrity sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
dependencies:
- p-try "^2.0.0"
+ yocto-queue "^0.1.0"
p-locate@^2.0.0:
version "2.0.0"
@@ -6236,6 +6008,7 @@ p-try@^1.0.0:
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+ integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
package-json@^6.3.0:
version "6.5.0"
@@ -6277,25 +6050,22 @@ parse-json@5.2.0, parse-json@^5.0.0:
lines-and-columns "^1.1.6"
parse-path@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.1.tgz#0ec769704949778cb3b8eda5e994c32073a1adff"
- integrity sha512-d7yhga0Oc+PwNXDvQ0Jv1BuWkLVPXcAoQ/WREgd6vNNoKYaW52KI+RdOFjI63wjkmps9yUE8VS4veP+AgpQ/hA==
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.3.tgz#82d81ec3e071dcc4ab49aa9f2c9c0b8966bb22bf"
+ integrity sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==
dependencies:
is-ssh "^1.3.0"
protocols "^1.4.0"
-
-parse-static-imports@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/parse-static-imports/-/parse-static-imports-1.1.0.tgz#ae2f18f18da1a993080ae406a5219455c0bbad5d"
- integrity sha512-HlxrZcISCblEV0lzXmAHheH/8qEkKgmqkdxyHTPbSqsTUV8GzqmN1L+SSti+VbNPfbBO3bYLPHDiUs2avbAdbA==
+ qs "^6.9.4"
+ query-string "^6.13.8"
parse-url@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.1.tgz#99c4084fc11be14141efa41b3d117a96fcb9527f"
- integrity sha512-flNUPP27r3vJpROi0/R3/2efgKkyXqnXwyP1KQ2U0SfFRgdizOdWfvrrvJg1LuOoxs7GQhmxJlq23IpQ/BkByg==
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.3.tgz#c158560f14cb1560917e0b7fd8b01adc1e9d3cab"
+ integrity sha512-nrLCVMJpqo12X8uUJT4GJPd5AFaTOrGx/QpJy3HNcVtq0AZSstVIsnxS5fqNPuoqMUs3MyfBoOP6Zvu2Arok5A==
dependencies:
is-ssh "^1.3.0"
- normalize-url "^3.3.0"
+ normalize-url "^6.0.1"
parse-path "^4.0.0"
protocols "^1.4.0"
@@ -6318,6 +6088,7 @@ pascalcase@^0.1.1:
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+ integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
path-exists@^4.0.0:
version "4.0.0"
@@ -6327,10 +6098,12 @@ path-exists@^4.0.0:
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
path-key@^2.0.0, path-key@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+ integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
path-key@^3.0.0, path-key@^3.1.0:
version "3.1.1"
@@ -6338,8 +6111,9 @@ path-key@^3.0.0, path-key@^3.1.0:
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
path-posix@^1.0.0:
version "1.0.0"
@@ -6367,15 +6141,10 @@ performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
-picomatch@^2.0.4, picomatch@^2.2.1:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
- integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
-
-picomatch@^2.0.5:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6"
- integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
+ integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
pirates@^4.0.1:
version "4.0.1"
@@ -6418,11 +6187,11 @@ prettier-linter-helpers@^1.0.0:
fast-diff "^1.1.2"
prettier@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5"
- integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.1.tgz#76903c3f8c4449bc9ac597acefa24dc5ad4cbea6"
+ integrity sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==
-pretty-format@^26.6.2:
+pretty-format@^26.0.0, pretty-format@^26.6.2:
version "26.6.2"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93"
integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==
@@ -6457,6 +6226,11 @@ promise-map-series@^0.2.1:
dependencies:
rsvp "^3.0.14"
+promise-map-series@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/promise-map-series/-/promise-map-series-0.3.0.tgz#41873ca3652bb7a042b387d538552da9b576f8a1"
+ integrity sha512-3npG2NGhTc8BWBolLLf8l/92OxMGaRLbqvIh9wjCHhDXNvk4zsxaTaCpiCunW09qWPrN2zeNSNwRLVBrQQtutA==
+
promise-retry@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d"
@@ -6473,9 +6247,9 @@ prompts@^2.0.1:
sisteransi "^1.0.0"
protocols@^1.1.0, protocols@^1.4.0:
- version "1.4.7"
- resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32"
- integrity sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg==
+ version "1.4.8"
+ resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8"
+ integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==
psl@^1.1.28:
version "1.8.0"
@@ -6485,6 +6259,7 @@ psl@^1.1.28:
pump@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+ integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
dependencies:
end-of-stream "^1.1.0"
once "^1.3.1"
@@ -6500,16 +6275,38 @@ pupa@^2.1.1:
dependencies:
escape-goat "^2.0.0"
+qs@^6.9.4:
+ version "6.10.1"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a"
+ integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==
+ dependencies:
+ side-channel "^1.0.4"
+
qs@~6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
+query-string@^6.13.8:
+ version "6.14.1"
+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a"
+ integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==
+ dependencies:
+ decode-uri-component "^0.2.0"
+ filter-obj "^1.1.0"
+ split-on-first "^1.0.0"
+ strict-uri-encode "^2.0.0"
+
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
quick-lru@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
-quick-temp@^0.1.3, quick-temp@^0.1.5:
+quick-temp@^0.1.3, quick-temp@^0.1.5, quick-temp@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/quick-temp/-/quick-temp-0.1.8.tgz#bab02a242ab8fb0dd758a3c9776b32f9a5d94408"
integrity sha1-urAqJCq4+w3XWKPJd2sy+aXZRAg=
@@ -6521,6 +6318,7 @@ quick-temp@^0.1.3, quick-temp@^0.1.5:
rc@^1.2.8:
version "1.2.8"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+ integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
dependencies:
deep-extend "^0.6.0"
ini "~1.3.0"
@@ -6583,11 +6381,11 @@ readable-stream@~1.0.2:
string_decoder "~0.10.x"
recast@^0.18.1:
- version "0.18.2"
- resolved "https://registry.yarnpkg.com/recast/-/recast-0.18.2.tgz#ada263677edc70c45408caf20e6ae990958fdea8"
- integrity sha512-MbuHc1lzIDIn7bpxaqIAGwwtyaokkzPqINf1Vm/LA0BSyVrTgXNVTTT7RzWC9kP+vqrUoYVpd6wHhI8x75ej8w==
+ version "0.18.10"
+ resolved "https://registry.yarnpkg.com/recast/-/recast-0.18.10.tgz#605ebbe621511eb89b6356a7e224bff66ed91478"
+ integrity sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ==
dependencies:
- ast-types "0.13.2"
+ ast-types "0.13.3"
esprima "~4.0.0"
private "^0.1.8"
source-map "~0.6.1"
@@ -6599,13 +6397,6 @@ rechoir@^0.6.2:
dependencies:
resolve "^1.1.6"
-regenerate-unicode-properties@^8.1.0:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e"
- integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==
- dependencies:
- regenerate "^1.4.0"
-
regenerate-unicode-properties@^8.2.0:
version "8.2.0"
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
@@ -6614,22 +6405,21 @@ regenerate-unicode-properties@^8.2.0:
regenerate "^1.4.0"
regenerate@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
- integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
+ integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
regenerator-runtime@^0.13.4:
- version "0.13.5"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697"
- integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==
+ version "0.13.7"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55"
+ integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==
regenerator-transform@^0.14.2:
- version "0.14.4"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7"
- integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4"
+ integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==
dependencies:
"@babel/runtime" "^7.8.4"
- private "^0.1.8"
regex-not@^1.0.0, regex-not@^1.0.2:
version "1.0.2"
@@ -6651,21 +6441,9 @@ regexpp@^2.0.1:
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
regexpp@^3.0.0, regexpp@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
- integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
-
-regexpu-core@^4.5.4:
- version "4.5.5"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.5.tgz#aaffe61c2af58269b3e516b61a73790376326411"
- integrity sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==
- dependencies:
- regenerate "^1.4.0"
- regenerate-unicode-properties "^8.1.0"
- regjsgen "^0.5.0"
- regjsparser "^0.6.0"
- unicode-match-property-ecmascript "^1.0.4"
- unicode-match-property-value-ecmascript "^1.1.0"
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
+ integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
regexpu-core@^4.7.1:
version "4.7.1"
@@ -6680,12 +6458,11 @@ regexpu-core@^4.7.1:
unicode-match-property-value-ecmascript "^1.2.0"
registry-auth-token@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.0.0.tgz#30e55961eec77379da551ea5c4cf43cbf03522be"
- integrity sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw==
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250"
+ integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==
dependencies:
rc "^1.2.8"
- safe-buffer "^5.0.1"
registry-url@^5.0.0:
version "5.1.0"
@@ -6694,27 +6471,15 @@ registry-url@^5.0.0:
dependencies:
rc "^1.2.8"
-regjsgen@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd"
- integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==
-
regjsgen@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c"
- integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==
-
-regjsparser@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c"
- integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==
- dependencies:
- jsesc "~0.5.0"
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733"
+ integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
regjsparser@^0.6.4:
- version "0.6.4"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272"
- integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==
+ version "0.6.9"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6"
+ integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==
dependencies:
jsesc "~0.5.0"
@@ -6832,9 +6597,9 @@ reselect@^3.0.1:
integrity sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=
resolve-alpn@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.0.0.tgz#745ad60b3d6aff4b4a48e01b8c0bdc70959e0e8c"
- integrity sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA==
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.1.2.tgz#30b60cfbb0c0b8dc897940fe13fe255afcdd4d28"
+ integrity sha512-8OyfzhAtA32LVUsJSke3auIyINcwdh5l3cvYKdKO0nvsYSKuiLfTM5i78PJswFPT8y6cPW+L1v6/hE95chcpDA==
resolve-cwd@^3.0.0:
version "3.0.0"
@@ -6881,12 +6646,12 @@ resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
-resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.4.0:
- version "1.18.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130"
- integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==
+resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.4.0:
+ version "1.20.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
+ integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
dependencies:
- is-core-module "^2.0.0"
+ is-core-module "^2.2.0"
path-parse "^1.0.6"
responselike@^1.0.2:
@@ -6925,25 +6690,25 @@ retry@^0.10.0:
resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4"
integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=
-reusify@^1.0.0:
+reusify@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
-rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1:
+rimraf@2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
dependencies:
glob "^7.1.3"
-rimraf@^2.2.8, rimraf@^2.3.4, rimraf@^2.4.3, rimraf@^2.5.3, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1:
+rimraf@^2.2.8, rimraf@^2.3.4, rimraf@^2.4.3, rimraf@^2.5.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.7.1:
version "2.7.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
dependencies:
glob "^7.1.3"
-rimraf@^3.0.0, rimraf@^3.0.1:
+rimraf@^3.0.0, rimraf@^3.0.1, rimraf@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
@@ -6958,6 +6723,7 @@ rsvp@^3.0.14, rsvp@^3.0.18:
rsvp@^4.7.0, rsvp@^4.8.4:
version "4.8.5"
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"
+ integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==
rsvp@~3.2.1:
version "3.2.1"
@@ -6970,9 +6736,11 @@ run-async@^2.4.0:
integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
run-parallel@^1.1.9:
- version "1.1.9"
- resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679"
- integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
run-queue@^1.0.0, run-queue@^1.0.3:
version "1.0.3"
@@ -6981,33 +6749,22 @@ run-queue@^1.0.0, run-queue@^1.0.3:
dependencies:
aproba "^1.1.1"
-rxjs@^6.6.0:
- version "6.6.0"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.0.tgz#af2901eedf02e3a83ffa7f886240ff9018bbec84"
- integrity sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==
- dependencies:
- tslib "^1.9.0"
-
-rxjs@^6.6.6:
- version "6.6.6"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.6.tgz#14d8417aa5a07c5e633995b525e1e3c0dec03b70"
- integrity sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==
+rxjs@^6.6.0, rxjs@^6.6.6:
+ version "6.6.7"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
+ integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
dependencies:
tslib "^1.9.0"
-safe-buffer@^5.0.1, safe-buffer@^5.1.2:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
- integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
+safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
-
-safe-buffer@~5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
- integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
safe-regex@^1.1.0:
version "1.1.0"
@@ -7018,6 +6775,7 @@ safe-regex@^1.1.0:
"safer-buffer@>= 2.1.2 < 3":
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sane@^4.0.3:
version "4.1.0"
@@ -7047,7 +6805,7 @@ semver-diff@^3.1.1:
dependencies:
semver "^6.3.0"
-"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.5.1:
+"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@@ -7064,7 +6822,7 @@ semver@7.3.5, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
dependencies:
lru-cache "^6.0.0"
-semver@^6.0.0, semver@^6.1.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
+semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
@@ -7093,6 +6851,7 @@ set-value@^2.0.0:
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
dependencies:
shebang-regex "^1.0.0"
@@ -7106,6 +6865,7 @@ shebang-command@^2.0.0:
shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+ integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
shebang-regex@^3.0.0:
version "3.0.0"
@@ -7135,11 +6895,7 @@ side-channel@^1.0.4:
get-intrinsic "^1.0.2"
object-inspect "^1.9.0"
-signal-exit@^3.0.0, signal-exit@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
-
-signal-exit@^3.0.3:
+signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
@@ -7151,11 +6907,6 @@ silent-error@^1.0.0, silent-error@^1.1.1:
dependencies:
debug "^2.2.0"
-simple-html-tokenizer@^0.5.10:
- version "0.5.11"
- resolved "https://registry.yarnpkg.com/simple-html-tokenizer/-/simple-html-tokenizer-0.5.11.tgz#4c5186083c164ba22a7b477b7687ac056ad6b1d9"
- integrity sha512-C2WEK/Z3HoSFbYq8tI7ni3eOo/NneSPRoPpcM7WdLjFOArFuyXEjAoCdOC3DgMfRyziZQ1hCNR4mrNdWEvD0og==
-
sisteransi@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c"
@@ -7258,6 +7009,7 @@ source-map@^0.4.2:
source-map@^0.5.0, source-map@^0.5.6:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+ integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
version "0.6.1"
@@ -7313,6 +7065,11 @@ spdx-license-ids@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87"
+split-on-first@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
+ integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
+
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
@@ -7369,6 +7126,11 @@ stealthy-require@^1.1.1:
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
+strict-uri-encode@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
+ integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
+
string-length@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1"
@@ -7380,29 +7142,21 @@ string-length@^4.0.1:
string-width@^3.0.0, string-width@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
+ integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
dependencies:
emoji-regex "^7.0.1"
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
-string-width@^4.0.0, string-width@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
- integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
+string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
+ integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
dependencies:
emoji-regex "^8.0.0"
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.0"
-string-width@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff"
- integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^5.2.0"
-
string.prototype.matchall@^4.0.5:
version "4.0.5"
resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da"
@@ -7454,6 +7208,7 @@ string_decoder@~1.1.1:
strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
+ integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
dependencies:
ansi-regex "^4.1.0"
@@ -7472,6 +7227,7 @@ strip-bom@^4.0.0:
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+ integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
strip-final-newline@^2.0.0:
version "2.0.0"
@@ -7486,17 +7242,19 @@ strip-json-comments@^3.0.1:
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+ integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
supports-color@^5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0"
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
dependencies:
has-flag "^3.0.0"
supports-color@^7.0.0, supports-color@^7.1.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
- integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
dependencies:
has-flag "^4.0.0"
@@ -7513,20 +7271,15 @@ symbol-tree@^3.2.4:
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
-symlink-or-copy@^1.0.0, symlink-or-copy@^1.0.1, symlink-or-copy@^1.1.8:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/symlink-or-copy/-/symlink-or-copy-1.2.0.tgz#5d49108e2ab824a34069b68974486c290020b393"
- integrity sha512-W31+GLiBmU/ZR02Ii0mVZICuNEN9daZ63xZMPDsYgPgNjMtg+atqLEGI7PPI936jYSQZxoLb/63xos8Adrx4Eg==
-
-symlink-or-copy@^1.2.0, symlink-or-copy@^1.3.0:
+symlink-or-copy@^1.0.0, symlink-or-copy@^1.0.1, symlink-or-copy@^1.1.8, symlink-or-copy@^1.2.0, symlink-or-copy@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/symlink-or-copy/-/symlink-or-copy-1.3.1.tgz#9506dd64d8e98fa21dcbf4018d1eab23e77f71fe"
integrity sha512-0K91MEXFpBUaywiwSSkmKjnGcasG/rVBXFLJz5DrgGabpYD6N+3yZrfD6uUIfpuTu65DZLHi7N8CizHc07BPZA==
sync-disk-cache@^1.3.3:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/sync-disk-cache/-/sync-disk-cache-1.3.3.tgz#481933461623fdc2bdf46cfc87872ba215a7e246"
- integrity sha512-Kp7DFemXDPRUbFW856CKamtX7bJuThZPa2dwnK2RfNqMew7Ah8xDc52SdooNlfN8oydDdDHlBPLsXTrtmA7HKw==
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/sync-disk-cache/-/sync-disk-cache-1.3.4.tgz#53a2c5a09d8f4bb53160bce182a456ad71574024"
+ integrity sha512-GlkGeM81GPPEKz/lH7QUTbvqLq7K/IUTuaKDSMulP9XQ42glqNJIN/RKgSOw4y8vxL1gOVvj+W7ruEO4s36eCw==
dependencies:
debug "^2.1.3"
heimdalljs "^0.2.3"
@@ -7578,9 +7331,9 @@ text-table@^0.2.0:
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
"textextensions@1 || 2":
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.5.0.tgz#e21d3831dafa37513dd80666dff541414e314293"
- integrity sha512-1IkVr355eHcomgK7fgj1Xsokturx6L5S2JRT5WcRdA6v5shk9sxWuO/w/VbpQexwkXJMQIa/j1dBi3oo7+HhcA==
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4"
+ integrity sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ==
thenify-all@^1.0.0:
version "1.6.0"
@@ -7604,6 +7357,7 @@ throat@^5.0.0:
through@^2.3.6:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
tmp@0.0.28:
version "0.0.28"
@@ -7615,6 +7369,7 @@ tmp@0.0.28:
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
dependencies:
os-tmpdir "~1.0.2"
@@ -7632,6 +7387,7 @@ tmpl@1.0.x:
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
+ integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
to-object-path@^0.3.0:
version "0.3.0"
@@ -7702,15 +7458,11 @@ tree-sync@^1.2.2:
quick-temp "^0.1.5"
walk-sync "^0.3.3"
-tslib@^1.8.1:
+tslib@^1.8.1, tslib@^1.9.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-tslib@^1.9.0:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
-
tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
@@ -7744,10 +7496,10 @@ type-fest@^0.20.2:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
-type-fest@^0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2"
- integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==
+type-fest@^0.21.3:
+ version "0.21.3"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
+ integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
type-fest@^0.6.0:
version "0.6.0"
@@ -7802,20 +7554,15 @@ unicode-match-property-ecmascript@^1.0.4:
unicode-canonical-property-names-ecmascript "^1.0.4"
unicode-property-aliases-ecmascript "^1.0.4"
-unicode-match-property-value-ecmascript@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277"
- integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==
-
unicode-match-property-value-ecmascript@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531"
integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==
unicode-property-aliases-ecmascript@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57"
- integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4"
+ integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==
union-value@^1.0.0:
version "1.0.0"
@@ -7847,13 +7594,6 @@ unique-string@^2.0.0:
dependencies:
crypto-random-string "^2.0.0"
-universal-user-agent@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-5.0.0.tgz#a3182aa758069bf0e79952570ca757de3579c1d9"
- integrity sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==
- dependencies:
- os-name "^3.1.0"
-
universal-user-agent@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
@@ -8006,7 +7746,7 @@ walk-sync@^1.0.0:
ensure-posix-path "^1.1.0"
matcher-collection "^1.1.1"
-walk-sync@^2.0.2:
+walk-sync@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/walk-sync/-/walk-sync-2.2.0.tgz#80786b0657fcc8c0e1c0b1a042a09eae2966387a"
integrity sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==
@@ -8076,8 +7816,9 @@ which-module@^2.0.0:
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
which@^1.2.9:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+ integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
dependencies:
isexe "^2.0.0"
@@ -8095,13 +7836,6 @@ widest-line@^3.1.0:
dependencies:
string-width "^4.0.0"
-windows-release@^3.1.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.2.0.tgz#8122dad5afc303d833422380680a79cdfa91785f"
- integrity sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA==
- dependencies:
- execa "^1.0.0"
-
windows-release@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-4.0.0.tgz#4725ec70217d1bf6e02c7772413b29cdde9ec377"
@@ -8152,6 +7886,7 @@ wrap-ansi@^7.0.0:
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
write-file-atomic@^3.0.0:
version "3.0.3"
@@ -8221,7 +7956,7 @@ yargs-parser@^13.1.2:
camelcase "^5.0.0"
decamelize "^1.2.0"
-yargs-parser@^18.1.1, yargs-parser@^18.1.2:
+yargs-parser@^18.1.2:
version "18.1.3"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
@@ -8245,24 +7980,7 @@ yargs@^13.0.0:
y18n "^4.0.0"
yargs-parser "^13.1.2"
-yargs@^15.0.0:
- version "15.3.1"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b"
- integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==
- dependencies:
- cliui "^6.0.0"
- decamelize "^1.2.0"
- find-up "^4.1.0"
- get-caller-file "^2.0.1"
- require-directory "^2.1.1"
- require-main-filename "^2.0.0"
- set-blocking "^2.0.0"
- string-width "^4.2.0"
- which-module "^2.0.0"
- y18n "^4.0.0"
- yargs-parser "^18.1.1"
-
-yargs@^15.4.1:
+yargs@^15.0.0, yargs@^15.4.1:
version "15.4.1"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
@@ -8278,3 +7996,8 @@ yargs@^15.4.1:
which-module "^2.0.0"
y18n "^4.0.0"
yargs-parser "^18.1.2"
+
+yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==