diff --git a/packages/pattern-bundle/package-lock.json b/packages/pattern-bundle/package-lock.json index cbb4434b7ac..507370daa1c 100644 --- a/packages/pattern-bundle/package-lock.json +++ b/packages/pattern-bundle/package-lock.json @@ -733,6 +733,76 @@ "freesewing": "^0.23.1" } }, + "@freesewing/bruce": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@freesewing/bruce/-/bruce-0.4.0.tgz", + "integrity": "sha512-Wy4ngZyrHhvMU9PiFxcWk5b36voZHtuGWGXv3yzQVDVO31BQmAq5Wt+zhDL6t3bjdMA/BBBQAgS4Mb3ybnXDfA==", + "requires": { + "@freesewing/plugin-bundle": "^0.5.1", + "freesewing": "^0.23.2" + }, + "dependencies": { + "freesewing": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.23.2.tgz", + "integrity": "sha512-6EWJnr/X6lsyCkN4NJK1KAP6TTI4YF7NIaAP0eATOebAU87FENqBaHLH8x+PoY/0BcekprGIen/hhQelUOLc5g==", + "requires": { + "bezier-js": "^2.2.15", + "bin-pack": "1.0.2" + } + } + } + }, + "@freesewing/cathrin": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@freesewing/cathrin/-/cathrin-0.3.0.tgz", + "integrity": "sha512-4Lc4jw1m5kkkYNPEEiLzcPtANJbzt3XfLT7mAijyENsCyJhNziP8/YOdImQSOVJbTxerkfBi7R8/eFTfjwd83g==", + "requires": { + "@freesewing/plugin-bundle": "^0.5.1", + "freesewing": "^0.23.2" + }, + "dependencies": { + "freesewing": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.23.2.tgz", + "integrity": "sha512-6EWJnr/X6lsyCkN4NJK1KAP6TTI4YF7NIaAP0eATOebAU87FENqBaHLH8x+PoY/0BcekprGIen/hhQelUOLc5g==", + "requires": { + "bezier-js": "^2.2.15", + "bin-pack": "1.0.2" + } + } + } + }, + "@freesewing/hugo": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@freesewing/hugo/-/hugo-0.2.2.tgz", + "integrity": "sha512-XIJFZOaQexdsVsG03WInogHUBhUK+bBJglT7rUyTOv56uxTzR0+EiD/bxDpz0EWB0QEeCc6a9T+Urdo7Ded4mA==", + "requires": { + "@freesewing/brian": "^0.19", + "@freesewing/plugin-bundle": "^0.5.1", + "freesewing": "^0.23.2" + }, + "dependencies": { + "@freesewing/brian": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@freesewing/brian/-/brian-0.19.0.tgz", + "integrity": "sha512-Acl5RsIgKXtp/jw5gwTLo0ZM8OSi0ScKuvZiw66l4SN5meZwp9+VZ9ytnR+lbPUkpUKYhdyW3i9khvSMBkzALg==", + "requires": { + "@freesewing/plugin-bundle": "0.5.1", + "freesewing": "^0.23.2" + } + }, + "freesewing": { + "version": "0.23.3", + "resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.23.3.tgz", + "integrity": "sha512-u3Cq2N8dAnuLFftDsPg5tmKaQQeUo0EY545/caB0cdZ0+nyzMBzJU+7oHzZSM3sSdnTlTNmKHiYHr88M1txsGw==", + "requires": { + "bezier-js": "^2.2.15", + "bin-pack": "1.0.2" + } + } + } + }, "@freesewing/plugin-bundle": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/@freesewing/plugin-bundle/-/plugin-bundle-0.5.1.tgz", diff --git a/packages/pattern-bundle/package.json b/packages/pattern-bundle/package.json index 41063f57eb5..1b5370d4f81 100644 --- a/packages/pattern-bundle/package.json +++ b/packages/pattern-bundle/package.json @@ -46,7 +46,10 @@ }, "dependencies": { "@freesewing/aaron": "0.7.1", - "@freesewing/brian": "^0.18.1" + "@freesewing/brian": "^0.18.1", + "@freesewing/bruce": "0.4.0", + "@freesewing/cathrin": "0.3.0", + "@freesewing/hugo": "0.2.2" }, "devDependencies": { "@babel/core": "7.0.0-beta.56", diff --git a/packages/pattern-bundle/rollup.js b/packages/pattern-bundle/rollup.js index 0e00713d6a7..ac8a8a39245 100644 --- a/packages/pattern-bundle/rollup.js +++ b/packages/pattern-bundle/rollup.js @@ -16,12 +16,12 @@ export default { commonjs(), babel({ exclude: "node_modules/**" - }), - terser({ - output: { - preamble: `/**\n * ${name} | v${version}\n * ${description}\n * (c) ${new Date().getFullYear()} ${author}\n * @license ${license}\n */` - } }) + //terser({ + // output: { + // preamble: `/**\n * ${name} | v${version}\n * ${description}\n * (c) ${new Date().getFullYear()} ${author}\n * @license ${license}\n */` + // } + //}) ], external: ["freesewing"], output: { diff --git a/packages/pattern-bundle/src/index.js b/packages/pattern-bundle/src/index.js index d951c12dacf..51383ccbfa9 100644 --- a/packages/pattern-bundle/src/index.js +++ b/packages/pattern-bundle/src/index.js @@ -1,29 +1,25 @@ -import aaron from "@freesewing/aaron"; -import brian from "@freesewing/brian"; -//import bruce from "@freesewing/bruce"; -//import cathrin from "@freesewing/cathrin"; -//import hugo from "@freesewing/hugo"; +import Aaron from "@freesewing/aaron"; +import Brian from "@freesewing/brian"; +import Bruce from "@freesewing/bruce"; +import Cathrin from "@freesewing/cathrin"; +import Hugo from "@freesewing/hugo"; import info from "./info"; +const capitalize = string => string.charAt(0).toUpperCase() + string.slice(1); +const uncapitalize = string => string.charAt(0).toLowerCase() + string.slice(1); + export const patterns = { - aaron, - brian, - // bruce, - // cathrin, - // hugo, - Aaron: aaron, - Brian: brian - // Bruce: bruce, - // Cathrin: cathrin, - // Hugo: hugo + Aaron, + Brian, + Bruce, + Cathrin, + Hugo }; -//export const patternList = ["aaron", "brian", "bruce", "cathrin", "hugo"]; -export const patternList = ["aaron", "brian"]; - +export const patternList = Object.keys(patterns).map(p => uncapitalize(p)); let list = []; for (let p of patternList) { - let pattern = new patterns[p](); + let pattern = new patterns[(capitalize(p))](); for (let m of pattern.config.measurements) list.push(m); info[p].version = pattern.config.version; info[p].measurements = pattern.config.measurements; diff --git a/packages/pattern-bundle/src/info/aaron.js b/packages/pattern-bundle/src/info/aaron.js index d34b1806d24..22b0cabf93d 100644 --- a/packages/pattern-bundle/src/info/aaron.js +++ b/packages/pattern-bundle/src/info/aaron.js @@ -7,20 +7,16 @@ export default { difficulty: 3, tags: ["underwear", "top", "basics"], parts: ["front", "back"], - optionGroups: [ - { - fit: ["chestEase", "hipsEase", "stretchFactor"] - }, - { - style: [ - "armholeDrop", - "backlineBend", - "necklineBend", - "necklineDrop", - "shoulderStrapWidth", - "shoulderStrapPlacement", - "lengthBonus" - ] - } - ] + optionGroups: { + fit: ["chestEase", "hipsEase", "stretchFactor"], + style: [ + "armholeDrop", + "backlineBend", + "necklineBend", + "necklineDrop", + "shoulderStrapWidth", + "shoulderStrapPlacement", + "lengthBonus" + ] + } }; diff --git a/packages/pattern-bundle/src/info/brian.js b/packages/pattern-bundle/src/info/brian.js index 84da8e63003..7539ccb8258 100644 --- a/packages/pattern-bundle/src/info/brian.js +++ b/packages/pattern-bundle/src/info/brian.js @@ -7,48 +7,44 @@ export default { difficulty: 3, tags: ["top"], parts: ["front", "back", "sleeve"], - optionGroups: [ - { - fit: [ - "chestEase", - "collarEase", - "bicepsEase", - "cuffEase", - "shoulderEase", - "lengthBonus", - "sleeveLengthBonus" - ] - }, - { - advanced: [ - "acrossBackFactor", - "armholeDepthFactor", - "backNeckCutout", - "frontArmholeDeeper", - "shoulderSlopeReduction", - "sleeveWidthGuarantee", - { - sleevecap: [ - "sleevecapEase", - "sleevecapBackFactorX", - "sleevecapBackFactorY", - "sleevecapFrontFactorX", - "sleevecapFrontFactorY", - "sleevecapQ1Offset", - "sleevecapQ2Offset", - "sleevecapQ3Offset", - "sleevecapQ4Offset", - "sleevecapQ1Spread1", - "sleevecapQ1Spread2", - "sleevecapQ2Spread1", - "sleevecapQ2Spread2", - "sleevecapQ3Spread1", - "sleevecapQ3Spread2", - "sleevecapQ4Spread1", - "sleevecapQ4Spread2" - ] - } - ] - } - ] + optionGroups: { + fit: [ + "chestEase", + "collarEase", + "bicepsEase", + "cuffEase", + "shoulderEase", + "lengthBonus", + "sleeveLengthBonus" + ], + advanced: [ + "acrossBackFactor", + "armholeDepthFactor", + "backNeckCutout", + "frontArmholeDeeper", + "shoulderSlopeReduction", + "sleeveWidthGuarantee", + { + sleevecap: [ + "sleevecapEase", + "sleevecapBackFactorX", + "sleevecapBackFactorY", + "sleevecapFrontFactorX", + "sleevecapFrontFactorY", + "sleevecapQ1Offset", + "sleevecapQ2Offset", + "sleevecapQ3Offset", + "sleevecapQ4Offset", + "sleevecapQ1Spread1", + "sleevecapQ1Spread2", + "sleevecapQ2Spread1", + "sleevecapQ2Spread2", + "sleevecapQ3Spread1", + "sleevecapQ3Spread2", + "sleevecapQ4Spread1", + "sleevecapQ4Spread2" + ] + } + ] + } }; diff --git a/packages/pattern-bundle/src/info/bruce.js b/packages/pattern-bundle/src/info/bruce.js index 11d3ac30c46..d5327330a3d 100644 --- a/packages/pattern-bundle/src/info/bruce.js +++ b/packages/pattern-bundle/src/info/bruce.js @@ -1,10 +1,14 @@ -const info = { +export default { + name: "bruce", design: "Joost De Cock", code: "Joost De Cock", department: "menswear", type: "pattern", difficulty: 3, - tags: ["underwear", "bottom", "basics"] + tags: ["underwear", "bottom", "basics"], + parts: ["front", "back", "side", "inset"], + optionGroups: { + fit: ["bulge", "stretch", "legStretch", "backRise"], + style: ["rise", "legBonus"] + } }; - -export default info; diff --git a/packages/pattern-bundle/src/info/cathrin.js b/packages/pattern-bundle/src/info/cathrin.js index 011d80e08e4..451cb989c41 100644 --- a/packages/pattern-bundle/src/info/cathrin.js +++ b/packages/pattern-bundle/src/info/cathrin.js @@ -1,10 +1,30 @@ -const info = { - design: "Joost De Cock", +export default { + name: "cathrin", + design: ["Cathrin Åhlén", "Joost De Cock"], code: "Joost De Cock", department: "womenswear", type: "pattern", difficulty: 4, - tags: ["underwear", "top"] + tags: ["underwear", "top"], + parts: [ + "base", + "panels", + "panel1", + "panel2", + "panel3", + "panel4", + "panel5", + "panel6" + ], + optionGroups: { + fit: ["waistReduction", "panels"], + style: [ + "backOpening", + "backRise", + "backDrop", + "frontRise", + "frontDrop", + "hipRise" + ] + } }; - -export default info; diff --git a/packages/pattern-bundle/src/info/hugo.js b/packages/pattern-bundle/src/info/hugo.js index 1509bc1249b..4927561d7e0 100644 --- a/packages/pattern-bundle/src/info/hugo.js +++ b/packages/pattern-bundle/src/info/hugo.js @@ -1,10 +1,30 @@ -const info = { +export default { + name: "hugo", design: "Joost De Cock", code: "Joost De Cock", department: "menswear", type: "pattern", difficulty: 3, - tags: ["top", "basics"] + tags: ["top", "basics"], + parts: [ + "base", + "frontBase", + "backBase", + "sleeveBase", + "sleevecap", + "front", + "back", + "sleeve", + "pocket", + "pocketFacing", + "hoodSide", + "hoodCenter", + "cuffs", + "waistband" + ], + optionGroups: { + fit: ["bicepsEase", "chestEase", "cuffEase", "ribbingStretchFactor"], + style: ["lengthBonus", "sleeveLengthBonus", "ribbingWidth"], + advanced: ["acrossBackFactor", "backNeckCutout"] + } }; - -export default info;