MCPcopy
hub / github.com/webpack/webpack / resolveBuildDependencies

Method resolveBuildDependencies

lib/FileSystemInfo.js:1838–2367  ·  lib/FileSystemInfo.js::FileSystemInfo.resolveBuildDependencies

* Resolves build dependencies. * @param {string} context context directory * @param {Iterable<string>} deps dependencies * @param {(err?: Error | null, resolveBuildDependenciesResult?: ResolveBuildDependenciesResult) => void} callback callback function * @returns {void}

(context, deps, callback)

Source from the content-addressed store, hash-verified

1836 * @returns {void}
1837 */
1838 resolveBuildDependencies(context, deps, callback) {
1839 const { resolveContext, resolveEsm, resolveCjs, resolveCjsAsChild } =
1840 this._createBuildDependenciesResolvers();
1841
1842 /** @type {Files} */
1843 const files = new Set();
1844 /** @type {Symlinks} */
1845 const fileSymlinks = new Set();
1846 /** @type {Directories} */
1847 const directories = new Set();
1848 /** @type {Symlinks} */
1849 const directorySymlinks = new Set();
1850 /** @type {Missing} */
1851 const missing = new Set();
1852 /** @type {ResolveDependencies[class="st">"files"]} */
1853 const resolveFiles = new Set();
1854 /** @type {ResolveDependencies[class="st">"directories"]} */
1855 const resolveDirectories = new Set();
1856 /** @type {ResolveDependencies[class="st">"missing"]} */
1857 const resolveMissing = new Set();
1858 /** @type {ResolveResults} */
1859 const resolveResults = new Map();
1860 /** @type {Set<string>} */
1861 const invalidResolveResults = new Set();
1862 const resolverContext = {
1863 fileDependencies: resolveFiles,
1864 contextDependencies: resolveDirectories,
1865 missingDependencies: resolveMissing
1866 };
1867 /**
1868 * Expected to string.
1869 * @param {undefined | boolean | string} expected expected result
1870 * @returns {string} expected result
1871 */
1872 const expectedToString = (expected) =>
1873 expected ? ` (expected ${expected})` : class="st">"";
1874 /** @typedef {{ type: JobType, context: string | undefined, path: string, issuer: Job | undefined, expected: undefined | boolean | string }} Job */
1875
1876 /**
1877 * Returns result.
1878 * @param {Job} job job
1879 * @returns {string} result
1880 */
1881 const jobToString = (job) => {
1882 switch (job.type) {
1883 case RBDT_RESOLVE_FILE:
1884 return `resolve file ${job.path}${expectedToString(job.expected)}`;
1885 case RBDT_RESOLVE_DIRECTORY:
1886 return `resolve directory ${job.path}`;
1887 case RBDT_RESOLVE_CJS_FILE:
1888 return `resolve commonjs file ${job.path}${expectedToString(
1889 job.expected
1890 )}`;
1891 case RBDT_RESOLVE_ESM_FILE:
1892 return `resolve esm file ${job.path}${expectedToString(
1893 job.expected
1894 )}`;
1895 case RBDT_DIRECTORY:

Callers 2

afterAllStoredMethod · 0.80

Calls 15

processAsyncTreeFunction · 0.85
dirnameFunction · 0.85
relativeFunction · 0.85
isAbsoluteFunction · 0.85
parseStringFunction · 0.85
joinFunction · 0.85
sliceMethod · 0.80
isArrayMethod · 0.80
execMethod · 0.80
logMethod · 0.80
readFileMethod · 0.80

Tested by

no test coverage detected