From 506d872b573b827e45f9297737279e8915c8a91f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 13 Jul 2019 08:48:58 +0200 Subject: [PATCH] :boom: Changed utils exports to seperate dependencies --- .gitignore | 20 +++++ config/exceptions.yaml | 1 + packages/utils/package.json | 21 ++++- packages/utils/rollup.config.js | 85 +++++++------------ .../src/{backend.js => backend/index.js} | 0 .../src/{camelCase.js => camelCase/index.js} | 0 .../{capitalize.js => capitalize/index.js} | 0 .../{cloneObject.js => cloneObject/index.js} | 0 .../{defaultGist.js => defaultGist/index.js} | 0 .../src/{defaultSa.js => defaultSa/index.js} | 0 .../index.js} | 0 .../src/{formatMm.js => formatMm/index.js} | 4 +- packages/utils/src/index.js | 42 ++++----- .../index.js} | 0 .../index.js} | 2 +- .../{optionType.js => optionType/index.js} | 0 packages/utils/src/roundMm.js | 8 -- packages/utils/src/roundMm/index.js | 6 ++ packages/utils/src/roundMmDown.js | 10 --- packages/utils/src/roundMmDown/index.js | 8 ++ packages/utils/src/roundMmUp.js | 10 --- packages/utils/src/roundMmUp/index.js | 8 ++ .../{sliderStep.js => sliderStep/index.js} | 0 .../index.js} | 0 .../src/{storage.js => storage/index.js} | 0 .../utils/src/{tiler.js => tiler/index.js} | 0 .../index.js} | 0 .../{validateTld.js => validateTld/index.js} | 0 28 files changed, 121 insertions(+), 104 deletions(-) rename packages/utils/src/{backend.js => backend/index.js} (100%) rename packages/utils/src/{camelCase.js => camelCase/index.js} (100%) rename packages/utils/src/{capitalize.js => capitalize/index.js} (100%) rename packages/utils/src/{cloneObject.js => cloneObject/index.js} (100%) rename packages/utils/src/{defaultGist.js => defaultGist/index.js} (100%) rename packages/utils/src/{defaultSa.js => defaultSa/index.js} (100%) rename packages/utils/src/{formatImperial.js => formatImperial/index.js} (100%) rename packages/utils/src/{formatMm.js => formatMm/index.js} (94%) rename packages/utils/src/{measurementAsMm.js => measurementAsMm/index.js} (100%) rename packages/utils/src/{optionDefault.js => optionDefault/index.js} (87%) rename packages/utils/src/{optionType.js => optionType/index.js} (100%) delete mode 100644 packages/utils/src/roundMm.js create mode 100644 packages/utils/src/roundMm/index.js delete mode 100644 packages/utils/src/roundMmDown.js create mode 100644 packages/utils/src/roundMmDown/index.js delete mode 100644 packages/utils/src/roundMmUp.js create mode 100644 packages/utils/src/roundMmUp/index.js rename packages/utils/src/{sliderStep.js => sliderStep/index.js} (100%) rename packages/utils/src/{smallestImperialStep.js => smallestImperialStep/index.js} (100%) rename packages/utils/src/{storage.js => storage/index.js} (100%) rename packages/utils/src/{tiler.js => tiler/index.js} (100%) rename packages/utils/src/{validateEmail.js => validateEmail/index.js} (100%) rename packages/utils/src/{validateTld.js => validateTld/index.js} (100%) diff --git a/.gitignore b/.gitignore index ec624432e8f..292dd70a525 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,26 @@ packages/components/Workbench packages/core/coverage packages/workbench .netlify +packages/utils/backend +packages/utils/camelCase +packages/utils/capitalize +packages/utils/cloneObject +packages/utils/defaultGist +packages/utils/defaultSa +packages/utils/formatImperial +packages/utils/formatMm +packages/utils/optionDefault +packages/utils/optionType +packages/utils/roundMm +packages/utils/roundMmDown +packages/utils/roundMmUp +packages/utils/sliderStep +packages/utils/smallestImperialStep +packages/utils/storage +packages/utils/tiler +packages/utils/measurementAsMm +packages/utils/validateEmail +packages/utils/validateTld # dependencies node_modules diff --git a/config/exceptions.yaml b/config/exceptions.yaml index 97d992dc73a..c91ecfd1207 100644 --- a/config/exceptions.yaml +++ b/config/exceptions.yaml @@ -6,6 +6,7 @@ customRollup: - components - core - i18n + - utils packageJson: components: # react-scripts doesn't handle .mjs files correctly diff --git a/packages/utils/package.json b/packages/utils/package.json index 3428657d230..b0bbb68c4d6 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -35,7 +35,26 @@ "dependencies": {}, "devDependencies": {}, "files": [ - "dist/*", + "backend/*", + "camelCase/*", + "capitalize/*", + "cloneObject/*", + "defaultGist/*", + "defaultSa/*", + "formatImperial/*", + "formatMm/*", + "optionDefault/*", + "optionType/*", + "roundMm/*", + "roundMmDown/*", + "roundMmUp/*", + "sliderStep/*", + "smallestImperialStep/*", + "storage/*", + "tiler/*", + "measurementAsMm/*", + "validateEmail/*", + "validateTld/*", "README.md", "package.json" ], diff --git a/packages/utils/rollup.config.js b/packages/utils/rollup.config.js index dd605e09bac..bd015622bb9 100644 --- a/packages/utils/rollup.config.js +++ b/packages/utils/rollup.config.js @@ -1,59 +1,40 @@ import babel from "rollup-plugin-babel"; import resolve from "rollup-plugin-node-resolve"; -import commonjs from "rollup-plugin-commonjs"; import json from "rollup-plugin-json"; import minify from "rollup-plugin-babel-minify"; -import yaml from "rollup-plugin-yaml"; -import url from "rollup-plugin-url"; -import postcss from "rollup-plugin-postcss"; -import svgr from "@svgr/rollup"; import peerDepsExternal from "rollup-plugin-peer-deps-external"; -import { - name, - version, - description, - author, - license, - main, - module -} from "./package.json"; +import { name, version, description, author, license } from "./package.json"; +import utils from "./src/index.js"; -const output = [ - { - file: main, - format: "cjs", - sourcemap: true - } -]; -if (typeof module !== "undefined") - output.push({ - file: module, - format: "es", - sourcemap: true - }); - -export default { - input: "src/index.js", - output, - plugins: [ - peerDepsExternal(), - resolve({ modulesOnly: true }), - url(), - commonjs(), - json(), - yaml(), - svgr(), - postcss({ - modules: true - }), - babel({ - exclude: "node_modules/**", - plugins: ["@babel/plugin-proposal-object-rest-spread"] - }), - minify({ - comments: false, - sourceMap: true, - banner: `/**\n * ${name} | v${version}\n * ${description}\n * (c) ${new Date().getFullYear()} ${author}\n * @license ${license}\n */` - }) - ] +const createConfig = (util, module) => { + return { + input: `./src/${util + "/"}index.js`, + output: { + file: `./${util}/index` + (module ? ".mjs" : ".js"), + format: module ? "es" : "cjs", + sourcemap: true + }, + plugins: [ + peerDepsExternal(), + resolve({ modulesOnly: true }), + json(), + babel({ + exclude: "node_modules/**", + plugins: ["@babel/plugin-proposal-object-rest-spread"] + }), + minify({ + comments: false, + sourceMap: true, + banner: `/**\n * ${name}/${util} | v${version}\n * ${description}\n * (c) ${new Date().getFullYear()} ${author}\n * @license ${license}\n */` + }) + ] + }; }; + +const config = []; +for (let util of utils) { + config.push(createConfig(util, false)); + // Webpack doesn't handle .mjs very well + //config.push(createConfig(util, true)); +} +export default config; diff --git a/packages/utils/src/backend.js b/packages/utils/src/backend/index.js similarity index 100% rename from packages/utils/src/backend.js rename to packages/utils/src/backend/index.js diff --git a/packages/utils/src/camelCase.js b/packages/utils/src/camelCase/index.js similarity index 100% rename from packages/utils/src/camelCase.js rename to packages/utils/src/camelCase/index.js diff --git a/packages/utils/src/capitalize.js b/packages/utils/src/capitalize/index.js similarity index 100% rename from packages/utils/src/capitalize.js rename to packages/utils/src/capitalize/index.js diff --git a/packages/utils/src/cloneObject.js b/packages/utils/src/cloneObject/index.js similarity index 100% rename from packages/utils/src/cloneObject.js rename to packages/utils/src/cloneObject/index.js diff --git a/packages/utils/src/defaultGist.js b/packages/utils/src/defaultGist/index.js similarity index 100% rename from packages/utils/src/defaultGist.js rename to packages/utils/src/defaultGist/index.js diff --git a/packages/utils/src/defaultSa.js b/packages/utils/src/defaultSa/index.js similarity index 100% rename from packages/utils/src/defaultSa.js rename to packages/utils/src/defaultSa/index.js diff --git a/packages/utils/src/formatImperial.js b/packages/utils/src/formatImperial/index.js similarity index 100% rename from packages/utils/src/formatImperial.js rename to packages/utils/src/formatImperial/index.js diff --git a/packages/utils/src/formatMm.js b/packages/utils/src/formatMm/index.js similarity index 94% rename from packages/utils/src/formatMm.js rename to packages/utils/src/formatMm/index.js index e82aee99fd5..54d778ed8b5 100644 --- a/packages/utils/src/formatMm.js +++ b/packages/utils/src/formatMm/index.js @@ -1,5 +1,5 @@ -import roundMm from "./roundMm"; -import formatImperial from "./formatImperial"; +import roundMm from "../roundMm"; +import formatImperial from "../formatImperial"; const formatMm = (val, units, format = "html") => { val = roundMm(val); diff --git a/packages/utils/src/index.js b/packages/utils/src/index.js index 5ff3f02752c..1264d342ec3 100644 --- a/packages/utils/src/index.js +++ b/packages/utils/src/index.js @@ -1,20 +1,22 @@ -export { default as backend } from "./backend"; -export { default as camelCase } from "./camelCase"; -export { default as capitalize } from "./capitalize"; -export { default as cloneObject } from "./cloneObject"; -export { default as defaultGist } from "./defaultGist"; -export { default as defaultSa } from "./defaultSa"; -export { default as formatImperial } from "./formatImperial"; -export { default as formatMm } from "./formatMm"; -export { default as optionDefault } from "./optionDefault"; -export { default as optionType } from "./optionType"; -export { default as roundMm } from "./roundMm"; -export { default as roundMmDown } from "./roundMmDown"; -export { default as roundMmUp } from "./roundMmUp"; -export { default as sliderStep } from "./sliderStep"; -export { default as smallestImperialStep } from "./smallestImperialStep"; -export { default as storage } from "./storage"; -export { default as tiler } from "./tiler"; -export { default as measurementAsMm } from "./measurementAsMm"; -export { default as validateEmail } from "./validateEmail"; -export { default as validateTld } from "./validateTld"; +export default [ + "backend", + "camelCase", + "capitalize", + "cloneObject", + "defaultGist", + "defaultSa", + "formatImperial", + "formatMm", + "optionDefault", + "optionType", + "roundMm", + "roundMmDown", + "roundMmUp", + "sliderStep", + "smallestImperialStep", + "storage", + "tiler", + "measurementAsMm", + "validateEmail", + "validateTld" +]; diff --git a/packages/utils/src/measurementAsMm.js b/packages/utils/src/measurementAsMm/index.js similarity index 100% rename from packages/utils/src/measurementAsMm.js rename to packages/utils/src/measurementAsMm/index.js diff --git a/packages/utils/src/optionDefault.js b/packages/utils/src/optionDefault/index.js similarity index 87% rename from packages/utils/src/optionDefault.js rename to packages/utils/src/optionDefault/index.js index 58a030cf342..d28268cfd86 100644 --- a/packages/utils/src/optionDefault.js +++ b/packages/utils/src/optionDefault/index.js @@ -1,4 +1,4 @@ -import optionType from "./optionType"; +import optionType from "../optionType"; const optionDefault = option => { let type = optionType(option); diff --git a/packages/utils/src/optionType.js b/packages/utils/src/optionType/index.js similarity index 100% rename from packages/utils/src/optionType.js rename to packages/utils/src/optionType/index.js diff --git a/packages/utils/src/roundMm.js b/packages/utils/src/roundMm.js deleted file mode 100644 index ac52ffb2b33..00000000000 --- a/packages/utils/src/roundMm.js +++ /dev/null @@ -1,8 +0,0 @@ -const roundMm = (val, units) => { - if (units === "imperial") - return Math.round(val * 1000000) / 1000000; - else - return Math.round(val * 10) / 10; -}; - -export default roundMm; diff --git a/packages/utils/src/roundMm/index.js b/packages/utils/src/roundMm/index.js new file mode 100644 index 00000000000..b449da39301 --- /dev/null +++ b/packages/utils/src/roundMm/index.js @@ -0,0 +1,6 @@ +const roundMm = (val, units) => { + if (units === "imperial") return Math.round(val * 1000000) / 1000000; + else return Math.round(val * 10) / 10; +}; + +export default roundMm; diff --git a/packages/utils/src/roundMmDown.js b/packages/utils/src/roundMmDown.js deleted file mode 100644 index 08888d0e978..00000000000 --- a/packages/utils/src/roundMmDown.js +++ /dev/null @@ -1,10 +0,0 @@ -import smallestImperialStep from "./smallestImperialStep"; - -const roundMmDown = (val, units) => { - if (units === "imperial") - return val - (val % smallestImperialStep); - else - return Math.floor(val * 10) / 10; -}; - -export default roundMmDown; diff --git a/packages/utils/src/roundMmDown/index.js b/packages/utils/src/roundMmDown/index.js new file mode 100644 index 00000000000..a8550ce3b27 --- /dev/null +++ b/packages/utils/src/roundMmDown/index.js @@ -0,0 +1,8 @@ +import smallestImperialStep from "../smallestImperialStep"; + +const roundMmDown = (val, units) => { + if (units === "imperial") return val - (val % smallestImperialStep); + else return Math.floor(val * 10) / 10; +}; + +export default roundMmDown; diff --git a/packages/utils/src/roundMmUp.js b/packages/utils/src/roundMmUp.js deleted file mode 100644 index 6ec19fd3d1d..00000000000 --- a/packages/utils/src/roundMmUp.js +++ /dev/null @@ -1,10 +0,0 @@ -import smallestImperialStep from "./smallestImperialStep"; - -const roundMmUp = (val, units) => { - if (units === "imperial") - return val - (val % smallestImperialStep); - else - return Math.ceil(val * 10) / 10; -}; - -export default roundMmUp; diff --git a/packages/utils/src/roundMmUp/index.js b/packages/utils/src/roundMmUp/index.js new file mode 100644 index 00000000000..2d5f8446a1e --- /dev/null +++ b/packages/utils/src/roundMmUp/index.js @@ -0,0 +1,8 @@ +import smallestImperialStep from "../smallestImperialStep"; + +const roundMmUp = (val, units) => { + if (units === "imperial") return val - (val % smallestImperialStep); + else return Math.ceil(val * 10) / 10; +}; + +export default roundMmUp; diff --git a/packages/utils/src/sliderStep.js b/packages/utils/src/sliderStep/index.js similarity index 100% rename from packages/utils/src/sliderStep.js rename to packages/utils/src/sliderStep/index.js diff --git a/packages/utils/src/smallestImperialStep.js b/packages/utils/src/smallestImperialStep/index.js similarity index 100% rename from packages/utils/src/smallestImperialStep.js rename to packages/utils/src/smallestImperialStep/index.js diff --git a/packages/utils/src/storage.js b/packages/utils/src/storage/index.js similarity index 100% rename from packages/utils/src/storage.js rename to packages/utils/src/storage/index.js diff --git a/packages/utils/src/tiler.js b/packages/utils/src/tiler/index.js similarity index 100% rename from packages/utils/src/tiler.js rename to packages/utils/src/tiler/index.js diff --git a/packages/utils/src/validateEmail.js b/packages/utils/src/validateEmail/index.js similarity index 100% rename from packages/utils/src/validateEmail.js rename to packages/utils/src/validateEmail/index.js diff --git a/packages/utils/src/validateTld.js b/packages/utils/src/validateTld/index.js similarity index 100% rename from packages/utils/src/validateTld.js rename to packages/utils/src/validateTld/index.js