diff --git a/.gitignore b/.gitignore index 7b210dedad1..768b885bbc5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # See https://help.github.com/ignore-files/ for more about ignoring files. # Specifics +export packages/plugin-theme/src/bundle.css.js packages/plugin-theme/css packages/components/Blockquote diff --git a/package.json b/package.json index e8164e2f711..bc54709bd35 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "jsonlint:files": "find . -name \"*.json\" | grep -v -f .eslintignore", "prettier": "npx prettier --write 'packages/**/src/*.js'", "reconfigure": "npx babel-node scripts/reconfigure.js", + "dxf": "npx babel-node scripts/export-dxf.js", "prerelease": "lerna version --no-git-tag-version --no-push && yarn reconfigure && lerna run build", "release": "lerna exec -- npm publish", "postrelease": "git add . && git commit -m ':bookmark: v$npm_package_version' && git tag -a v$npm_package_version -m ':bookmark: FreeSewing v$npm_package_version'", diff --git a/scripts/export-dxf.js b/scripts/export-dxf.js new file mode 100644 index 00000000000..f5093d947ae --- /dev/null +++ b/scripts/export-dxf.js @@ -0,0 +1,29 @@ +const patterns = require('./patterns') + +const exportDxfPlugin = require('@freesewing/plugin-export-dxf') +const models = require('@freesewing/models') +const info = require('@freesewing/pattern-info') +const capitalize = require('@freesewing/utils/capitalize') +const fs = require('fs').promises + +const exportDxf = async (pattern) => { + if (process.argv[2] && pattern !== process.argv[2]) return + + let dxf + try { + dxf = new patterns[capitalize(pattern)](settings).use(exportDxfPlugin).draft().exportDxf() + } catch (err) { + console.log('Could not export ', pattern, err) + } + await fs.writeFile(`${__dirname}/../export/dxf/${pattern.toLowerCase()}.dxf`, dxf) +} + +const saveFile = (data, filename) => {} +let settings = { + complete: false, + measurements: models.withoutBreasts.size42 +} + +for (let pattern of info.withoutBreasts) exportDxf(pattern) +settings.measurements = models.withBreasts.size36 +for (let pattern of info.withBreasts) exportDxf(pattern) diff --git a/scripts/patterns.js b/scripts/patterns.js new file mode 100644 index 00000000000..c5b960a54dd --- /dev/null +++ b/scripts/patterns.js @@ -0,0 +1,57 @@ +const Aaron = require('@freesewing/aaron') +const Benjamin = require('@freesewing/benjamin') +const Bent = require('@freesewing/bent') +const Breanna = require('@freesewing/breanna') +const Brian = require('@freesewing/brian') +const Bruce = require('@freesewing/bruce') +const Carlita = require('@freesewing/carlita') +const Carlton = require('@freesewing/carlton') +const Cathrin = require('@freesewing/cathrin') +const Diana = require('@freesewing/diana') +const Florent = require('@freesewing/florent') +const Fu = require('@freesewing/fu') +const Holmes = require('@freesewing/holmes') +const Huey = require('@freesewing/huey') +const Hugo = require('@freesewing/hugo') +const Jaeger = require('@freesewing/jaeger') +const Penelope = require('@freesewing/penelope') +const Sandy = require('@freesewing/sandy') +const Shin = require('@freesewing/shin') +const Simon = require('@freesewing/simon') +const Simone = require('@freesewing/simone') +const Sven = require('@freesewing/sven') +const Tamiko = require('@freesewing/tamiko') +const Theo = require('@freesewing/theo') +const Trayvon = require('@freesewing/trayvon') +const Wahid = require('@freesewing/wahid') +const Waralee = require('@freesewing/waralee') + +module.exports = { + Aaron, + Benjamin, + Bent, + Breanna, + Brian, + Bruce, + Carlita, + Carlton, + Cathrin, + Diana, + Florent, + Fu, + Holmes, + Huey, + Hugo, + Jaeger, + Penelope, + Sandy, + Shin, + Simon, + Simone, + Sven, + Tamiko, + Theo, + Trayvon, + Wahid, + Waralee +}