diff options
Diffstat (limited to 'node_modules/babel-jest')
| -rw-r--r-- | node_modules/babel-jest/LICENSE | 21 | ||||
| -rw-r--r-- | node_modules/babel-jest/README.md | 25 | ||||
| -rw-r--r-- | node_modules/babel-jest/build/index.d.ts | 10 | ||||
| -rw-r--r-- | node_modules/babel-jest/build/index.js | 386 | ||||
| -rw-r--r-- | node_modules/babel-jest/build/loadBabelConfig.d.ts | 7 | ||||
| -rw-r--r-- | node_modules/babel-jest/build/loadBabelConfig.js | 27 | ||||
| -rw-r--r-- | node_modules/babel-jest/package.json | 45 | 
7 files changed, 521 insertions, 0 deletions
diff --git a/node_modules/babel-jest/LICENSE b/node_modules/babel-jest/LICENSE new file mode 100644 index 0000000..b96dcb0 --- /dev/null +++ b/node_modules/babel-jest/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Facebook, Inc. and its affiliates. + +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. diff --git a/node_modules/babel-jest/README.md b/node_modules/babel-jest/README.md new file mode 100644 index 0000000..9505019 --- /dev/null +++ b/node_modules/babel-jest/README.md @@ -0,0 +1,25 @@ +# babel-jest + +[Babel](https://github.com/babel/babel) [jest](https://github.com/facebook/jest) plugin + +## Usage + +If you are already using `jest-cli`, add `babel-jest` and it will automatically compile JavaScript code using Babel. + +```bash +yarn add --dev babel-jest @babel/core +``` + +If you would like to write your own preprocessor, uninstall and delete babel-jest and set the [config.transform](https://jestjs.io/docs/configuration#transform-object-string-string) option to your preprocessor. + +## Setup + +_Note: this step is only required if you are using `babel-jest` with additional code preprocessors._ + +To explicitly define `babel-jest` as a transformer for your JavaScript code, map _.js_ files to the `babel-jest` module. Typescript files are also supported. + +```json +"transform": { +  "\\.[jt]sx?$": "babel-jest" +}, +``` diff --git a/node_modules/babel-jest/build/index.d.ts b/node_modules/babel-jest/build/index.d.ts new file mode 100644 index 0000000..e670d42 --- /dev/null +++ b/node_modules/babel-jest/build/index.d.ts @@ -0,0 +1,10 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +import { TransformOptions } from '@babel/core'; +import type { SyncTransformer } from '@jest/transform'; +declare const transformer: SyncTransformer<TransformOptions>; +export default transformer; diff --git a/node_modules/babel-jest/build/index.js b/node_modules/babel-jest/build/index.js new file mode 100644 index 0000000..10beb1d --- /dev/null +++ b/node_modules/babel-jest/build/index.js @@ -0,0 +1,386 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { +  value: true +}); +exports.default = void 0; + +function _crypto() { +  const data = require('crypto'); + +  _crypto = function () { +    return data; +  }; + +  return data; +} + +function path() { +  const data = _interopRequireWildcard(require('path')); + +  path = function () { +    return data; +  }; + +  return data; +} + +function _core() { +  const data = require('@babel/core'); + +  _core = function () { +    return data; +  }; + +  return data; +} + +function _chalk() { +  const data = _interopRequireDefault(require('chalk')); + +  _chalk = function () { +    return data; +  }; + +  return data; +} + +function fs() { +  const data = _interopRequireWildcard(require('graceful-fs')); + +  fs = function () { +    return data; +  }; + +  return data; +} + +function _slash() { +  const data = _interopRequireDefault(require('slash')); + +  _slash = function () { +    return data; +  }; + +  return data; +} + +var _loadBabelConfig = require('./loadBabelConfig'); + +function _interopRequireDefault(obj) { +  return obj && obj.__esModule ? obj : {default: obj}; +} + +function _getRequireWildcardCache(nodeInterop) { +  if (typeof WeakMap !== 'function') return null; +  var cacheBabelInterop = new WeakMap(); +  var cacheNodeInterop = new WeakMap(); +  return (_getRequireWildcardCache = function (nodeInterop) { +    return nodeInterop ? cacheNodeInterop : cacheBabelInterop; +  })(nodeInterop); +} + +function _interopRequireWildcard(obj, nodeInterop) { +  if (!nodeInterop && obj && obj.__esModule) { +    return obj; +  } +  if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) { +    return {default: obj}; +  } +  var cache = _getRequireWildcardCache(nodeInterop); +  if (cache && cache.has(obj)) { +    return cache.get(obj); +  } +  var newObj = {}; +  var hasPropertyDescriptor = +    Object.defineProperty && Object.getOwnPropertyDescriptor; +  for (var key in obj) { +    if (key !== 'default' && Object.prototype.hasOwnProperty.call(obj, key)) { +      var desc = hasPropertyDescriptor +        ? Object.getOwnPropertyDescriptor(obj, key) +        : null; +      if (desc && (desc.get || desc.set)) { +        Object.defineProperty(newObj, key, desc); +      } else { +        newObj[key] = obj[key]; +      } +    } +  } +  newObj.default = obj; +  if (cache) { +    cache.set(obj, newObj); +  } +  return newObj; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +const THIS_FILE = fs().readFileSync(__filename); + +const jestPresetPath = require.resolve('babel-preset-jest'); + +const babelIstanbulPlugin = require.resolve('babel-plugin-istanbul'); + +function assertLoadedBabelConfig(babelConfig, cwd, filename) { +  if (!babelConfig) { +    throw new Error( +      `babel-jest: Babel ignores ${_chalk().default.bold( +        (0, _slash().default)(path().relative(cwd, filename)) +      )} - make sure to include the file in Jest's ${_chalk().default.bold( +        'transformIgnorePatterns' +      )} as well.` +    ); +  } +} + +function addIstanbulInstrumentation(babelOptions, transformOptions) { +  if (transformOptions.instrument) { +    const copiedBabelOptions = {...babelOptions}; +    copiedBabelOptions.auxiliaryCommentBefore = ' istanbul ignore next '; // Copied from jest-runtime transform.js + +    copiedBabelOptions.plugins = (copiedBabelOptions.plugins || []).concat([ +      [ +        babelIstanbulPlugin, +        { +          // files outside `cwd` will not be instrumented +          cwd: transformOptions.config.cwd, +          exclude: [] +        } +      ] +    ]); +    return copiedBabelOptions; +  } + +  return babelOptions; +} + +function getCacheKeyFromConfig( +  sourceText, +  sourcePath, +  babelOptions, +  transformOptions +) { +  const {config, configString, instrument} = transformOptions; +  const configPath = [babelOptions.config || '', babelOptions.babelrc || '']; +  return (0, _crypto().createHash)('md5') +    .update(THIS_FILE) +    .update('\0', 'utf8') +    .update(JSON.stringify(babelOptions.options)) +    .update('\0', 'utf8') +    .update(sourceText) +    .update('\0', 'utf8') +    .update(path().relative(config.rootDir, sourcePath)) +    .update('\0', 'utf8') +    .update(configString) +    .update('\0', 'utf8') +    .update(configPath.join('')) +    .update('\0', 'utf8') +    .update(instrument ? 'instrument' : '') +    .update('\0', 'utf8') +    .update(process.env.NODE_ENV || '') +    .update('\0', 'utf8') +    .update(process.env.BABEL_ENV || '') +    .update('\0', 'utf8') +    .update(process.version) +    .digest('hex'); +} + +function loadBabelConfig(cwd, filename, transformOptions) { +  const babelConfig = (0, _loadBabelConfig.loadPartialConfig)(transformOptions); +  assertLoadedBabelConfig(babelConfig, cwd, filename); +  return babelConfig; +} + +async function loadBabelConfigAsync(cwd, filename, transformOptions) { +  const babelConfig = await (0, _loadBabelConfig.loadPartialConfigAsync)( +    transformOptions +  ); +  assertLoadedBabelConfig(babelConfig, cwd, filename); +  return babelConfig; +} + +function loadBabelOptions( +  cwd, +  filename, +  transformOptions, +  jestTransformOptions +) { +  const {options} = loadBabelConfig(cwd, filename, transformOptions); +  return addIstanbulInstrumentation(options, jestTransformOptions); +} + +async function loadBabelOptionsAsync( +  cwd, +  filename, +  transformOptions, +  jestTransformOptions +) { +  const {options} = await loadBabelConfigAsync(cwd, filename, transformOptions); +  return addIstanbulInstrumentation(options, jestTransformOptions); +} + +const createTransformer = userOptions => { +  var _inputOptions$plugins, _inputOptions$presets; + +  const inputOptions = +    userOptions !== null && userOptions !== void 0 ? userOptions : {}; +  const options = { +    ...inputOptions, +    caller: { +      name: 'babel-jest', +      supportsDynamicImport: false, +      supportsExportNamespaceFrom: false, +      supportsStaticESM: false, +      supportsTopLevelAwait: false, +      ...inputOptions.caller +    }, +    compact: false, +    plugins: +      (_inputOptions$plugins = inputOptions.plugins) !== null && +      _inputOptions$plugins !== void 0 +        ? _inputOptions$plugins +        : [], +    presets: ((_inputOptions$presets = inputOptions.presets) !== null && +    _inputOptions$presets !== void 0 +      ? _inputOptions$presets +      : [] +    ).concat(jestPresetPath), +    sourceMaps: 'both' +  }; + +  function mergeBabelTransformOptions(filename, transformOptions) { +    var _transformOptions$sup, +      _transformOptions$sup2, +      _transformOptions$sup3, +      _transformOptions$sup4; + +    const {cwd} = transformOptions.config; // `cwd` first to allow incoming options to override it + +    return { +      cwd, +      ...options, +      caller: { +        ...options.caller, +        supportsDynamicImport: +          (_transformOptions$sup = transformOptions.supportsDynamicImport) !== +            null && _transformOptions$sup !== void 0 +            ? _transformOptions$sup +            : options.caller.supportsDynamicImport, +        supportsExportNamespaceFrom: +          (_transformOptions$sup2 = +            transformOptions.supportsExportNamespaceFrom) !== null && +          _transformOptions$sup2 !== void 0 +            ? _transformOptions$sup2 +            : options.caller.supportsExportNamespaceFrom, +        supportsStaticESM: +          (_transformOptions$sup3 = transformOptions.supportsStaticESM) !== +            null && _transformOptions$sup3 !== void 0 +            ? _transformOptions$sup3 +            : options.caller.supportsStaticESM, +        supportsTopLevelAwait: +          (_transformOptions$sup4 = transformOptions.supportsTopLevelAwait) !== +            null && _transformOptions$sup4 !== void 0 +            ? _transformOptions$sup4 +            : options.caller.supportsTopLevelAwait +      }, +      filename +    }; +  } + +  return { +    canInstrument: true, + +    getCacheKey(sourceText, sourcePath, transformOptions) { +      const babelOptions = loadBabelConfig( +        transformOptions.config.cwd, +        sourcePath, +        mergeBabelTransformOptions(sourcePath, transformOptions) +      ); +      return getCacheKeyFromConfig( +        sourceText, +        sourcePath, +        babelOptions, +        transformOptions +      ); +    }, + +    async getCacheKeyAsync(sourceText, sourcePath, transformOptions) { +      const babelOptions = await loadBabelConfigAsync( +        transformOptions.config.cwd, +        sourcePath, +        mergeBabelTransformOptions(sourcePath, transformOptions) +      ); +      return getCacheKeyFromConfig( +        sourceText, +        sourcePath, +        babelOptions, +        transformOptions +      ); +    }, + +    process(sourceText, sourcePath, transformOptions) { +      const babelOptions = loadBabelOptions( +        transformOptions.config.cwd, +        sourcePath, +        mergeBabelTransformOptions(sourcePath, transformOptions), +        transformOptions +      ); +      const transformResult = (0, _core().transformSync)( +        sourceText, +        babelOptions +      ); + +      if (transformResult) { +        const {code, map} = transformResult; + +        if (typeof code === 'string') { +          return { +            code, +            map +          }; +        } +      } + +      return sourceText; +    }, + +    async processAsync(sourceText, sourcePath, transformOptions) { +      const babelOptions = await loadBabelOptionsAsync( +        transformOptions.config.cwd, +        sourcePath, +        mergeBabelTransformOptions(sourcePath, transformOptions), +        transformOptions +      ); +      const transformResult = await (0, _core().transformAsync)( +        sourceText, +        babelOptions +      ); + +      if (transformResult) { +        const {code, map} = transformResult; + +        if (typeof code === 'string') { +          return { +            code, +            map +          }; +        } +      } + +      return sourceText; +    } +  }; +}; + +const transformer = { +  ...createTransformer(), +  // Assigned here so only the exported transformer has `createTransformer`, +  // instead of all created transformers by the function +  createTransformer +}; +var _default = transformer; +exports.default = _default; diff --git a/node_modules/babel-jest/build/loadBabelConfig.d.ts b/node_modules/babel-jest/build/loadBabelConfig.d.ts new file mode 100644 index 0000000..df6150f --- /dev/null +++ b/node_modules/babel-jest/build/loadBabelConfig.d.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +export { loadPartialConfig, loadPartialConfigAsync } from '@babel/core'; diff --git a/node_modules/babel-jest/build/loadBabelConfig.js b/node_modules/babel-jest/build/loadBabelConfig.js new file mode 100644 index 0000000..6450a24 --- /dev/null +++ b/node_modules/babel-jest/build/loadBabelConfig.js @@ -0,0 +1,27 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { +  value: true +}); +Object.defineProperty(exports, 'loadPartialConfig', { +  enumerable: true, +  get: function () { +    return _core().loadPartialConfig; +  } +}); +Object.defineProperty(exports, 'loadPartialConfigAsync', { +  enumerable: true, +  get: function () { +    return _core().loadPartialConfigAsync; +  } +}); + +function _core() { +  const data = require('@babel/core'); + +  _core = function () { +    return data; +  }; + +  return data; +} diff --git a/node_modules/babel-jest/package.json b/node_modules/babel-jest/package.json new file mode 100644 index 0000000..875526c --- /dev/null +++ b/node_modules/babel-jest/package.json @@ -0,0 +1,45 @@ +{ +  "name": "babel-jest", +  "description": "Jest plugin to use babel for transformation.", +  "version": "27.5.1", +  "repository": { +    "type": "git", +    "url": "https://github.com/facebook/jest.git", +    "directory": "packages/babel-jest" +  }, +  "license": "MIT", +  "main": "./build/index.js", +  "types": "./build/index.d.ts", +  "exports": { +    ".": { +      "types": "./build/index.d.ts", +      "default": "./build/index.js" +    }, +    "./package.json": "./package.json" +  }, +  "dependencies": { +    "@jest/transform": "^27.5.1", +    "@jest/types": "^27.5.1", +    "@types/babel__core": "^7.1.14", +    "babel-plugin-istanbul": "^6.1.1", +    "babel-preset-jest": "^27.5.1", +    "chalk": "^4.0.0", +    "graceful-fs": "^4.2.9", +    "slash": "^3.0.0" +  }, +  "devDependencies": { +    "@babel/core": "^7.8.0", +    "@jest/test-utils": "^27.5.1", +    "@types/graceful-fs": "^4.1.3" +  }, +  "peerDependencies": { +    "@babel/core": "^7.8.0" +  }, +  "engines": { +    "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" +  }, +  "publishConfig": { +    "access": "public" +  }, +  "gitHead": "67c1aa20c5fec31366d733e901fee2b981cb1850" +}  | 
