chore(utils): Migrated to esbuild & removed legacy devenv
This commit is contained in:
parent
5f3e001bfe
commit
fb858eb45b
3 changed files with 75 additions and 49 deletions
68
packages/utils/build.js
Normal file
68
packages/utils/build.js
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
/* This script will build the various components 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/backend/index.js',
|
||||||
|
'./src/camelCase/index.js',
|
||||||
|
'./src/capitalize/index.js',
|
||||||
|
'./src/cloneObject/index.js',
|
||||||
|
'./src/convertSize/index.js',
|
||||||
|
'./src/defaultGist/index.js',
|
||||||
|
'./src/defaultSa/index.js',
|
||||||
|
'./src/formatImperial/index.js',
|
||||||
|
'./src/formatMm/index.js',
|
||||||
|
'./src/isDegMeasurement/index.js',
|
||||||
|
'./src/measurementAsMm/index.js',
|
||||||
|
'./src/measurementDiffers/index.js',
|
||||||
|
'./src/neckstimate/index.js',
|
||||||
|
'./src/optionDefault/index.js',
|
||||||
|
'./src/optionType/index.js',
|
||||||
|
'./src/roundMm/index.js',
|
||||||
|
'./src/roundMmDown/index.js',
|
||||||
|
'./src/roundMmUp/index.js',
|
||||||
|
'./src/sliderStep/index.js',
|
||||||
|
'./src/smallestImperialStep/index.js',
|
||||||
|
'./src/storage/index.js',
|
||||||
|
'./src/tiler/index.js',
|
||||||
|
'./src/validateEmail/index.js',
|
||||||
|
'./src/validateTld/index.js',
|
||||||
|
],
|
||||||
|
external: [
|
||||||
|
"@freesewing",
|
||||||
|
"axios",
|
||||||
|
],
|
||||||
|
format: 'cjs',
|
||||||
|
metafile: process.env.VERBOSE ? true : false,
|
||||||
|
minify: process.env.NO_MINIFY ? false : true,
|
||||||
|
loader: { '.js': 'jsx' },
|
||||||
|
outdir: './',
|
||||||
|
sourcemap: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Let esbuild do its thing
|
||||||
|
// Only generating CJS since this will be dropped in v3
|
||||||
|
let result
|
||||||
|
(async () => {
|
||||||
|
result = await esbuild
|
||||||
|
.build(options)
|
||||||
|
.catch(() => process.exit(1))
|
||||||
|
|
||||||
|
if (process.env.VERBOSE) {
|
||||||
|
const info = await esbuild.analyzeMetafile(result.metafile)
|
||||||
|
console.log(info)
|
||||||
|
}
|
||||||
|
})()
|
|
@ -24,14 +24,13 @@
|
||||||
],
|
],
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"clean": "rimraf dist",
|
"clean": "rimraf backend && rimraf camelCase && rimraf capitalize && rimraf cloneObject && rimraf convertSize && rimraf defaultGist && rimraf defaultSa && rimraf formatImperial && rimraf formatMm && rimraf isDegMeasurement && rimraf measurementAsMm && rimraf measurementDiffers && rimraf neckstimate && rimraf optionDefault && rimraf optionType && rimraf roundMm && rimraf roundMmDown && rimraf roundMmUp && rimraf sliderStep && rimraf smallestImperialStep && rimraf storage && rimraf tiler && rimraf validateEmail && rimraf validateTld",
|
||||||
"build": "rollup -c",
|
"build": "node build.js",
|
||||||
"cibuild_step1": "rollup -c",
|
"mbuild": "NO_MINIFY=1 node build.js",
|
||||||
|
"vbuild": "VERBOSE=1 node build.js",
|
||||||
|
"cibuild_step1": "node build.js",
|
||||||
"test": "echo \"utils: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
"test": "echo \"utils: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||||
"pubtest": "npm publish --registry http://localhost:6662",
|
"symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -"
|
||||||
"pubforce": "npm publish",
|
|
||||||
"symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -",
|
|
||||||
"start": "rollup -c -w"
|
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"tlds": "^1.221.1",
|
"tlds": "^1.221.1",
|
||||||
|
@ -70,10 +69,7 @@
|
||||||
"tag": "latest"
|
"tag": "latest"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12.0.0",
|
"node": ">=14.0.0",
|
||||||
"npm": ">=6"
|
"npm": ">=6"
|
||||||
},
|
|
||||||
"rollup": {
|
|
||||||
"exports": "default"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
import babel from '@rollup/plugin-babel'
|
|
||||||
import resolve from '@rollup/plugin-node-resolve'
|
|
||||||
import json from '@rollup/plugin-json'
|
|
||||||
import peerDepsExternal from 'rollup-plugin-peer-deps-external'
|
|
||||||
import { name, version, description, author, license } from './package.json'
|
|
||||||
import utils from './src/index.js'
|
|
||||||
|
|
||||||
const 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: {
|
|
||||||
banner,
|
|
||||||
file: `./${util}/index` + (module ? '.mjs' : '.js'),
|
|
||||||
format: module ? 'es' : 'cjs',
|
|
||||||
sourcemap: true,
|
|
||||||
exports: 'default'
|
|
||||||
},
|
|
||||||
plugins: [
|
|
||||||
babel({
|
|
||||||
exclude: 'node_modules/**',
|
|
||||||
babelHelpers: 'bundled'
|
|
||||||
}),
|
|
||||||
peerDepsExternal(),
|
|
||||||
resolve({ modulesOnly: true }),
|
|
||||||
json(),
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const config = []
|
|
||||||
for (let util of utils) {
|
|
||||||
config.push(createConfig(util, false))
|
|
||||||
// Using .mjs causes problems. See #1079
|
|
||||||
//config.push(createConfig(util, true));
|
|
||||||
}
|
|
||||||
export default config
|
|
Loading…
Add table
Add a link
Reference in a new issue