fix(build): update rollup config from template
This commit is contained in:
parent
91fb1aff34
commit
80d3cb8903
3
Makefile
3
Makefile
|
@ -14,7 +14,10 @@ export DOCS_PATH ?= $(ROOT_PATH)/docs
|
||||||
export SCRIPT_PATH ?= $(ROOT_PATH)/scripts
|
export SCRIPT_PATH ?= $(ROOT_PATH)/scripts
|
||||||
export SOURCE_PATH ?= $(ROOT_PATH)/src
|
export SOURCE_PATH ?= $(ROOT_PATH)/src
|
||||||
export TARGET_PATH ?= $(ROOT_PATH)/out
|
export TARGET_PATH ?= $(ROOT_PATH)/out
|
||||||
|
export TARGET_LOG ?= $(TARGET_PATH)/make.log
|
||||||
|
export TARGET_MAIN ?= $(TARGET_PATH)/index.js
|
||||||
export TEST_PATH ?= $(ROOT_PATH)/test
|
export TEST_PATH ?= $(ROOT_PATH)/test
|
||||||
|
export VENDOR_PATH ?= $(ROOT_PATH)/vendor
|
||||||
|
|
||||||
# CI
|
# CI
|
||||||
export CI_COMMIT_REF_SLUG ?= $(GIT_BRANCH)
|
export CI_COMMIT_REF_SLUG ?= $(GIT_BRANCH)
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"names": [
|
||||||
|
"async_hooks",
|
||||||
|
"chai",
|
||||||
|
"dtrace-provider",
|
||||||
|
"sinon"
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
{}
|
|
@ -0,0 +1,37 @@
|
||||||
|
{
|
||||||
|
"node_modules/chai/index.js": [
|
||||||
|
"expect",
|
||||||
|
"use"
|
||||||
|
],
|
||||||
|
"node_modules/deep-diff/index.js": [
|
||||||
|
"applyDiff",
|
||||||
|
"diff"
|
||||||
|
],
|
||||||
|
"node_modules/lodash/lodash.js": [
|
||||||
|
"cloneDeep",
|
||||||
|
"defaultTo",
|
||||||
|
"intersection",
|
||||||
|
"isNil",
|
||||||
|
"isString",
|
||||||
|
"kebabCase"
|
||||||
|
],
|
||||||
|
"node_modules/noicejs/out/main-bundle.js": [
|
||||||
|
"BaseError",
|
||||||
|
"ConsoleLogger",
|
||||||
|
"NullLogger",
|
||||||
|
"logWithLevel"
|
||||||
|
],
|
||||||
|
"node_modules/js-yaml/index.js": [
|
||||||
|
"DEFAULT_SAFE_SCHEMA",
|
||||||
|
"SAFE_SCHEMA",
|
||||||
|
"safeDump",
|
||||||
|
"safeLoad",
|
||||||
|
"safeLoadAll",
|
||||||
|
"Schema",
|
||||||
|
"Type"
|
||||||
|
],
|
||||||
|
"node_modules/yargs/index.js": [
|
||||||
|
"showCompletionScript",
|
||||||
|
"usage"
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"names": []
|
||||||
|
}
|
116
config/rollup.js
116
config/rollup.js
|
@ -1,54 +1,84 @@
|
||||||
|
import { join, sep } from 'path';
|
||||||
import commonjs from 'rollup-plugin-commonjs';
|
import commonjs from 'rollup-plugin-commonjs';
|
||||||
import { eslint } from 'rollup-plugin-eslint';
|
import { eslint } from 'rollup-plugin-eslint';
|
||||||
import json from 'rollup-plugin-json';
|
import json from 'rollup-plugin-json';
|
||||||
import multiEntry from 'rollup-plugin-multi-entry';
|
import multiEntry from 'rollup-plugin-multi-entry';
|
||||||
|
import externals from 'rollup-plugin-node-externals';
|
||||||
import resolve from 'rollup-plugin-node-resolve';
|
import resolve from 'rollup-plugin-node-resolve';
|
||||||
import replace from 'rollup-plugin-replace';
|
import replace from 'rollup-plugin-replace';
|
||||||
import typescript from 'rollup-plugin-typescript2';
|
import typescript from 'rollup-plugin-typescript2';
|
||||||
|
import yaml from 'rollup-plugin-yaml';
|
||||||
|
|
||||||
|
const debug = process.env['DEBUG'] === 'TRUE';
|
||||||
const metadata = require('../package.json');
|
const metadata = require('../package.json');
|
||||||
const shebang = '#! /usr/bin/env node';
|
|
||||||
|
const external = require('./rollup-external.json').names;
|
||||||
|
const globals = require('./rollup-globals.json');
|
||||||
|
const namedExports = require('./rollup-named.json');
|
||||||
|
const stubNames = require('./rollup-stub.json').names;
|
||||||
|
|
||||||
|
const passStub = 'require("pass-stub")';
|
||||||
|
const stubs = stubNames.reduce((p, c) => (p[c] = passStub, p), {});
|
||||||
|
|
||||||
|
const rootPath = process.env['ROOT_PATH'];
|
||||||
|
const targetPath = process.env['TARGET_PATH'];
|
||||||
|
|
||||||
const bundle = {
|
const bundle = {
|
||||||
external: [
|
external,
|
||||||
'chai',
|
input: {
|
||||||
'dtrace-provider',
|
include: [
|
||||||
],
|
join(rootPath, 'src', 'index.ts'),
|
||||||
input: [
|
join(rootPath, 'test', 'harness.ts'),
|
||||||
'src/index.ts',
|
join(rootPath, 'test', '**', 'Test*.ts'),
|
||||||
'test/harness.ts',
|
|
||||||
'test/**/Test*.ts',
|
|
||||||
],
|
],
|
||||||
|
},
|
||||||
manualChunks(id) {
|
manualChunks(id) {
|
||||||
if (id.includes('/test/') /* || id.includes('/chai/') */ || id.includes('/sinon/')) {
|
if (id.includes(`${sep}test${sep}`)) {
|
||||||
return 'test'
|
return 'test';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (id.includes('/node_modules/')) {
|
if (id.match(/commonjs-external/i) || id.match(/commonjsHelpers/)) {
|
||||||
return 'vendor';
|
return 'vendor';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (id.includes('/src/index')) {
|
if (id.includes(`${sep}node_modules${sep}`)) {
|
||||||
|
return 'vendor';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (id.includes(`${sep}src${sep}index`)) {
|
||||||
return 'index';
|
return 'index';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (id.includes('/src/')) {
|
if (id.includes(`${sep}src${sep}`)) {
|
||||||
return 'main';
|
return 'main';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
output: {
|
output: {
|
||||||
dir: 'out/',
|
dir: targetPath,
|
||||||
chunkFileNames: '[name].js',
|
chunkFileNames: '[name].js',
|
||||||
entryFileNames: 'entry-[name].js',
|
entryFileNames: 'entry-[name].js',
|
||||||
format: 'cjs',
|
format: 'cjs',
|
||||||
|
globals,
|
||||||
sourcemap: true,
|
sourcemap: true,
|
||||||
banner: () => {
|
|
||||||
return shebang + '\n\n';
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
multiEntry(),
|
multiEntry(),
|
||||||
json(),
|
json(),
|
||||||
|
yaml(),
|
||||||
|
externals({
|
||||||
|
builtins: true,
|
||||||
|
deps: true,
|
||||||
|
devDeps: false,
|
||||||
|
peerDeps: false,
|
||||||
|
}),
|
||||||
|
replace({
|
||||||
|
delimiters: ['require("', '")'],
|
||||||
|
values: stubs,
|
||||||
|
}),
|
||||||
|
replace({
|
||||||
|
delimiters: ['require(\'', '\')'],
|
||||||
|
values: stubs,
|
||||||
|
}),
|
||||||
replace({
|
replace({
|
||||||
delimiters: ['{{ ', ' }}'],
|
delimiters: ['{{ ', ' }}'],
|
||||||
values: {
|
values: {
|
||||||
|
@ -65,49 +95,23 @@ const bundle = {
|
||||||
preferBuiltins: true,
|
preferBuiltins: true,
|
||||||
}),
|
}),
|
||||||
commonjs({
|
commonjs({
|
||||||
namedExports: {
|
namedExports,
|
||||||
'node_modules/chai/index.js': [
|
|
||||||
'expect',
|
|
||||||
],
|
|
||||||
'node_modules/deep-diff/index.js': [
|
|
||||||
'applyDiff',
|
|
||||||
'diff',
|
|
||||||
],
|
|
||||||
'node_modules/lodash/lodash.js': [
|
|
||||||
'cloneDeep',
|
|
||||||
'defaultTo',
|
|
||||||
'intersection',
|
|
||||||
'isNil',
|
|
||||||
'isString',
|
|
||||||
'kebabCase',
|
|
||||||
],
|
|
||||||
'node_modules/noicejs/out/main-bundle.js': [
|
|
||||||
'BaseError',
|
|
||||||
'ConsoleLogger',
|
|
||||||
'NullLogger',
|
|
||||||
'logWithLevel',
|
|
||||||
],
|
|
||||||
'node_modules/js-yaml/index.js': [
|
|
||||||
'DEFAULT_SAFE_SCHEMA',
|
|
||||||
'SAFE_SCHEMA',
|
|
||||||
'safeDump',
|
|
||||||
'safeLoad',
|
|
||||||
'safeLoadAll',
|
|
||||||
'Schema',
|
|
||||||
'Type',
|
|
||||||
],
|
|
||||||
'node_modules/yargs/index.js': [
|
|
||||||
'showCompletionScript',
|
|
||||||
'usage',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
eslint({
|
eslint({
|
||||||
configFile: './config/eslint.json',
|
configFile: join('.', 'config', 'eslint.json'),
|
||||||
|
exclude: [
|
||||||
|
join('node_modules', '**'),
|
||||||
|
join('src', 'resource'),
|
||||||
|
join('src', '**', '*.json'),
|
||||||
|
join('src', '**', '*.yml'),
|
||||||
|
],
|
||||||
|
include: [
|
||||||
|
join('**', '*.ts'),
|
||||||
|
],
|
||||||
throwOnError: true,
|
throwOnError: true,
|
||||||
}),
|
}),
|
||||||
typescript({
|
typescript({
|
||||||
cacheRoot: 'out/cache/rts2',
|
cacheRoot: join(targetPath, 'cache', 'rts2'),
|
||||||
rollupCommonJSResolveHack: true,
|
rollupCommonJSResolveHack: true,
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
|
|
|
@ -73,10 +73,12 @@
|
||||||
"rollup-plugin-eslint": "7.0.0",
|
"rollup-plugin-eslint": "7.0.0",
|
||||||
"rollup-plugin-json": "4.0.0",
|
"rollup-plugin-json": "4.0.0",
|
||||||
"rollup-plugin-multi-entry": "2.1.0",
|
"rollup-plugin-multi-entry": "2.1.0",
|
||||||
|
"rollup-plugin-node-externals": "^2.1.2",
|
||||||
"rollup-plugin-node-resolve": "5.2.0",
|
"rollup-plugin-node-resolve": "5.2.0",
|
||||||
"rollup-plugin-replace": "2.2.0",
|
"rollup-plugin-replace": "2.2.0",
|
||||||
"rollup-plugin-tslint": "0.2.2",
|
"rollup-plugin-tslint": "0.2.2",
|
||||||
"rollup-plugin-typescript2": "0.25.2",
|
"rollup-plugin-typescript2": "0.25.2",
|
||||||
|
"rollup-plugin-yaml": "^2.0.0",
|
||||||
"sinon": "7.5.0",
|
"sinon": "7.5.0",
|
||||||
"sinon-chai": "3.3.0",
|
"sinon-chai": "3.3.0",
|
||||||
"source-map-support": "0.5.16",
|
"source-map-support": "0.5.16",
|
||||||
|
|
24
yarn.lock
24
yarn.lock
|
@ -2959,7 +2959,7 @@ rollup-plugin-eslint@7.0.0:
|
||||||
eslint "^6.0.0"
|
eslint "^6.0.0"
|
||||||
rollup-pluginutils "^2.7.1"
|
rollup-pluginutils "^2.7.1"
|
||||||
|
|
||||||
rollup-plugin-json@4.0.0:
|
rollup-plugin-json@4.0.0, rollup-plugin-json@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-plugin-json/-/rollup-plugin-json-4.0.0.tgz#a18da0a4b30bf5ca1ee76ddb1422afbb84ae2b9e"
|
resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-plugin-json/-/rollup-plugin-json-4.0.0.tgz#a18da0a4b30bf5ca1ee76ddb1422afbb84ae2b9e"
|
||||||
integrity sha512-hgb8N7Cgfw5SZAkb3jf0QXii6QX/FOkiIq2M7BAQIEydjHvTyxXHQiIzZaTFgx1GK0cRCHOCBHIyEkkLdWKxow==
|
integrity sha512-hgb8N7Cgfw5SZAkb3jf0QXii6QX/FOkiIq2M7BAQIEydjHvTyxXHQiIzZaTFgx1GK0cRCHOCBHIyEkkLdWKxow==
|
||||||
|
@ -2973,6 +2973,11 @@ rollup-plugin-multi-entry@2.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
matched "^1.0.2"
|
matched "^1.0.2"
|
||||||
|
|
||||||
|
rollup-plugin-node-externals@^2.1.2:
|
||||||
|
version "2.1.2"
|
||||||
|
resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-plugin-node-externals/-/rollup-plugin-node-externals-2.1.2.tgz#13d15abad2a123b614bdd4908097e88753a98e54"
|
||||||
|
integrity sha512-8YhU16BuONV8aubHx59tYbLFgw/oP+pb4Tzdh2h62OaaBR16Kb0mXEpAmlBs7TNc8xtT0JzGaslUjxBzO03mgw==
|
||||||
|
|
||||||
rollup-plugin-node-resolve@5.2.0:
|
rollup-plugin-node-resolve@5.2.0:
|
||||||
version "5.2.0"
|
version "5.2.0"
|
||||||
resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523"
|
resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523"
|
||||||
|
@ -3012,6 +3017,16 @@ rollup-plugin-typescript2@0.25.2:
|
||||||
rollup-pluginutils "2.8.1"
|
rollup-pluginutils "2.8.1"
|
||||||
tslib "1.10.0"
|
tslib "1.10.0"
|
||||||
|
|
||||||
|
rollup-plugin-yaml@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-plugin-yaml/-/rollup-plugin-yaml-2.0.0.tgz#80a67b59e00f010f5f2a2bb6fa70aad4718f85f8"
|
||||||
|
integrity sha512-aBfREZIkvKjfwHbcpqVsst0iB2PvsdEpvGNw02N2kQ8rOP7ZClZDpxwylkpcmO9/xgD2uInA/AY3mGursT37zw==
|
||||||
|
dependencies:
|
||||||
|
js-yaml "^3.13.1"
|
||||||
|
rollup-plugin-json "^4.0.0"
|
||||||
|
rollup-pluginutils "^2.8.2"
|
||||||
|
tosource "^1.0.0"
|
||||||
|
|
||||||
rollup-pluginutils@2.8.1:
|
rollup-pluginutils@2.8.1:
|
||||||
version "2.8.1"
|
version "2.8.1"
|
||||||
resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97"
|
resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97"
|
||||||
|
@ -3019,7 +3034,7 @@ rollup-pluginutils@2.8.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
estree-walker "^0.6.1"
|
estree-walker "^0.6.1"
|
||||||
|
|
||||||
rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.7.1, rollup-pluginutils@^2.8.1:
|
rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.7.1, rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2:
|
||||||
version "2.8.2"
|
version "2.8.2"
|
||||||
resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e"
|
resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e"
|
||||||
integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==
|
integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==
|
||||||
|
@ -3430,6 +3445,11 @@ to-fast-properties@^2.0.0:
|
||||||
resolved "https://artifacts.apextoaster.com/repository/group-npm/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
|
resolved "https://artifacts.apextoaster.com/repository/group-npm/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
|
||||||
integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
|
integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
|
||||||
|
|
||||||
|
tosource@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://artifacts.apextoaster.com/repository/group-npm/tosource/-/tosource-1.0.0.tgz#42d88dd116618bcf00d6106dd5446f3427902ff1"
|
||||||
|
integrity sha1-QtiN0RZhi88A1hBt1URvNCeQL/E=
|
||||||
|
|
||||||
trim-newlines@^1.0.0:
|
trim-newlines@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://artifacts.apextoaster.com/repository/group-npm/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
|
resolved "https://artifacts.apextoaster.com/repository/group-npm/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
|
||||||
|
|
Loading…
Reference in New Issue