diff options
| author | Joel Kronqvist <joel.h.kronqvist@gmail.com> | 2022-03-05 19:02:27 +0200 | 
|---|---|---|
| committer | Joel Kronqvist <joel.h.kronqvist@gmail.com> | 2022-03-05 19:02:27 +0200 | 
| commit | 5d309ff52cd399a6b71968a6b9a70c8ac0b98981 (patch) | |
| tree | 360f7eb50f956e2367ef38fa1fc6ac7ac5258042 /node_modules/babel-plugin-istanbul/lib | |
| parent | b500a50f1b97d93c98b36ed9a980f8188d648147 (diff) | |
| download | LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.tar.gz LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.zip  | |
Added node_modules for the updating to work properly.
Diffstat (limited to 'node_modules/babel-plugin-istanbul/lib')
| -rw-r--r-- | node_modules/babel-plugin-istanbul/lib/index.js | 170 | ||||
| -rw-r--r-- | node_modules/babel-plugin-istanbul/lib/load-nyc-config-sync.js | 20 | 
2 files changed, 190 insertions, 0 deletions
diff --git a/node_modules/babel-plugin-istanbul/lib/index.js b/node_modules/babel-plugin-istanbul/lib/index.js new file mode 100644 index 0000000..8cf7433 --- /dev/null +++ b/node_modules/babel-plugin-istanbul/lib/index.js @@ -0,0 +1,170 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { +  value: true +}); +exports.default = void 0; + +var _path = _interopRequireDefault(require("path")); + +var _fs = require("fs"); + +var _child_process = require("child_process"); + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _istanbulLibInstrument = require("istanbul-lib-instrument"); + +var _testExclude = _interopRequireDefault(require("test-exclude")); + +var _schema = _interopRequireDefault(require("@istanbuljs/schema")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function getRealpath(n) { +  try { +    return (0, _fs.realpathSync)(n) || +    /* istanbul ignore next */ +    n; +  } catch (e) { +    /* istanbul ignore next */ +    return n; +  } +} + +const memoize = new Map(); +/* istanbul ignore next */ + +const memosep = _path.default.sep === '/' ? ':' : ';'; + +function loadNycConfig(cwd, opts) { +  let memokey = cwd; +  const args = [_path.default.resolve(__dirname, 'load-nyc-config-sync.js'), cwd]; + +  if ('nycrcPath' in opts) { +    args.push(opts.nycrcPath); +    memokey += memosep + opts.nycrcPath; +  } +  /* execFileSync is expensive, avoid it if possible! */ + + +  if (memoize.has(memokey)) { +    return memoize.get(memokey); +  } + +  const result = JSON.parse((0, _child_process.execFileSync)(process.execPath, args)); +  const error = result['load-nyc-config-sync-error']; + +  if (error) { +    throw new Error(error); +  } + +  const config = { ..._schema.default.defaults.babelPluginIstanbul, +    cwd, +    ...result +  }; +  memoize.set(memokey, config); +  return config; +} + +function findConfig(opts) { +  const cwd = getRealpath(opts.cwd || process.env.NYC_CWD || +  /* istanbul ignore next */ +  process.cwd()); +  const keys = Object.keys(opts); +  const ignored = Object.keys(opts).filter(s => s === 'nycrcPath' || s === 'cwd'); + +  if (keys.length > ignored.length) { +    // explicitly configuring options in babel +    // takes precedence. +    return { ..._schema.default.defaults.babelPluginIstanbul, +      cwd, +      ...opts +    }; +  } + +  if (ignored.length === 0 && process.env.NYC_CONFIG) { +    // defaults were already applied by nyc +    return JSON.parse(process.env.NYC_CONFIG); +  } + +  return loadNycConfig(cwd, opts); +} + +function makeShouldSkip() { +  let exclude; +  return function shouldSkip(file, nycConfig) { +    if (!exclude || exclude.cwd !== nycConfig.cwd) { +      exclude = new _testExclude.default({ +        cwd: nycConfig.cwd, +        include: nycConfig.include, +        exclude: nycConfig.exclude, +        extension: nycConfig.extension, +        // Make sure this is true unless explicitly set to `false`. `undefined` is still `true`. +        excludeNodeModules: nycConfig.excludeNodeModules !== false +      }); +    } + +    return !exclude.shouldInstrument(file); +  }; +} + +var _default = (0, _helperPluginUtils.declare)(api => { +  api.assertVersion(7); +  const shouldSkip = makeShouldSkip(); +  const t = api.types; +  return { +    visitor: { +      Program: { +        enter(path) { +          this.__dv__ = null; +          this.nycConfig = findConfig(this.opts); +          const realPath = getRealpath(this.file.opts.filename); + +          if (shouldSkip(realPath, this.nycConfig)) { +            return; +          } + +          let { +            inputSourceMap +          } = this.opts; + +          if (this.opts.useInlineSourceMaps !== false) { +            if (!inputSourceMap && this.file.inputMap) { +              inputSourceMap = this.file.inputMap.sourcemap; +            } +          } + +          const visitorOptions = {}; +          Object.entries(_schema.default.defaults.instrumentVisitor).forEach(([name, defaultValue]) => { +            if (name in this.nycConfig) { +              visitorOptions[name] = this.nycConfig[name]; +            } else { +              visitorOptions[name] = _schema.default.defaults.instrumentVisitor[name]; +            } +          }); +          this.__dv__ = (0, _istanbulLibInstrument.programVisitor)(t, realPath, { ...visitorOptions, +            inputSourceMap +          }); + +          this.__dv__.enter(path); +        }, + +        exit(path) { +          if (!this.__dv__) { +            return; +          } + +          const result = this.__dv__.exit(path); + +          if (this.opts.onCover) { +            this.opts.onCover(getRealpath(this.file.opts.filename), result.fileCoverage); +          } +        } + +      } +    } +  }; +}); + +exports.default = _default;
\ No newline at end of file diff --git a/node_modules/babel-plugin-istanbul/lib/load-nyc-config-sync.js b/node_modules/babel-plugin-istanbul/lib/load-nyc-config-sync.js new file mode 100644 index 0000000..7906793 --- /dev/null +++ b/node_modules/babel-plugin-istanbul/lib/load-nyc-config-sync.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node +'use strict'; + +const { +  loadNycConfig +} = require('@istanbuljs/load-nyc-config'); + +async function main() { +  const [cwd, nycrcPath] = process.argv.slice(2); +  console.log(JSON.stringify(await loadNycConfig({ +    cwd, +    nycrcPath +  }))); +} + +main().catch(error => { +  console.log(JSON.stringify({ +    'load-nyc-config-sync-error': error.message +  })); +});
\ No newline at end of file  | 
