* 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)
| 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: |
no test coverage detected