Skip to content

Commit f5a00ce

Browse files
committed
build(rollup): refactor config and colorize copied files console logs
1 parent 753a1a7 commit f5a00ce

File tree

3 files changed

+62
-65
lines changed

3 files changed

+62
-65
lines changed

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424
"devDependencies": {
2525
"@types/express": "^4.16.1",
2626
"@types/http-status-codes": "^1.2.0",
27+
"colorette": "^1.1.0",
2728
"husky": "^2.3.0",
29+
"pretty-ms": "^6.0.1",
2830
"rollup": "^1.12.3",
2931
"rollup-plugin-async": "^1.2.0",
3032
"rollup-plugin-commonjs": "^10.0.0",

rollup.config.js

Lines changed: 43 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import fs from 'fs';
2+
import ms from 'pretty-ms';
3+
import color from 'colorette';
24
import resolve from 'rollup-plugin-node-resolve';
35
import commonjs from 'rollup-plugin-commonjs';
46
import typescript from 'rollup-plugin-typescript2';
@@ -7,6 +9,12 @@ import sourceMaps from 'rollup-plugin-sourcemaps';
79

810
import pkg from './package.json';
911

12+
const inputDir = 'src';
13+
const inputFiles = fs.readdirSync(inputDir).map(file => `${inputDir}/${file}`);
14+
const otherFiles = ['CHANGELOG.md', 'LICENSE', 'package.json', 'README.md'];
15+
const outputDir = 'dist';
16+
const outputFormat = 'cjs';
17+
const outputSourcemap = true;
1018
const common = {
1119
external: [
1220
...Object.keys(pkg.dependencies || {}),
@@ -15,78 +23,48 @@ const common = {
1523
plugins: [
1624
resolve(),
1725
commonjs(),
18-
typescript({ useTsconfigDeclarationDir: true, rollupCommonJSResolveHack: true }),
26+
typescript({
27+
useTsconfigDeclarationDir: true,
28+
rollupCommonJSResolveHack: true,
29+
}),
1930
async(),
2031
sourceMaps(),
2132
],
2233
};
2334

24-
(() => {
25-
const dir = 'dist';
26-
const files = ['CHANGELOG.md', 'LICENSE', 'package.json', 'README.md'];
35+
(function() {
36+
const start = Date.now();
2737

28-
fs.mkdirSync(dir);
29-
files.map((file) => {
30-
fs.writeFileSync(`${dir}/${file}`, fs.readFileSync(file, 'utf-8'), 'utf-8');
38+
fs.mkdirSync(outputDir);
39+
otherFiles.map(file => {
40+
fs.writeFileSync(
41+
`${outputDir}/${file}`,
42+
fs.readFileSync(file, 'utf-8'),
43+
'utf-8',
44+
);
3145

32-
console.info(`${file}${dir}/${file}`);
46+
console.log(
47+
color.cyan(`${color.bold(file)}${color.bold(outputDir)}...`),
48+
);
3349
});
50+
51+
console.log(
52+
color.greenBright(
53+
`created ${color.bold(outputDir)} in ${color.bold(
54+
ms(Date.now() - start),
55+
)}`,
56+
),
57+
);
3458
})();
3559

36-
export default [
37-
{
38-
...common,
39-
input: 'src/error.ts',
40-
output: [
41-
{
42-
dir: 'dist',
43-
format: 'cjs',
44-
sourcemap: true,
45-
},
46-
],
47-
},
48-
{
49-
...common,
50-
input: 'src/errorHandler.ts',
51-
output: [
52-
{
53-
dir: 'dist',
54-
format: 'cjs',
55-
sourcemap: true,
56-
},
57-
],
58-
},
59-
{
60-
...common,
61-
input: 'src/express.ts',
62-
output: [
63-
{
64-
dir: 'dist',
65-
format: 'cjs',
66-
sourcemap: true,
67-
},
68-
],
69-
},
70-
{
71-
...common,
72-
input: 'src/index.ts',
73-
output: [
74-
{
75-
dir: 'dist',
76-
format: 'cjs',
77-
sourcemap: true,
78-
},
79-
],
80-
},
81-
{
82-
...common,
83-
input: 'src/logger.ts',
84-
output: [
85-
{
86-
dir: 'dist',
87-
format: 'cjs',
88-
sourcemap: true,
89-
},
90-
],
91-
},
92-
];
60+
export default inputFiles.map(inputFile => ({
61+
...common,
62+
input: inputFile,
63+
output: [
64+
{
65+
dir: outputDir,
66+
format: outputFormat,
67+
sourcemap: outputSourcemap,
68+
},
69+
],
70+
}));

yarn.lock

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,11 @@ color-name@1.1.3:
370370
version "1.1.3"
371371
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
372372

373+
colorette@^1.1.0:
374+
version "1.1.0"
375+
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.1.0.tgz#1f943e5a357fac10b4e0f5aaef3b14cdc1af6ec7"
376+
integrity sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==
377+
373378
commander@^2.12.1:
374379
version "2.20.0"
375380
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
@@ -1782,6 +1787,11 @@ parse-json@^5.0.0:
17821787
json-parse-better-errors "^1.0.1"
17831788
lines-and-columns "^1.1.6"
17841789

1790+
parse-ms@^2.1.0:
1791+
version "2.1.0"
1792+
resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d"
1793+
integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==
1794+
17851795
parseurl@~1.3.3:
17861796
version "1.3.3"
17871797
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
@@ -1874,6 +1884,13 @@ posix-character-classes@^0.1.0:
18741884
version "0.1.1"
18751885
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
18761886

1887+
pretty-ms@^6.0.1:
1888+
version "6.0.1"
1889+
resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-6.0.1.tgz#03ec6cfee20329f142645e63efad96bb775d3da4"
1890+
integrity sha512-ke4njoVmlotekHlHyCZ3wI/c5AMT8peuHs8rKJqekj/oR5G8lND2dVpicFlUz5cbZgE290vvkMuDwfj/OcW1kw==
1891+
dependencies:
1892+
parse-ms "^2.1.0"
1893+
18771894
process-nextick-args@~2.0.0:
18781895
version "2.0.1"
18791896
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"

0 commit comments

Comments
 (0)