From 447970c689e5655cb844db1139adf8b708ab12ac Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sun, 12 Jun 2022 23:49:52 +0200 Subject: [PATCH] feat(config-helpers): Renamed snapseries to config-helpers It would be useful to have a place where we can place methods like the pctBasedOn method that we now import from core, even though it has nothing to do with core. So I've decided to rename this packet since it's essentially also things that facilitate pattern configuration (files). Since this is a very new package, and I am 100% certain that we (FreeSewing itself) are the only ones using it, no need to major bump this. The most recent snapseries package will remain available for people who want to use it. I'll update all patterns accordingly. --- .../CHANGELOG.md | 8 +---- .../{snapseries => config-helpers}/README.md | 24 +++++++------- packages/config-helpers/build.js | 33 +++++++++++++++++++ .../package.json | 20 ++++------- .../rollup.config.js | 0 .../src/index.js | 17 ++++++++++ 6 files changed, 70 insertions(+), 32 deletions(-) rename packages/{snapseries => config-helpers}/CHANGELOG.md (50%) rename packages/{snapseries => config-helpers}/README.md (98%) create mode 100644 packages/config-helpers/build.js rename packages/{snapseries => config-helpers}/package.json (64%) rename packages/{snapseries => config-helpers}/rollup.config.js (100%) rename packages/{snapseries => config-helpers}/src/index.js (68%) diff --git a/packages/snapseries/CHANGELOG.md b/packages/config-helpers/CHANGELOG.md similarity index 50% rename from packages/snapseries/CHANGELOG.md rename to packages/config-helpers/CHANGELOG.md index af8df329c2c..4dea7a7c456 100644 --- a/packages/snapseries/CHANGELOG.md +++ b/packages/config-helpers/CHANGELOG.md @@ -1,12 +1,6 @@ -# Change log for: @freesewing/snapseries +# Change log for: @freesewing/config-helpers -## 2.19.0 (2021-10-17) - -### Added - - - Initial release of `@freesewing/snapseries` wich holds commonly used series of snap values for percentage options - This is the **initial release**, and the start of this change log. diff --git a/packages/snapseries/README.md b/packages/config-helpers/README.md similarity index 98% rename from packages/snapseries/README.md rename to packages/config-helpers/README.md index b646b3646af..bdfde28c260 100644 --- a/packages/snapseries/README.md +++ b/packages/config-helpers/README.md @@ -1,13 +1,13 @@ ![FreeSewing](https://static.freesewing.org/banner.png)

@freesewing/snapseries on NPM + href="https://www.npmjs.com/package/@freesewing/config-helpers" + title="@freesewing/config-helpers on NPM" + >@freesewing/config-helpers on NPM License: MIT Code quality on DeepScan Open issues tagged pkg:snapseries + href="https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3Apkg%3Aconfig-helpers" + title="Open issues tagged pkg:config-helpers" + >Open issues tagged pkg:config-helpers

-# @freesewing/snapseries +# @freesewing/config-helpers -A FreeSewing package for common values for snapped percentage options +A FreeSewing package to facilitate pattern configurations @@ -57,7 +57,7 @@ A FreeSewing package for common values for snapped percentage options This repository is our *monorepo* holding [all our NPM packages](https://freesewing.dev/reference/packages/). -This folder holds: @freesewing/snapseries +This folder holds: @freesewing/config-helpers ## About FreeSewing 💀 diff --git a/packages/config-helpers/build.js b/packages/config-helpers/build.js new file mode 100644 index 00000000000..a9b1854b663 --- /dev/null +++ b/packages/config-helpers/build.js @@ -0,0 +1,33 @@ +/* This script will build the package with esbuild */ +const esbuild = require('esbuild') +const pkg = require('./package.json') + +// Create banner based on package info +const banner = `/** + * ${pkg.name} | v${pkg.version} + * ${pkg.description} + * (c) ${new Date().getFullYear()} ${pkg.author} + * @license ${pkg.license} + */` + +// Shared esbuild options +const options = { + banner: { js: banner }, + bundle: true, + entryPoints: ['src/index.js'], + minify: true, + sourcemap: true, +} + +// Different formats +const formats = { + esm: "dist/index.mjs", + cjs: "dist/index.js" +} + +// Let esbuild generate different formats +for (const [format, outfile] of Object.entries(formats)) esbuild + .build({ ...options, outfile, format }) + .catch(() => process.exit(1)) + + diff --git a/packages/snapseries/package.json b/packages/config-helpers/package.json similarity index 64% rename from packages/snapseries/package.json rename to packages/config-helpers/package.json index 2a5b225c688..f93c6b39839 100644 --- a/packages/snapseries/package.json +++ b/packages/config-helpers/package.json @@ -1,7 +1,7 @@ { - "name": "@freesewing/snapseries", + "name": "@freesewing/config-helpers", "version": "2.20.8", - "description": "A FreeSewing package for common values for snapped percentage options", + "description": "A FreeSewing package to facilitate pattern configurations", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", "repository": "github:freesewing/freesewing", @@ -26,13 +26,10 @@ "module": "dist/index.mjs", "scripts": { "clean": "rimraf dist", - "build": "rollup -c", - "cibuild_step1": "rollup -c", - "test": "echo \"snapseries: No tests configured. Perhaps you'd like to do this?\" && exit 0", - "pubtest": "npm publish --registry http://localhost:6662", - "pubforce": "npm publish", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "start": "rollup -c -w" + "build": "node build.js", + "cibuild_step1": "node build.js", + "test": "echo \"config-helpers: No tests configured. Perhaps you'd like to do this?\" && exit 0", + "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -" }, "peerDependencies": {}, "dependencies": {}, @@ -47,10 +44,7 @@ "tag": "latest" }, "engines": { - "node": ">=12.0.0", + "node": ">=14.0.0", "npm": ">=6" - }, - "rollup": { - "exports": "named" } } diff --git a/packages/snapseries/rollup.config.js b/packages/config-helpers/rollup.config.js similarity index 100% rename from packages/snapseries/rollup.config.js rename to packages/config-helpers/rollup.config.js diff --git a/packages/snapseries/src/index.js b/packages/config-helpers/src/index.js similarity index 68% rename from packages/snapseries/src/index.js rename to packages/config-helpers/src/index.js index 693317004c6..fb286d70fdd 100644 --- a/packages/snapseries/src/index.js +++ b/packages/config-helpers/src/index.js @@ -1,3 +1,8 @@ + +/* + * Snap series + * ============================== + */ // Common width for elastics export const elastics = { metric: [3.5, 5, 10, 12, 20, 25, 30, 40, 50, 60, 80, 100, 120], @@ -32,3 +37,15 @@ export const bigsteps = { metric: 10, imperial: 12.7, // 1/2 inch } + +/* + * Config helper methods + * ============================== + */ +export function pctBasedOn(measurement) { + return { + toAbs: (val, { measurements }) => measurements[measurement] * val, + fromAbs: (val, { measurements }) => Math.round((10 * val) / measurements[measurement]) / 10, + } +} +