diff options
| author | XhmikosR <[email protected]> | 2023-08-06 07:37:24 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-08-06 07:37:24 +0300 |
| commit | 56664e0caa09fe49c6a17ffd9c21909b2380a8a8 (patch) | |
| tree | 3280d547c26dd94532703c7e634add9c5d845622 /build | |
| parent | 0fe3dd93f26187cf7f6fd8df38fc3e9348ca2fd0 (diff) | |
| download | bootstrap-56664e0caa09fe49c6a17ffd9c21909b2380a8a8.tar.xz bootstrap-56664e0caa09fe49c6a17ffd9c21909b2380a8a8.zip | |
Convert build scripts to ESM (#38984)
Diffstat (limited to 'build')
| -rw-r--r-- | build/banner.mjs (renamed from build/banner.js) | 11 | ||||
| -rw-r--r-- | build/build-plugins.mjs (renamed from build/build-plugins.js) | 16 | ||||
| -rw-r--r-- | build/change-version.mjs (renamed from build/change-version.js) | 9 | ||||
| -rw-r--r-- | build/generate-sri.mjs (renamed from build/generate-sri.js) | 17 | ||||
| -rw-r--r-- | build/postcss.config.mjs (renamed from build/postcss.config.js) | 4 | ||||
| -rw-r--r-- | build/rollup.config.mjs (renamed from build/rollup.config.js) | 22 | ||||
| -rw-r--r-- | build/vnu-jar.mjs (renamed from build/vnu-jar.js) | 6 | ||||
| -rw-r--r-- | build/zip-examples.mjs (renamed from build/zip-examples.js) | 11 |
8 files changed, 53 insertions, 43 deletions
diff --git a/build/banner.js b/build/banner.mjs index a022f1c48..3fea93c8f 100644 --- a/build/banner.js +++ b/build/banner.mjs @@ -1,6 +1,11 @@ -'use strict' +import fs from 'node:fs/promises' +import path from 'node:path' +import { fileURLToPath } from 'node:url' -const pkg = require('../package.json') +const __dirname = path.dirname(fileURLToPath(import.meta.url)) + +const pkgJson = path.join(__dirname, '../package.json') +const pkg = JSON.parse(await fs.readFile(pkgJson, 'utf8')) const year = new Date().getFullYear() @@ -12,4 +17,4 @@ function getBanner(pluginFilename) { */` } -module.exports = getBanner +export default getBanner diff --git a/build/build-plugins.js b/build/build-plugins.mjs index b2833a3fb..77e63070c 100644 --- a/build/build-plugins.js +++ b/build/build-plugins.mjs @@ -6,13 +6,15 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ -'use strict' +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import { babel } from '@rollup/plugin-babel' +import globby from 'globby' +import { rollup } from 'rollup' +import banner from './banner.mjs' -const path = require('node:path') -const rollup = require('rollup') -const globby = require('globby') -const { babel } = require('@rollup/plugin-babel') -const banner = require('./banner.js') +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(fileURLToPath(import.meta.url)) const sourcePath = path.resolve(__dirname, '../js/src/').replace(/\\/g, '/') const jsFiles = globby.sync(`${sourcePath}/**/*.js`) @@ -37,7 +39,7 @@ for (const file of jsFiles) { const build = async plugin => { const globals = {} - const bundle = await rollup.rollup({ + const bundle = await rollup({ input: plugin.src, plugins: [ babel({ diff --git a/build/change-version.js b/build/change-version.mjs index 9685df589..2a16f2f21 100644 --- a/build/change-version.js +++ b/build/change-version.mjs @@ -6,11 +6,12 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ -'use strict' +import fs from 'node:fs/promises' +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import globby from 'globby' -const fs = require('node:fs').promises -const path = require('node:path') -const globby = require('globby') +const __dirname = path.dirname(fileURLToPath(import.meta.url)) const VERBOSE = process.argv.includes('--verbose') const DRY_RUN = process.argv.includes('--dry') || process.argv.includes('--dry-run') diff --git a/build/generate-sri.js b/build/generate-sri.mjs index 2e2292475..e2b1554f1 100644 --- a/build/generate-sri.js +++ b/build/generate-sri.mjs @@ -9,12 +9,13 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ -'use strict' +import crypto from 'node:crypto' +import fs from 'node:fs' +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import sh from 'shelljs' -const crypto = require('node:crypto') -const fs = require('node:fs') -const path = require('node:path') -const sh = require('shelljs') +const __dirname = path.dirname(fileURLToPath(import.meta.url)) sh.config.fatal = true @@ -52,9 +53,9 @@ for (const { file, configPropertyName } of files) { throw error } - const algo = 'sha384' - const hash = crypto.createHash(algo).update(data, 'utf8').digest('base64') - const integrity = `${algo}-${hash}` + const algorithm = 'sha384' + const hash = crypto.createHash(algorithm).update(data, 'utf8').digest('base64') + const integrity = `${algorithm}-${hash}` console.log(`${configPropertyName}: ${integrity}`) diff --git a/build/postcss.config.js b/build/postcss.config.mjs index 7f8186d10..7717cfc3f 100644 --- a/build/postcss.config.js +++ b/build/postcss.config.mjs @@ -1,12 +1,10 @@ -'use strict' - const mapConfig = { inline: false, annotation: true, sourcesContent: true } -module.exports = context => { +export default context => { return { map: context.file.dirname.includes('examples') ? false : mapConfig, plugins: { diff --git a/build/rollup.config.js b/build/rollup.config.mjs index f01918ebf..dd6c7d13e 100644 --- a/build/rollup.config.js +++ b/build/rollup.config.mjs @@ -1,15 +1,17 @@ -'use strict' +import path from 'node:path' +import process from 'node:process' +import { fileURLToPath } from 'node:url' +import { babel } from '@rollup/plugin-babel' +import { nodeResolve } from '@rollup/plugin-node-resolve' +import replace from '@rollup/plugin-replace' +import banner from './banner.mjs' -const path = require('node:path') -const { babel } = require('@rollup/plugin-babel') -const { nodeResolve } = require('@rollup/plugin-node-resolve') -const replace = require('@rollup/plugin-replace') -const banner = require('./banner.js') +const __dirname = path.dirname(fileURLToPath(import.meta.url)) const BUNDLE = process.env.BUNDLE === 'true' const ESM = process.env.ESM === 'true' -let fileDestination = `bootstrap${ESM ? '.esm' : ''}` +let destinationFile = `bootstrap${ESM ? '.esm' : ''}` const external = ['@popperjs/core'] const plugins = [ babel({ @@ -24,7 +26,7 @@ const globals = { } if (BUNDLE) { - fileDestination += '.bundle' + destinationFile += '.bundle' // Remove last entry in external array to bundle Popper external.pop() delete globals['@popperjs/core'] @@ -41,7 +43,7 @@ const rollupConfig = { input: path.resolve(__dirname, `../js/index.${ESM ? 'esm' : 'umd'}.js`), output: { banner: banner(), - file: path.resolve(__dirname, `../dist/js/${fileDestination}.js`), + file: path.resolve(__dirname, `../dist/js/${destinationFile}.js`), format: ESM ? 'esm' : 'umd', globals, generatedCode: 'es2015' @@ -54,4 +56,4 @@ if (!ESM) { rollupConfig.output.name = 'bootstrap' } -module.exports = rollupConfig +export default rollupConfig diff --git a/build/vnu-jar.js b/build/vnu-jar.mjs index 22956cb7e..b66356032 100644 --- a/build/vnu-jar.js +++ b/build/vnu-jar.mjs @@ -6,10 +6,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ -'use strict' - -const { execFile, spawn } = require('node:child_process') -const vnu = require('vnu-jar') +import { execFile, spawn } from 'node:child_process' +import vnu from 'vnu-jar' execFile('java', ['-version'], (error, stdout, stderr) => { if (error) { diff --git a/build/zip-examples.js b/build/zip-examples.mjs index 7378c33c1..6b44d45b1 100644 --- a/build/zip-examples.js +++ b/build/zip-examples.mjs @@ -7,12 +7,15 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ -'use strict' +import fs from 'node:fs/promises' +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import sh from 'shelljs' -const path = require('node:path') -const sh = require('shelljs') +const __dirname = path.dirname(fileURLToPath(import.meta.url)) -const pkg = require('../package.json') +const pkgJson = path.join(__dirname, '../package.json') +const pkg = JSON.parse(await fs.readFile(pkgJson, 'utf8')) const versionShort = pkg.config.version_short const distFolder = `bootstrap-${pkg.version}-examples` |
