UNPKG

4.99 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/utils/gatsby-dependents.js"],"names":["createRequireFromPath","require","join","dirname","fs","promisify","readFile","getAllDependencies","pkg","noDev","Set","Object","entries","dependencies","devDependencies","optionalDependencies","readJSON","file","buffer","JSON","parse","toString","getTreeFromNodeModules","dir","filterFn","results","Map","requireFromHere","packageJSON","resolve","error","Promise","all","Array","from","map","name","version","currentDependency","path","has","set","values","module","exports","program","store","getState","nodeModules","directory","dependency","test"],"mappings":"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","sourcesContent":["import { store } from \"../redux\"\nimport { memoize } from \"lodash\"\n\nconst createRequireFromPath = require(`./create-require-from-path`)\nconst { join, dirname } = require(`path`)\n\nconst fs = require(`fs`)\nconst { promisify } = require(`util`)\nconst readFile = promisify(fs.readFile)\n\nconst getAllDependencies = (pkg, { noDev } = {}) =>\n new Set([\n ...Object.entries(pkg.dependencies || {}),\n ...Object.entries((!noDev && pkg.devDependencies) || {}),\n ...Object.entries(pkg.optionalDependencies || {}),\n ])\n\nconst readJSON = async file => {\n const buffer = await readFile(file)\n return JSON.parse(buffer.toString())\n}\n\nconst getTreeFromNodeModules = async (\n dir,\n filterFn = () => true,\n results = new Map()\n) => {\n const requireFromHere = createRequireFromPath(`${dir}/:internal:`)\n let packageJSON\n try {\n packageJSON = await readJSON(require.resolve(join(dir, `package.json`)))\n } catch (error) {\n packageJSON = {}\n }\n\n await Promise.all(\n Array.from(getAllDependencies(packageJSON)).map(async ([name, version]) => {\n try {\n const currentDependency = {\n name,\n version,\n path: dirname(requireFromHere.resolve(`${name}/package.json`)),\n }\n if (filterFn(currentDependency)) {\n await getTreeFromNodeModules(\n currentDependency.path,\n filterFn,\n results\n )\n if (!results.has(currentDependency.name))\n results.set(currentDependency.name, currentDependency)\n }\n } catch (error) {\n // Sometimes dev dependencies of dependencies aren't installed\n // when using `yarn`. This is okay and safe to ignore.\n }\n })\n )\n return Array.from(results.values())\n}\n\n// Returns [Object] with name and path\nmodule.exports = memoize(async () => {\n const { program } = store.getState()\n const nodeModules = await getTreeFromNodeModules(\n program.directory,\n // Include anything that has `gatsby` in its name but not `gatsby` itself\n dependency => /gatsby/.test(dependency.name) && dependency.name !== `gatsby`\n )\n return nodeModules\n})\n"],"file":"gatsby-dependents.js"}
\No newline at end of file