jest-haste-map
Advanced tools
Comparing version 29.7.0 to 30.0.0-alpha.1
@@ -10,3 +10,3 @@ /** | ||
import type {Config} from '@jest/types'; | ||
import type {Stats} from 'graceful-fs'; | ||
import type {Stats} from 'fs'; | ||
@@ -13,0 +13,0 @@ declare type ChangeEvent = { |
@@ -1,10 +0,196 @@ | ||
'use strict'; | ||
/*! | ||
* /** | ||
* * Copyright (c) Meta Platforms, Inc. and affiliates. | ||
* * | ||
* * This source code is licensed under the MIT license found in the | ||
* * LICENSE file in the root directory of this source tree. | ||
* * / | ||
*/ | ||
/******/ (() => { // webpackBootstrap | ||
/******/ "use strict"; | ||
/******/ var __webpack_modules__ = ({ | ||
Object.defineProperty(exports, '__esModule', { | ||
/***/ "./src/blacklist.ts": | ||
/***/ ((__unused_webpack_module, exports) => { | ||
Object.defineProperty(exports, "__esModule", ({ | ||
value: true | ||
}); | ||
})); | ||
exports["default"] = void 0; | ||
/** | ||
* Copyright (c) Meta Platforms, Inc. and affiliates. | ||
* | ||
* This source code is licensed under the MIT license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/ | ||
// This list is compiled after the MDN list of the most common MIME types (see | ||
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/ | ||
// Complete_list_of_MIME_types). | ||
// | ||
// Only MIME types starting with "image/", "video/", "audio/" and "font/" are | ||
// reflected in the list. Adding "application/" is too risky since some text | ||
// file formats (like ".js" and ".json") have an "application/" MIME type. | ||
// | ||
// Feel free to add any extensions that cannot be a Haste module. | ||
const extensions = new Set([ | ||
// JSONs are never haste modules, except for "package.json", which is handled. | ||
'.json', | ||
// Image extensions. | ||
'.bmp', '.gif', '.ico', '.jpeg', '.jpg', '.png', '.svg', '.tiff', '.tif', '.webp', | ||
// Video extensions. | ||
'.avi', '.mp4', '.mpeg', '.mpg', '.ogv', '.webm', '.3gp', '.3g2', | ||
// Audio extensions. | ||
'.aac', '.midi', '.mid', '.mp3', '.oga', '.wav', '.3gp', '.3g2', | ||
// Font extensions. | ||
'.eot', '.otf', '.ttf', '.woff', '.woff2']); | ||
var _default = exports["default"] = extensions; | ||
/***/ }), | ||
/***/ "./src/constants.ts": | ||
/***/ ((__unused_webpack_module, exports) => { | ||
Object.defineProperty(exports, "__esModule", ({ | ||
value: true | ||
})); | ||
exports["default"] = void 0; | ||
/** | ||
* Copyright (c) Meta Platforms, Inc. and affiliates. | ||
* | ||
* This source code is licensed under the MIT license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/ | ||
/* | ||
* This file exports a set of constants that are used for Jest's haste map | ||
* serialization. On very large repositories, the haste map cache becomes very | ||
* large to the point where it is the largest overhead in starting up Jest. | ||
* | ||
* This constant key map allows to keep the map smaller without having to build | ||
* a custom serialization library. | ||
*/ | ||
/* eslint-disable sort-keys */ | ||
const constants = { | ||
/* dependency serialization */ | ||
DEPENDENCY_DELIM: '\0', | ||
/* file map attributes */ | ||
ID: 0, | ||
MTIME: 1, | ||
SIZE: 2, | ||
VISITED: 3, | ||
DEPENDENCIES: 4, | ||
SHA1: 5, | ||
/* module map attributes */ | ||
PATH: 0, | ||
TYPE: 1, | ||
/* module types */ | ||
MODULE: 0, | ||
PACKAGE: 1, | ||
/* platforms */ | ||
GENERIC_PLATFORM: 'g', | ||
NATIVE_PLATFORM: 'native' | ||
}; | ||
/* eslint-enable */ | ||
var _default = exports["default"] = constants; | ||
/***/ }), | ||
/***/ "./src/lib/dependencyExtractor.ts": | ||
/***/ ((__unused_webpack_module, exports) => { | ||
Object.defineProperty(exports, "__esModule", ({ | ||
value: true | ||
})); | ||
exports.extractor = void 0; | ||
/** | ||
* Copyright (c) Meta Platforms, Inc. and affiliates. | ||
* | ||
* This source code is licensed under the MIT license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/ | ||
const NOT_A_DOT = '(?<!\\.\\s*)'; | ||
const CAPTURE_STRING_LITERAL = pos => `([\`'"])([^'"\`]*?)(?:\\${pos})`; | ||
const WORD_SEPARATOR = '\\b'; | ||
const LEFT_PARENTHESIS = '\\('; | ||
const RIGHT_PARENTHESIS = '\\)'; | ||
const WHITESPACE = '\\s*'; | ||
const OPTIONAL_COMMA = '(:?,\\s*)?'; | ||
function createRegExp(parts, flags) { | ||
return new RegExp(parts.join(''), flags); | ||
} | ||
function alternatives(...parts) { | ||
return `(?:${parts.join('|')})`; | ||
} | ||
function functionCallStart(...names) { | ||
return [NOT_A_DOT, WORD_SEPARATOR, alternatives(...names), WHITESPACE, LEFT_PARENTHESIS, WHITESPACE]; | ||
} | ||
const BLOCK_COMMENT_RE = /\/\*[^]*?\*\//g; | ||
const LINE_COMMENT_RE = /\/\/.*/g; | ||
const REQUIRE_OR_DYNAMIC_IMPORT_RE = createRegExp([...functionCallStart('require', 'import'), CAPTURE_STRING_LITERAL(1), WHITESPACE, OPTIONAL_COMMA, RIGHT_PARENTHESIS], 'g'); | ||
const IMPORT_OR_EXPORT_RE = createRegExp(['\\b(?:import|export)\\s+(?!type(?:of)?\\s+)(?:[^\'"]+\\s+from\\s+)?', CAPTURE_STRING_LITERAL(1)], 'g'); | ||
const JEST_EXTENSIONS_RE = createRegExp([...functionCallStart('jest\\s*\\.\\s*(?:requireActual|requireMock|genMockFromModule|createMockFromModule)'), CAPTURE_STRING_LITERAL(1), WHITESPACE, OPTIONAL_COMMA, RIGHT_PARENTHESIS], 'g'); | ||
const extractor = exports.extractor = { | ||
extract(code) { | ||
const dependencies = new Set(); | ||
const addDependency = (match, _, dep) => { | ||
dependencies.add(dep); | ||
return match; | ||
}; | ||
code.replace(BLOCK_COMMENT_RE, '').replace(LINE_COMMENT_RE, '').replace(IMPORT_OR_EXPORT_RE, addDependency).replace(REQUIRE_OR_DYNAMIC_IMPORT_RE, addDependency).replace(JEST_EXTENSIONS_RE, addDependency); | ||
return dependencies; | ||
} | ||
}; | ||
/***/ }) | ||
/******/ }); | ||
/************************************************************************/ | ||
/******/ // The module cache | ||
/******/ var __webpack_module_cache__ = {}; | ||
/******/ | ||
/******/ // The require function | ||
/******/ function __webpack_require__(moduleId) { | ||
/******/ // Check if module is in cache | ||
/******/ var cachedModule = __webpack_module_cache__[moduleId]; | ||
/******/ if (cachedModule !== undefined) { | ||
/******/ return cachedModule.exports; | ||
/******/ } | ||
/******/ // Create a new module (and put it into the cache) | ||
/******/ var module = __webpack_module_cache__[moduleId] = { | ||
/******/ // no module.id needed | ||
/******/ // no module.loaded needed | ||
/******/ exports: {} | ||
/******/ }; | ||
/******/ | ||
/******/ // Execute the module function | ||
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); | ||
/******/ | ||
/******/ // Return the exports of the module | ||
/******/ return module.exports; | ||
/******/ } | ||
/******/ | ||
/************************************************************************/ | ||
var __webpack_exports__ = {}; | ||
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. | ||
(() => { | ||
var exports = __webpack_exports__; | ||
Object.defineProperty(exports, "__esModule", ({ | ||
value: true | ||
})); | ||
exports.getSha1 = getSha1; | ||
exports.worker = worker; | ||
function _crypto() { | ||
const data = require('crypto'); | ||
const data = require("crypto"); | ||
_crypto = function () { | ||
@@ -16,3 +202,3 @@ return data; | ||
function path() { | ||
const data = _interopRequireWildcard(require('path')); | ||
const data = _interopRequireWildcard(require("path")); | ||
path = function () { | ||
@@ -24,3 +210,3 @@ return data; | ||
function fs() { | ||
const data = _interopRequireWildcard(require('graceful-fs')); | ||
const data = _interopRequireWildcard(require("graceful-fs")); | ||
fs = function () { | ||
@@ -32,3 +218,3 @@ return data; | ||
function _jestUtil() { | ||
const data = require('jest-util'); | ||
const data = require("jest-util"); | ||
_jestUtil = function () { | ||
@@ -39,48 +225,8 @@ return data; | ||
} | ||
var _blacklist = _interopRequireDefault(require('./blacklist')); | ||
var _constants = _interopRequireDefault(require('./constants')); | ||
var _dependencyExtractor = require('./lib/dependencyExtractor'); | ||
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; | ||
} | ||
var _blacklist = _interopRequireDefault(__webpack_require__("./src/blacklist.ts")); | ||
var _constants = _interopRequireDefault(__webpack_require__("./src/constants.ts")); | ||
var _dependencyExtractor = __webpack_require__("./src/lib/dependencyExtractor.ts"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } | ||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } | ||
/** | ||
@@ -100,6 +246,3 @@ * Copyright (c) Meta Platforms, Inc. and affiliates. | ||
async function worker(data) { | ||
if ( | ||
data.hasteImplModulePath && | ||
data.hasteImplModulePath !== hasteImplModulePath | ||
) { | ||
if (data.hasteImplModulePath && data.hasteImplModulePath !== hasteImplModulePath) { | ||
if (hasteImpl) { | ||
@@ -116,3 +259,8 @@ throw new Error('jest-haste-map: hasteImplModulePath changed'); | ||
let sha1; | ||
const {computeDependencies, computeSha1, rootDir, filePath} = data; | ||
const { | ||
computeDependencies, | ||
computeSha1, | ||
rootDir, | ||
filePath | ||
} = data; | ||
const getContent = () => { | ||
@@ -136,5 +284,3 @@ if (content === undefined) { | ||
} | ||
} else if ( | ||
!_blacklist.default.has(filePath.substring(filePath.lastIndexOf('.'))) | ||
) { | ||
} else if (!_blacklist.default.has(filePath.substring(filePath.lastIndexOf('.')))) { | ||
// Process a random file that is returned as a MODULE. | ||
@@ -146,15 +292,4 @@ if (hasteImpl) { | ||
const content = getContent(); | ||
const extractor = data.dependencyExtractor | ||
? await (0, _jestUtil().requireOrImportModule)( | ||
data.dependencyExtractor, | ||
false | ||
) | ||
: _dependencyExtractor.extractor; | ||
dependencies = Array.from( | ||
extractor.extract( | ||
content, | ||
filePath, | ||
_dependencyExtractor.extractor.extract | ||
) | ||
); | ||
const extractor = data.dependencyExtractor ? await (0, _jestUtil().requireOrImportModule)(data.dependencyExtractor, false) : _dependencyExtractor.extractor; | ||
dependencies = Array.from(extractor.extract(content, filePath, _dependencyExtractor.extractor.extract)); | ||
} | ||
@@ -179,5 +314,3 @@ if (id) { | ||
async function getSha1(data) { | ||
const sha1 = data.computeSha1 | ||
? sha1hex(fs().readFileSync(data.filePath)) | ||
: null; | ||
const sha1 = data.computeSha1 ? sha1hex(fs().readFileSync(data.filePath)) : null; | ||
return { | ||
@@ -190,1 +323,6 @@ dependencies: undefined, | ||
} | ||
})(); | ||
module.exports = __webpack_exports__; | ||
/******/ })() | ||
; |
{ | ||
"name": "jest-haste-map", | ||
"version": "29.7.0", | ||
"version": "30.0.0-alpha.1", | ||
"repository": { | ||
@@ -15,2 +15,4 @@ "type": "git", | ||
"types": "./build/index.d.ts", | ||
"require": "./build/index.js", | ||
"import": "./build/index.mjs", | ||
"default": "./build/index.js" | ||
@@ -21,4 +23,3 @@ }, | ||
"dependencies": { | ||
"@jest/types": "^29.6.3", | ||
"@types/graceful-fs": "^4.1.3", | ||
"@jest/types": "30.0.0-alpha.1", | ||
"@types/node": "*", | ||
@@ -28,5 +29,5 @@ "anymatch": "^3.0.3", | ||
"graceful-fs": "^4.2.9", | ||
"jest-regex-util": "^29.6.3", | ||
"jest-util": "^29.7.0", | ||
"jest-worker": "^29.7.0", | ||
"jest-regex-util": "30.0.0-alpha.1", | ||
"jest-util": "30.0.0-alpha.1", | ||
"jest-worker": "30.0.0-alpha.1", | ||
"micromatch": "^4.0.4", | ||
@@ -37,2 +38,3 @@ "walker": "^1.0.8" | ||
"@types/fb-watchman": "^2.0.0", | ||
"@types/graceful-fs": "^4.1.3", | ||
"@types/micromatch": "^4.0.1", | ||
@@ -45,3 +47,3 @@ "slash": "^3.0.0" | ||
"engines": { | ||
"node": "^14.15.0 || ^16.10.0 || >=18.0.0" | ||
"node": "^16.10.0 || ^18.12.0 || >=20.0.0" | ||
}, | ||
@@ -51,3 +53,3 @@ "publishConfig": { | ||
}, | ||
"gitHead": "4e56991693da7cd4c3730dc3579a1dd1403ee630" | ||
"gitHead": "d005cb2505c041583e0c5636d006e08666a54b63" | ||
} |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
125602
11
0
93
7
4
7
3324
2
3
+ Added@jest/schemas@30.0.0-alpha.1(transitive)
+ Added@jest/types@30.0.0-alpha.1(transitive)
+ Added@sinclair/typebox@0.31.28(transitive)
+ Added@types/node@22.8.4(transitive)
+ Addedci-info@4.0.0(transitive)
+ Addedjest-regex-util@30.0.0-alpha.1(transitive)
+ Addedjest-util@30.0.0-alpha.1(transitive)
+ Addedjest-worker@30.0.0-alpha.1(transitive)
- Removed@types/graceful-fs@^4.1.3
- Removed@jest/schemas@29.6.3(transitive)
- Removed@jest/types@29.6.3(transitive)
- Removed@sinclair/typebox@0.27.8(transitive)
- Removed@types/graceful-fs@4.1.9(transitive)
- Removed@types/node@22.8.1(transitive)
- Removedci-info@3.9.0(transitive)
- Removedjest-regex-util@29.6.3(transitive)
- Removedjest-util@29.7.0(transitive)
- Removedjest-worker@29.7.0(transitive)
Updated@jest/types@30.0.0-alpha.1
Updatedjest-util@30.0.0-alpha.1
Updatedjest-worker@30.0.0-alpha.1