aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jest-haste-map/build/lib/dependencyExtractor.js
diff options
context:
space:
mode:
authorJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
committerJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
commit5d309ff52cd399a6b71968a6b9a70c8ac0b98981 (patch)
tree360f7eb50f956e2367ef38fa1fc6ac7ac5258042 /node_modules/jest-haste-map/build/lib/dependencyExtractor.js
parentb500a50f1b97d93c98b36ed9a980f8188d648147 (diff)
downloadLYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.tar.gz
LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.zip
Added node_modules for the updating to work properly.
Diffstat (limited to 'node_modules/jest-haste-map/build/lib/dependencyExtractor.js')
-rw-r--r--node_modules/jest-haste-map/build/lib/dependencyExtractor.js99
1 files changed, 99 insertions, 0 deletions
diff --git a/node_modules/jest-haste-map/build/lib/dependencyExtractor.js b/node_modules/jest-haste-map/build/lib/dependencyExtractor.js
new file mode 100644
index 0000000..6d34b23
--- /dev/null
+++ b/node_modules/jest-haste-map/build/lib/dependencyExtractor.js
@@ -0,0 +1,99 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', {
+ value: true
+});
+exports.extract = extract;
+
+var _isRegExpSupported = _interopRequireDefault(require('./isRegExpSupported'));
+
+function _interopRequireDefault(obj) {
+ return obj && obj.__esModule ? obj : {default: obj};
+}
+
+/**
+ * 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.
+ */
+// Negative look behind is only supported in Node 9+
+const NOT_A_DOT = (0, _isRegExpSupported.default)('(?<!\\.\\s*)')
+ ? '(?<!\\.\\s*)'
+ : '(?:^|[^.]\\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'
+);
+
+function 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;
+}