1
0
Fork 0

Added @freesewing/pattern-info

This commit is contained in:
Joost De Cock 2019-05-02 12:37:45 +02:00
parent 3c803b3257
commit 0c4187e12a
7 changed files with 363 additions and 0 deletions

View file

@ -0,0 +1,22 @@
import options from "./prebuild/options";
import optionGroups from "./prebuild/option-groups";
import versions from "./prebuild/versions";
const list = [
"aaron",
"bent",
"brian",
"bruce",
"carlton",
"cathrin",
"huey",
"hugo",
"jaeger",
"simon",
"sven",
"tamiko",
"trayvon",
"wahid"
];
export { list, options, optionGroups, versions };

View file

@ -0,0 +1,44 @@
const path = require("path");
const fse = require("fs-extra");
const patterns = require("@freesewing/patterns").default;
const patternOptions = pattern => {
let all = [];
let groups = pattern.optionGroups;
for (let group of Object.keys(groups)) {
for (let option of groups[group]) {
if (typeof option === "string") all.push(option);
else {
for (let subgroup of Object.keys(option)) {
for (let suboption of option[subgroup]) all.push(suboption);
}
}
}
}
return all;
};
let options = {};
let optionGroups = {};
let versions = {};
for (let pattern of Object.keys(patterns)) {
let instance = new patterns[pattern]();
let p = pattern.toLowerCase();
options[p] = patternOptions(instance.config);
optionGroups[p] = instance.config.optionGroups;
versions[p] = instance.config.version;
}
fse.writeFileSync(
path.join(".", "src", "prebuild", "options.js"),
"module.exports = " + JSON.stringify(options) + "\n"
);
fse.writeFileSync(
path.join(".", "src", "prebuild", "option-groups.js"),
"module.exports = " + JSON.stringify(optionGroups) + "\n"
);
fse.writeFileSync(
path.join(".", "src", "prebuild", "versions.js"),
"module.exports = " + JSON.stringify(versions) + "\n"
);