Skip to content

Commit

Permalink
chore(bundle-builder,component-builder): minor preparations for nx mi…
Browse files Browse the repository at this point in the history
…gration (#2363)
  • Loading branch information
castastrophe authored Dec 12, 2023
1 parent ede4ef7 commit b8b5378
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 45 deletions.
86 changes: 41 additions & 45 deletions tools/bundle-builder/lib/depUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,38 +14,39 @@ const fsp = require("fs").promises;
const path = require("path");
const depSolver = require("dependency-solver");

/*
Given a package path, get its dependencies
@param {string} packages - package directory
@return {Object} An object mapping the package name to its dependencies, or null if no dependencies
*/
/**
* Given a package path, get its dependencies
* @param {string} packages - package directory
* @return {Object} An object mapping the package name to its dependencies, or null if no dependencies
*/
async function getDependencies(package) {
let pkg = JSON.parse(await fsp.readFile(path.join(package, "package.json")));
let dependencies = [];

if (pkg.devDependencies) {
dependencies = Object.keys(pkg.devDependencies).filter((dep) => {
return (
dep.indexOf("@spectrum-css") === 0 &&
dep !== "@spectrum-css/bundle-builder" &&
dep !== "@spectrum-css/component-builder" &&
dep !== "@spectrum-css/component-builder-simple"
);
});
}

return { name: pkg.name, dependencies: dependencies };
const {
name,
peerDependencies = {},
dependencies = {},
devDependencies = {}
} = await fsp.readFile(path.join(package, "package.json")).then(JSON.parse);

return {
name,
dependencies: [...new Set([
...Object.keys(peerDependencies),
...Object.keys(dependencies),
...Object.keys(devDependencies),
])].filter((dep) => (
dep.indexOf("@spectrum-css") === 0 &&
dep !== "@spectrum-css/bundle-builder" &&
dep !== "@spectrum-css/component-builder" &&
dep !== "@spectrum-css/component-builder-simple"
))
};
}

/*
Given a list of package paths, solve the dependency order
@param {string[]} packages - package directories
@return {string[]} The solved dependency order
*/
/**
* Given a list of package paths, solve the dependency order
* @param {string[]} packages - package directories
* @return {string[]} The solved dependency order
*/
async function solveDependencies(packages) {
async function getDependenciesForSolver(package) {
let { name, dependencies } = await getDependencies(package);
Expand All @@ -69,30 +70,25 @@ async function solveDependencies(packages) {
return depSolver.solve(dependencies);
}

/*
Get the list of all packages in given directory
@param {string} packageDir - package directory
@return {Object} An array of package names in dependency order
*/
/**
* Get the list of all packages in given directory
* @param {string} packageDir - package directory
* @return {Object} An array of package names in dependency order
*/
async function getPackageDependencyOrder(packageDir) {
let { dependencies } = await getDependencies(packageDir);

const { dependencies } = await getDependencies(packageDir);
return solveDependencies(
dependencies.map((dep) =>
path.dirname(require.resolve(path.join(dep, "package.json")))
)
);
}

/*
Get the list of all packages in given directory
@param {string} packagesDir - directory of packages
@return {Object} An array of package names in dependency order
*/
/**
* Get the list of all packages in given directory
* @param {string} packagesDir - directory of packages
* @return {Object} An array of package names in dependency order
*/
async function getFolderDependencyOrder(packagesDir) {
// Get list of all packages
let packages = (await fsp.readdir(packagesDir, { withFileTypes: true }))
Expand Down
2 changes: 2 additions & 0 deletions tools/component-builder/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
"url": "https://github.com/adobe/spectrum-css/issues"
},
"dependencies": {
"@spectrum-css/tokens": "^13.0.5",
"@spectrum-css/vars": "^9.0.8",
"autoprefixer": "^6.5.3",
"browser-sync": "^2.26.14",
"colors": "^1.4.0",
Expand Down

0 comments on commit b8b5378

Please sign in to comment.