Index: imaps-frontend/node_modules/interpret/LICENSE
===================================================================
--- imaps-frontend/node_modules/interpret/LICENSE	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/interpret/LICENSE	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014-2018, 2022 Tyler Kellen <tyler@sleekcode.net>, Blaine Bublitz <blaine.bublitz@gmail.com>, and Eric Schoffstall <yo@contra.io>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
Index: imaps-frontend/node_modules/interpret/README.md
===================================================================
--- imaps-frontend/node_modules/interpret/README.md	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/interpret/README.md	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,244 @@
+<p align="center">
+  <a href="http://gulpjs.com">
+    <img height="257" width="114" src="https://raw.githubusercontent.com/gulpjs/artwork/master/gulp-2x.png">
+  </a>
+</p>
+
+# interpret
+
+[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][ci-image]][ci-url] [![Coveralls Status][coveralls-image]][coveralls-url]
+
+A dictionary of file extensions and associated module loaders.
+
+## What is it
+
+This is used by [Liftoff] to automatically require dependencies for configuration files, and by [rechoir] for registering module loaders.
+
+## How to use it
+
+Consumers should use the exported `extensions` or `jsVariants` object to determine which module should be loaded for a given extension. If a matching extension is found, consumers should do the following:
+
+1.  If the value is null, do nothing.
+2.  If the value is a string, try to require it.
+3.  If the value is an object, try to require the `module` property. If successful, the `register` property (a function) should be called with the module passed as the first argument. **Advanced:** An optional second argument can be provided to replace the default configuration for a hook.
+4.  If the value is an array, iterate over it, attempting step #2 or #3 until one of the attempts does not throw.
+
+## API
+
+This module provides two top-level properties: `extensions` and `jsVariants`.
+
+**Note:** This module does not depend on any of the loaders it recommends; instead, end-users are expected to install the hooks they want to use for the file types they want to use. See supported extensions and their hooks in the sections below.
+
+### `extensions`
+
+A mapping of file extensions to modules which provide a [require.extensions] loader.
+
+File extension keys are all in the format of `'.foo'` or `'.foo.bar'` and module loader values are either `null` if the loader should fallthrough to node's loader,
+or a string representing the module to be required, an object of `{ module: 'foobar', register: function }`, or an array containing those strings and/or objects.
+
+A sample of an entry containing multiple hooks would look like:
+
+```js
+{
+  '.ts': [
+    'ts-node/register',
+    'sucrase/register/ts',
+    {
+      module: '@babel/register',
+      register: function(hook) {
+        hook({
+          extensions: '.ts',
+          rootMode: 'upward-optional',
+          ignore: [ignoreNonBabelAndNodeModules],
+        });
+      },
+    },
+  ],
+}
+```
+
+**Supported extensions and their hooks**
+
+```yaml file=scripts/extensions.yaml
+.babel.js:
+  - '@babel/register'
+.babel.jsx:
+  - '@babel/register'
+.babel.ts:
+  - '@babel/register'
+.babel.tsx:
+  - '@babel/register'
+.cjs:
+  - interpret/cjs-stub
+.coffee:
+  - coffeescript/register
+.coffee.md:
+  - coffeescript/register
+.cts:
+  - ts-node/register
+.esbuild.js:
+  - esbuild-register/dist/node
+.esbuild.jsx:
+  - esbuild-register/dist/node
+.esbuild.ts:
+  - esbuild-register/dist/node
+.esbuild.tsx:
+  - esbuild-register/dist/node
+.esm.js:
+  - esm
+.js:
+  - built-in node.js loader
+.json:
+  - built-in node.js loader
+.json5:
+  - json5/lib/register
+.jsx:
+  - '@babel/register'
+  - sucrase/register/jsx
+.litcoffee:
+  - coffeescript/register
+.mdx:
+  - '@mdx-js/register'
+.mjs:
+  - interpret/mjs-stub
+.node:
+  - built-in node.js loader
+.sucrase.js:
+  - sucrase/dist/register
+.sucrase.jsx:
+  - sucrase/dist/register
+.sucrase.ts:
+  - sucrase/dist/register
+.sucrase.tsx:
+  - sucrase/dist/register
+.swc.js:
+  - '@swc/register'
+.swc.jsx:
+  - '@swc/register'
+.swc.ts:
+  - '@swc/register'
+.swc.tsx:
+  - '@swc/register'
+.toml:
+  - toml-require
+.ts:
+  - ts-node/register
+  - sucrase/register/ts
+  - '@babel/register'
+  - esbuild-register/dist/node
+  - '@swc/register'
+.tsx:
+  - ts-node/register
+  - sucrase/register/tsx
+  - '@babel/register'
+  - esbuild-register/dist/node
+  - '@swc/register'
+.yaml:
+  - yaml-hook/register
+.yml:
+  - yaml-hook/register
+```
+
+### `jsVariants`
+
+The `jsVariants` is the same mapping as above, but only include the extensions which are variants of JavaScript.
+
+**Supported extensions and their hooks**
+
+```yaml file=scripts/jsVariants.yaml
+.babel.js:
+  - '@babel/register'
+.babel.jsx:
+  - '@babel/register'
+.babel.ts:
+  - '@babel/register'
+.babel.tsx:
+  - '@babel/register'
+.cjs:
+  - interpret/cjs-stub
+.coffee:
+  - coffeescript/register
+.coffee.md:
+  - coffeescript/register
+.esbuild.js:
+  - esbuild-register/dist/node
+.esbuild.jsx:
+  - esbuild-register/dist/node
+.esbuild.ts:
+  - esbuild-register/dist/node
+.esbuild.tsx:
+  - esbuild-register/dist/node
+.esm.js:
+  - esm
+.js:
+  - built-in node.js loader
+.jsx:
+  - '@babel/register'
+  - sucrase/register/jsx
+.litcoffee:
+  - coffeescript/register
+.mdx:
+  - '@mdx-js/register'
+.mjs:
+  - interpret/mjs-stub
+.sucrase.js:
+  - sucrase/dist/register
+.sucrase.jsx:
+  - sucrase/dist/register
+.sucrase.ts:
+  - sucrase/dist/register
+.sucrase.tsx:
+  - sucrase/dist/register
+.swc.js:
+  - '@swc/register'
+.swc.jsx:
+  - '@swc/register'
+.swc.ts:
+  - '@swc/register'
+.swc.tsx:
+  - '@swc/register'
+.ts:
+  - ts-node/register
+  - sucrase/register/ts
+  - '@babel/register'
+  - esbuild-register/dist/node
+  - '@swc/register'
+.tsx:
+  - ts-node/register
+  - sucrase/register/tsx
+  - '@babel/register'
+  - esbuild-register/dist/node
+  - '@swc/register'
+```
+
+## License
+
+MIT
+
+<!-- prettier-ignore-start -->
+
+[downloads-image]: https://img.shields.io/npm/dm/interpret.svg?style=flat-square
+
+[npm-url]: https://www.npmjs.com/package/interpret
+
+[npm-image]: https://img.shields.io/npm/v/interpret.svg?style=flat-square
+
+[ci-url]: https://github.com/gulpjs/interpret/actions?query=workflow:dev
+
+[ci-image]: https://img.shields.io/github/workflow/status/gulpjs/interpret/dev?style=flat-square
+
+[coveralls-url]: https://coveralls.io/r/gulpjs/interpret
+
+[coveralls-image]: https://img.shields.io/coveralls/gulpjs/interpret/master.svg?style=flat-square
+
+<!-- prettier-ignore-end -->
+
+<!-- prettier-ignore-start -->
+
+[Liftoff]: http://github.com/gulpjs/liftoff
+
+[rechoir]: http://github.com/gulpjs/rechoir
+
+[require.extensions]: https://nodejs.org/api/modules.html#requireextensions
+
+<!-- prettier-ignore-end -->
Index: imaps-frontend/node_modules/interpret/cjs-stub.js
===================================================================
--- imaps-frontend/node_modules/interpret/cjs-stub.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/interpret/cjs-stub.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,1 @@
+require.extensions['.cjs'] = null;
Index: imaps-frontend/node_modules/interpret/index.js
===================================================================
--- imaps-frontend/node_modules/interpret/index.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/interpret/index.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,542 @@
+var path = require('path');
+
+// We only register on the final extension (like `.js`) due to https://github.com/joyent/node/blob/v0.12.0/lib/module.js#L353
+// However, we use these matchers to apply the transform only if the full extension matches
+function endsInJsx(filename) {
+  return filename.endsWith('.jsx');
+}
+function endsInTs(filename) {
+  return filename.endsWith('.ts');
+}
+function endsInTsx(filename) {
+  return filename.endsWith('.tsx');
+}
+function endsInBabelJs(filename) {
+  return filename.endsWith('.babel.js');
+}
+function endsInBabelJsx(filename) {
+  return filename.endsWith('.babel.jsx');
+}
+function endsInBabelTs(filename) {
+  return filename.endsWith('.babel.ts');
+}
+function endsInBabelTsx(filename) {
+  return filename.endsWith('.babel.tsx');
+}
+function endsInEsbuildJs(filename) {
+  return filename.endsWith('.esbuild.js');
+}
+function endsInEsbuildJsx(filename) {
+  return filename.endsWith('.esbuild.jsx');
+}
+function endsInEsbuildTs(filename) {
+  return filename.endsWith('.esbuild.ts');
+}
+function endsInEsbuildTsx(filename) {
+  return filename.endsWith('.esbuild.tsx');
+}
+function endsInSucraseJs(filename) {
+  return filename.endsWith('.sucrase.js');
+}
+function endsInSucraseJsx(filename) {
+  return filename.endsWith('.sucrase.jsx');
+}
+function endsInSucraseTs(filename) {
+  return filename.endsWith('.sucrase.ts');
+}
+function endsInSucraseTsx(filename) {
+  return filename.endsWith('.sucrase.tsx');
+}
+function endsInSwcJs(filename) {
+  return filename.endsWith('.swc.js');
+}
+function endsInSwcJsx(filename) {
+  return filename.endsWith('.swc.jsx');
+}
+function endsInSwcTs(filename) {
+  return filename.endsWith('.swc.ts');
+}
+function endsInSwcTsx(filename) {
+  return filename.endsWith('.swc.tsx');
+}
+
+var cjsStub = path.join(__dirname, 'cjs-stub');
+var mjsStub = path.join(__dirname, 'mjs-stub');
+
+function isNodeModules(file) {
+  return path.relative(process.cwd(), file).includes('node_modules');
+}
+
+var extensions = {
+  '.babel.js': {
+    module: '@babel/register',
+    register: function (hook, config) {
+      config = config || {
+        rootMode: 'upward-optional',
+        overrides: [{ only: [endsInBabelJs], presets: ['@babel/preset-env'] }],
+      };
+
+      hook(Object.assign({}, config, { extensions: '.js' }));
+    },
+  },
+  '.babel.jsx': {
+    module: '@babel/register',
+    register: function (hook, config) {
+      config = config || {
+        rootMode: 'upward-optional',
+        overrides: [
+          {
+            only: [endsInBabelJsx],
+            presets: ['@babel/preset-env', '@babel/preset-react'],
+          },
+        ],
+      };
+
+      hook(Object.assign({}, config, { extensions: '.jsx' }));
+    },
+  },
+  '.babel.ts': [
+    {
+      module: '@babel/register',
+      register: function (hook, config) {
+        config = config || {
+          rootMode: 'upward-optional',
+          overrides: [
+            {
+              only: [endsInBabelTs],
+              presets: ['@babel/preset-env', '@babel/preset-typescript'],
+            },
+          ],
+        };
+
+        hook(Object.assign({}, config, { extensions: '.ts' }));
+      },
+    },
+  ],
+  '.babel.tsx': {
+    module: '@babel/register',
+    register: function (hook, config) {
+      config = config || {
+        rootMode: 'upward-optional',
+        overrides: [
+          {
+            only: [endsInBabelTsx],
+            presets: [
+              '@babel/preset-env',
+              '@babel/preset-react',
+              [
+                '@babel/preset-typescript',
+                {
+                  isTSX: true,
+                  allExtensions: true,
+                },
+              ],
+            ],
+          },
+        ],
+      };
+
+      hook(Object.assign({}, config, { extensions: '.tsx' }));
+    },
+  },
+  '.cjs': cjsStub,
+  '.coffee': 'coffeescript/register',
+  '.coffee.md': 'coffeescript/register',
+  '.esbuild.js': {
+    module: 'esbuild-register/dist/node',
+    register: function (mod, config) {
+      config = config || {
+        target: 'node' + process.version.slice(1),
+        hookMatcher: endsInEsbuildJs,
+      };
+
+      mod.register(Object.assign({}, config, { extensions: ['.js'] }));
+    },
+  },
+  '.esbuild.jsx': {
+    module: 'esbuild-register/dist/node',
+    register: function (mod, config) {
+      config = config || {
+        target: 'node' + process.version.slice(1),
+        hookMatcher: endsInEsbuildJsx,
+      };
+
+      mod.register(Object.assign({}, config, { extensions: ['.jsx'] }));
+    },
+  },
+  '.esbuild.ts': {
+    module: 'esbuild-register/dist/node',
+    register: function (mod, config) {
+      config = config || {
+        target: 'node' + process.version.slice(1),
+        hookMatcher: endsInEsbuildTs,
+      };
+
+      mod.register(Object.assign({}, config, { extensions: ['.ts'] }));
+    },
+  },
+  '.esbuild.tsx': {
+    module: 'esbuild-register/dist/node',
+    register: function (mod, config) {
+      config = config || {
+        target: 'node' + process.version.slice(1),
+        hookMatcher: endsInEsbuildTsx,
+      };
+
+      mod.register(Object.assign({}, config, { extensions: ['.tsx'] }));
+    },
+  },
+  '.esm.js': {
+    module: 'esm',
+    register: function (hook) {
+      // register on .js extension due to https://github.com/joyent/node/blob/v0.12.0/lib/module.js#L353
+      // which only captures the final extension (.esm.js -> .js)
+      var esmLoader = hook(module);
+      require.extensions['.js'] = esmLoader('module')._extensions['.js'];
+    },
+  },
+  '.js': null,
+  '.json': null,
+  '.json5': 'json5/lib/register',
+  '.jsx': [
+    {
+      module: '@babel/register',
+      register: function (hook, config) {
+        config = config || {
+          rootMode: 'upward-optional',
+          overrides: [
+            {
+              only: [endsInJsx],
+              presets: ['@babel/preset-env', '@babel/preset-react'],
+            },
+          ],
+        };
+
+        hook(Object.assign({}, config, { extensions: '.jsx' }));
+      },
+    },
+    'sucrase/register/jsx',
+  ],
+  '.litcoffee': 'coffeescript/register',
+  // The mdx loader hooks both `.md` and `.mdx` when it is imported
+  // but we only install the hook if `.mdx` is the first file
+  '.mdx': '@mdx-js/register',
+  '.mjs': mjsStub,
+  '.node': null,
+  '.sucrase.js': {
+    module: 'sucrase/dist/register',
+    register: function (hook, config) {
+      config = config || {
+        matcher: endsInSucraseJs,
+      };
+
+      hook.registerJS(config);
+    },
+  },
+  '.sucrase.jsx': {
+    module: 'sucrase/dist/register',
+    register: function (hook, config) {
+      config = config || {
+        matcher: endsInSucraseJsx,
+      };
+
+      hook.registerJSX(config);
+    },
+  },
+  '.sucrase.ts': {
+    module: 'sucrase/dist/register',
+    register: function (hook, config) {
+      config = config || {
+        matcher: endsInSucraseTs,
+      };
+
+      hook.registerTS(config);
+    },
+  },
+  '.sucrase.tsx': {
+    module: 'sucrase/dist/register',
+    register: function (hook, config) {
+      config = config || {
+        matcher: endsInSucraseTsx,
+      };
+
+      hook.registerTSX(config);
+    },
+  },
+  '.swc.js': {
+    module: '@swc/register',
+    register: function (hook, config) {
+      config = config || {
+        only: [endsInSwcJs],
+        ignore: [isNodeModules],
+        jsc: {
+          parser: {
+            syntax: 'ecmascript',
+          },
+        },
+        module: {
+          type: 'commonjs',
+        },
+      };
+
+      hook(
+        Object.assign({}, config, {
+          extensions: '.js',
+        })
+      );
+    },
+  },
+  '.swc.jsx': {
+    module: '@swc/register',
+    register: function (hook, config) {
+      config = config || {
+        only: [endsInSwcJsx],
+        ignore: [isNodeModules],
+        jsc: {
+          parser: {
+            syntax: 'ecmascript',
+            jsx: true,
+          },
+        },
+        module: {
+          type: 'commonjs',
+        },
+      };
+
+      hook(
+        Object.assign({}, config, {
+          extensions: '.jsx',
+        })
+      );
+    },
+  },
+  '.swc.ts': {
+    module: '@swc/register',
+    register: function (hook, config) {
+      config = config || {
+        only: [endsInSwcTs],
+        ignore: [isNodeModules],
+        jsc: {
+          parser: {
+            syntax: 'typescript',
+          },
+        },
+        module: {
+          type: 'commonjs',
+        },
+      };
+
+      hook(
+        Object.assign({}, config, {
+          extensions: '.ts',
+        })
+      );
+    },
+  },
+  '.swc.tsx': {
+    module: '@swc/register',
+    register: function (hook, config) {
+      config = config || {
+        only: [endsInSwcTsx],
+        ignore: [isNodeModules],
+        jsc: {
+          parser: {
+            syntax: 'typescript',
+            tsx: true,
+          },
+        },
+        module: {
+          type: 'commonjs',
+        },
+      };
+
+      hook(
+        Object.assign({}, config, {
+          extensions: '.tsx',
+        })
+      );
+    },
+  },
+  '.toml': {
+    module: 'toml-require',
+    register: function (hook, config) {
+      hook.install(config);
+    },
+  },
+  '.ts': [
+    'ts-node/register',
+    'sucrase/register/ts',
+    {
+      module: '@babel/register',
+      register: function (hook, config) {
+        config = config || {
+          rootMode: 'upward-optional',
+          overrides: [
+            {
+              only: [endsInTs],
+              presets: ['@babel/preset-env', '@babel/preset-typescript'],
+            },
+          ],
+        };
+
+        hook(
+          Object.assign({}, config, {
+            extensions: '.ts',
+          })
+        );
+      },
+    },
+    {
+      module: 'esbuild-register/dist/node',
+      register: function (mod, config) {
+        config = config || {
+          target: 'node' + process.version.slice(1),
+          hookMatcher: endsInTs,
+        };
+
+        mod.register(
+          Object.assign({}, config, {
+            extensions: ['.ts'],
+          })
+        );
+      },
+    },
+    {
+      module: '@swc/register',
+      register: function (hook, config) {
+        config = config || {
+          only: [endsInTs],
+          ignore: [isNodeModules],
+          jsc: {
+            parser: {
+              syntax: 'typescript',
+            },
+          },
+          module: {
+            type: 'commonjs',
+          },
+        };
+
+        hook(
+          Object.assign({}, config, {
+            extensions: '.ts',
+          })
+        );
+      },
+    },
+  ],
+  '.cts': ['ts-node/register'],
+  '.tsx': [
+    'ts-node/register',
+    'sucrase/register/tsx',
+    {
+      module: '@babel/register',
+      register: function (hook, config) {
+        config = config || {
+          rootMode: 'upward-optional',
+          overrides: [
+            {
+              only: [endsInTsx],
+              presets: [
+                '@babel/preset-env',
+                '@babel/preset-react',
+                [
+                  '@babel/preset-typescript',
+                  {
+                    isTSX: true,
+                    allExtensions: true,
+                  },
+                ],
+              ],
+            },
+          ],
+        };
+
+        hook(
+          Object.assign({}, config, {
+            extensions: '.tsx',
+          })
+        );
+      },
+    },
+    {
+      module: 'esbuild-register/dist/node',
+      register: function (mod, config) {
+        config = config || {
+          target: 'node' + process.version.slice(1),
+          hookMatcher: endsInTsx,
+        };
+
+        mod.register(
+          Object.assign({}, config, {
+            extensions: ['.tsx'],
+          })
+        );
+      },
+    },
+    {
+      module: '@swc/register',
+      register: function (hook, config) {
+        config = config || {
+          only: [endsInTsx],
+          ignore: [isNodeModules],
+          jsc: {
+            parser: {
+              syntax: 'typescript',
+              tsx: true,
+            },
+          },
+          module: {
+            type: 'commonjs',
+          },
+        };
+
+        hook(
+          Object.assign({}, config, {
+            extensions: '.tsx',
+          })
+        );
+      },
+    },
+  ],
+  '.yaml': 'yaml-hook/register',
+  '.yml': 'yaml-hook/register',
+};
+
+var jsVariantExtensions = [
+  '.js',
+  '.babel.js',
+  '.babel.jsx',
+  '.babel.ts',
+  '.babel.tsx',
+  '.esbuild.js',
+  '.esbuild.jsx',
+  '.esbuild.ts',
+  '.esbuild.tsx',
+  '.cjs',
+  '.coffee',
+  '.coffee.md',
+  '.esm.js',
+  '.jsx',
+  '.litcoffee',
+  '.mdx',
+  '.mjs',
+  '.sucrase.js',
+  '.sucrase.jsx',
+  '.sucrase.ts',
+  '.sucrase.tsx',
+  '.swc.js',
+  '.swc.jsx',
+  '.swc.ts',
+  '.swc.tsx',
+  '.ts',
+  '.tsx',
+];
+
+module.exports = {
+  extensions: extensions,
+  jsVariants: jsVariantExtensions.reduce(function (result, ext) {
+    result[ext] = extensions[ext];
+    return result;
+  }, {}),
+};
Index: imaps-frontend/node_modules/interpret/mjs-stub.js
===================================================================
--- imaps-frontend/node_modules/interpret/mjs-stub.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/interpret/mjs-stub.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,1 @@
+require.extensions['.mjs'] = null;
Index: imaps-frontend/node_modules/interpret/package.json
===================================================================
--- imaps-frontend/node_modules/interpret/package.json	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/interpret/package.json	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,73 @@
+{
+  "name": "interpret",
+  "version": "3.1.1",
+  "description": "A dictionary of file extensions and associated module loaders.",
+  "author": "Gulp Team <team@gulpjs.com> (https://gulpjs.com/)",
+  "contributors": [
+    "Blaine Bublitz <blaine.bublitz@gmail.com>",
+    "Tyler Kellen <tyler@sleekcode.net> (http://goingslowly.com/)"
+  ],
+  "repository": "gulpjs/interpret",
+  "license": "MIT",
+  "engines": {
+    "node": ">=10.13.0"
+  },
+  "main": "index.js",
+  "files": [
+    "LICENSE",
+    "index.js",
+    "cjs-stub.js",
+    "mjs-stub.js"
+  ],
+  "scripts": {
+    "readme": "remark README.md --use ./scripts/plugin.mjs --output",
+    "lint": "eslint .",
+    "pretest": "npm run lint",
+    "test": "nyc mocha --async-only"
+  },
+  "devDependencies": {
+    "eslint": "^7.0.0",
+    "eslint-config-gulp": "^5.0.0",
+    "eslint-plugin-node": "^11.1.0",
+    "expect": "^27.0.0",
+    "js-yaml": "^4.1.0",
+    "mocha": "^8.0.0",
+    "nyc": "^15.0.0",
+    "parse-node-version": "^2.0.0",
+    "rechoir": "^0.8.0",
+    "remark-cli": "^10.0.1",
+    "remark-code-import": "^1.1.0",
+    "shelljs": "0.8.5"
+  },
+  "nyc": {
+    "extension": [
+      ".js"
+    ],
+    "reporter": [
+      "lcov",
+      "text-summary"
+    ]
+  },
+  "prettier": {
+    "singleQuote": true
+  },
+  "keywords": [
+    "coffee",
+    "coffee.md",
+    "coffeescript",
+    "es",
+    "es6",
+    "js",
+    "json",
+    "json5",
+    "jsx",
+    "react",
+    "litcoffee",
+    "toml",
+    "ts",
+    "typescript",
+    "xml",
+    "yaml",
+    "yml"
+  ]
+}
