123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- 'use strict';
- Object.defineProperty(exports, '__esModule', {
- value: true
- });
- exports.getSha1 = exports.worker = undefined;
- let worker = (exports.worker = (() => {
- var _ref = _asyncToGenerator(function*(data) {
- if (
- data.hasteImplModulePath &&
- data.hasteImplModulePath !== hasteImplModulePath
- ) {
- if (hasteImpl) {
- throw new Error('jest-haste-map: hasteImplModulePath changed');
- }
- hasteImplModulePath = data.hasteImplModulePath;
- // $FlowFixMe: dynamic require
- hasteImpl = require(hasteImplModulePath);
- }
- let content;
- let dependencies;
- let id;
- let module;
- let sha1;
- const computeDependencies = data.computeDependencies,
- computeSha1 = data.computeSha1,
- filePath = data.filePath;
- const getContent = function() {
- if (content === undefined) {
- content = (_gracefulFs || _load_gracefulFs()).default.readFileSync(
- filePath,
- 'utf8'
- );
- }
- return content;
- };
- if (filePath.endsWith(PACKAGE_JSON)) {
- // Process a package.json that is returned as a PACKAGE type with its name.
- try {
- const fileData = JSON.parse(getContent());
- if (fileData.name) {
- id = fileData.name;
- module = [
- filePath,
- (_constants || _load_constants()).default.PACKAGE
- ];
- }
- } catch (err) {
- throw new Error(`Cannot parse ${filePath} as JSON: ${err.message}`);
- }
- } else if (
- !(_blacklist || _load_blacklist()).default.has(
- filePath.substr(filePath.lastIndexOf('.'))
- )
- ) {
- // Process a random file that is returned as a MODULE.
- if (hasteImpl) {
- id = hasteImpl.getHasteName(filePath);
- } else {
- const doc = (_jestDocblock || _load_jestDocblock()).parse(
- (_jestDocblock || _load_jestDocblock()).extract(getContent())
- );
- id = [].concat(doc.providesModule || doc.provides)[0];
- }
- if (computeDependencies) {
- dependencies = (0,
- (_extract_requires || _load_extract_requires()).default)(getContent());
- }
- if (id) {
- module = [filePath, (_constants || _load_constants()).default.MODULE];
- }
- }
- // If a SHA-1 is requested on update, compute it.
- if (computeSha1) {
- sha1 = sha1hex(
- getContent() ||
- (_gracefulFs || _load_gracefulFs()).default.readFileSync(filePath)
- );
- }
- return {dependencies: dependencies, id: id, module: module, sha1: sha1};
- });
- return function worker(_x) {
- return _ref.apply(this, arguments);
- };
- })());
- let getSha1 = (exports.getSha1 = (() => {
- var _ref2 = _asyncToGenerator(function*(data) {
- const sha1 = data.computeSha1
- ? sha1hex(
- (_gracefulFs || _load_gracefulFs()).default.readFileSync(
- data.filePath
- )
- )
- : null;
- return {
- dependencies: undefined,
- id: undefined,
- module: undefined,
- sha1: sha1
- };
- });
- return function getSha1(_x2) {
- return _ref2.apply(this, arguments);
- };
- })());
- var _crypto;
- function _load_crypto() {
- return (_crypto = _interopRequireDefault(require('crypto')));
- }
- var _path;
- function _load_path() {
- return (_path = _interopRequireDefault(require('path')));
- }
- var _jestDocblock;
- function _load_jestDocblock() {
- return (_jestDocblock = _interopRequireWildcard(require('jest-docblock')));
- }
- var _gracefulFs;
- function _load_gracefulFs() {
- return (_gracefulFs = _interopRequireDefault(require('graceful-fs')));
- }
- var _blacklist;
- function _load_blacklist() {
- return (_blacklist = _interopRequireDefault(require('./blacklist')));
- }
- var _constants;
- function _load_constants() {
- return (_constants = _interopRequireDefault(require('./constants')));
- }
- var _extract_requires;
- function _load_extract_requires() {
- return (_extract_requires = _interopRequireDefault(
- require('./lib/extract_requires')
- ));
- }
- function _interopRequireWildcard(obj) {
- if (obj && obj.__esModule) {
- return obj;
- } else {
- var newObj = {};
- if (obj != null) {
- for (var key in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, key))
- newObj[key] = obj[key];
- }
- }
- newObj.default = obj;
- return newObj;
- }
- }
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {default: obj};
- }
- function _asyncToGenerator(fn) {
- return function() {
- var gen = fn.apply(this, arguments);
- return new Promise(function(resolve, reject) {
- function step(key, arg) {
- try {
- var info = gen[key](arg);
- var value = info.value;
- } catch (error) {
- reject(error);
- return;
- }
- if (info.done) {
- resolve(value);
- } else {
- return Promise.resolve(value).then(
- function(value) {
- step('next', value);
- },
- function(err) {
- step('throw', err);
- }
- );
- }
- }
- return step('next');
- });
- };
- }
- /**
- * Copyright (c) 2014-present, Facebook, Inc. 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 PACKAGE_JSON = (_path || _load_path()).default.sep + 'package.json';
- let hasteImpl = null;
- let hasteImplModulePath = null;
- function sha1hex(content) {
- return (_crypto || _load_crypto()).default
- .createHash('sha1')
- .update(content)
- .digest('hex');
- }
|