Fixup more broken geometries. (#2276)
This commit is contained in:
parent
6923d74c0f
commit
dd7d055302
10 changed files with 136 additions and 101 deletions
|
@ -53,7 +53,7 @@ build.setJournal(`${BUILD}/.verda-build-journal`);
|
|||
build.setSelfTracking();
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
////// Oracles //////
|
||||
////// Environment //////
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
const Version = computed(`env::version`, async target => {
|
||||
|
@ -71,16 +71,40 @@ const CheckTtfAutoHintExists = oracle(`oracle:check-ttfautohint-exists`, async t
|
|||
});
|
||||
|
||||
const Dependencies = computed("env::dependencies", async target => {
|
||||
const [pjf] = await target.need(sfu`package.json`);
|
||||
const pj = JSON.parse(await FS.promises.readFile(pjf.full, "utf-8"));
|
||||
let subGoals = [];
|
||||
for (const pkgName in pj.dependencies) {
|
||||
subGoals.push(InstalledVersion(pkgName, pj.dependencies[pkgName]));
|
||||
const [packageJsons] = await target.need(AllPackageJsons);
|
||||
const subGoals = [];
|
||||
for (const pjf of packageJsons) {
|
||||
subGoals.push(DependenciesFor(pjf));
|
||||
}
|
||||
const [actual] = await target.need(subGoals);
|
||||
return actual;
|
||||
return await target.need(subGoals);
|
||||
});
|
||||
|
||||
const AllPackageJsons = computed("env::all-package-jsons", async target => {
|
||||
const [ppj, tpj] = await target.need(PackagesPackagesJsons, ToolPackagesJsons);
|
||||
return [`package.json`, ...ppj, ...tpj];
|
||||
});
|
||||
const PackagesPackagesJsons = computed("env::packages-packages-jsons", target =>
|
||||
FileList({ under: "packages", pattern: "*/package.json" })(target),
|
||||
);
|
||||
const ToolPackagesJsons = computed("env::tool-packages-jsons", target =>
|
||||
FileList({ under: "tools", pattern: "*/package.json" })(target),
|
||||
);
|
||||
|
||||
const DependenciesFor = computed.make(
|
||||
pakcageJsonPath => `env::dependencies-for::${pakcageJsonPath}`,
|
||||
async (target, pakcageJsonPath) => {
|
||||
const [pjf] = await target.need(sfu(pakcageJsonPath));
|
||||
const pj = JSON.parse(await FS.promises.readFile(pjf.full, "utf-8"));
|
||||
let subGoals = [];
|
||||
for (const pkgName in pj.dependencies) {
|
||||
if (/^@iosevka/.test(pkgName)) continue;
|
||||
subGoals.push(InstalledVersion(pkgName, pj.dependencies[pkgName]));
|
||||
}
|
||||
const [actual] = await target.need(subGoals);
|
||||
return actual;
|
||||
},
|
||||
);
|
||||
|
||||
const InstalledVersion = computed.make(
|
||||
(pkg, required) => `env::installed-version::${pkg}::${required}`,
|
||||
async (target, pkg, required) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue