@vitus-labs/tools-rollup 0.40.0 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/run-build.js CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
- const runBuild = require('../src/scripts/build')
2
+ const runBuild = require('../src')
3
3
 
4
4
  runBuild()
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ sourceDir: 'src',
5
+ outputDir: 'lib',
6
+ typesDir: 'lib/types',
7
+ typescript: true,
8
+ replaceGlobals: true,
9
+ visualise: {
10
+ template: 'network',
11
+ gzipSize: true,
12
+ outputDir: 'analysis',
13
+ },
14
+ filesize: true,
15
+ extensions: ['.json', '.js', '.jsx', '.ts', '.tsx', '.es6', '.es', '.mjs'],
16
+ include: ['src'],
17
+ exclude: [
18
+ 'lib',
19
+ 'node_modules/**',
20
+ '**/__tests__/**',
21
+ '**/__specs__/**',
22
+ '**/__stories__/**',
23
+ '*.test.*',
24
+ '*.spec.*',
25
+ '*.stories.*',
26
+ '*.story.*',
27
+ ],
28
+ globals: {
29
+ react: 'React',
30
+ ReactDOM: 'react-dom',
31
+ styled: 'styled-components',
32
+ },
33
+ };
34
+ //# sourceMappingURL=baseConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseConfig.js","sourceRoot":"","sources":["../../src/config/baseConfig.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE;QACT,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,UAAU;KACtB;IACD,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;IAC1E,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,OAAO,EAAE;QACP,KAAK;QACL,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;QACnB,UAAU;QACV,UAAU;QACV,aAAa;QACb,WAAW;KACZ;IACD,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,mBAAmB;KAC5B;CACF,CAAA"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.rollupConfig = exports.baseConfig = void 0;
7
+ const baseConfig_1 = __importDefault(require("./baseConfig"));
8
+ exports.baseConfig = baseConfig_1.default;
9
+ const rollup_1 = __importDefault(require("./rollup"));
10
+ exports.rollupConfig = rollup_1.default;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAqC;AAG5B,qBAHF,oBAAU,CAGE;AAFnB,sDAAmC;AAEd,uBAFd,gBAAY,CAEc"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // @ts-nocheck
7
+ const rollup_plugin_typescript2_1 = __importDefault(require("rollup-plugin-typescript2"));
8
+ const ttypescript_1 = __importDefault(require("ttypescript"));
9
+ const ts_transform_paths_1 = __importDefault(require("ts-transform-paths"));
10
+ const rollup_plugin_api_extractor_1 = require("rollup-plugin-api-extractor");
11
+ const plugin_node_resolve_1 = require("@rollup/plugin-node-resolve");
12
+ const rollup_plugin_filesize_1 = __importDefault(require("rollup-plugin-filesize"));
13
+ const rollup_plugin_visualizer_1 = require("rollup-plugin-visualizer");
14
+ const plugin_replace_1 = __importDefault(require("@rollup/plugin-replace"));
15
+ const plugin_terser_1 = __importDefault(require("@rollup/plugin-terser"));
16
+ const plugin_babel_1 = __importDefault(require("@rollup/plugin-babel"));
17
+ const baseConfig_1 = __importDefault(require("./baseConfig"));
18
+ const utils_1 = require("../utils");
19
+ const CONFIG = (0, utils_1.loadConfig)(baseConfig_1.default);
20
+ const defineExtensions = (platform) => {
21
+ const platformExtensions = [];
22
+ if (['browser', 'node', 'web', 'native'].includes(platform)) {
23
+ CONFIG.extensions.forEach((item) => {
24
+ platformExtensions.push(`.${platform}${item}`);
25
+ });
26
+ }
27
+ return platformExtensions.concat(CONFIG.extensions);
28
+ };
29
+ const loadPlugins = ({ env, platform, types, file }) => {
30
+ const extensions = defineExtensions(platform);
31
+ const babelConfig = {
32
+ extensions,
33
+ include: [CONFIG.sourceDir],
34
+ exclude: CONFIG.exclude,
35
+ babelHelpers: 'runtime',
36
+ };
37
+ const tsConfig = {
38
+ typescript: ttypescript_1.default,
39
+ transformers: [(service) => (0, ts_transform_paths_1.default)(service)],
40
+ exclude: CONFIG.exclude,
41
+ useTsconfigDeclarationDir: true,
42
+ clean: true,
43
+ tsconfigDefaults: {
44
+ exclude: CONFIG.exclude,
45
+ include: CONFIG.include,
46
+ compilerOptions: {
47
+ types: ['@vitus-labs/tools-rollup'],
48
+ },
49
+ },
50
+ };
51
+ if (types) {
52
+ tsConfig.tsconfigDefaults.compilerOptions.declarationMap = types;
53
+ tsConfig.tsconfigDefaults.compilerOptions.declaration = types;
54
+ tsConfig.tsconfigDefaults.compilerOptions.declarationDir = CONFIG.typesDir;
55
+ }
56
+ const plugins = [(0, plugin_node_resolve_1.nodeResolve)({ extensions, browser: platform === 'browser' })];
57
+ if (CONFIG.typescript) {
58
+ plugins.push((0, rollup_plugin_typescript2_1.default)(tsConfig));
59
+ if (types) {
60
+ plugins.push((0, rollup_plugin_api_extractor_1.apiExtractor)({
61
+ cleanUpRollup: true,
62
+ configuration: {
63
+ mainEntryPointFilePath: `${CONFIG.typesDir}/index.d.ts`,
64
+ projectFolder: process.cwd(),
65
+ compiler: {
66
+ tsconfigFilePath: '<projectFolder>/tsconfig.json',
67
+ },
68
+ dtsRollup: {
69
+ enabled: true,
70
+ untrimmedFilePath: `<projectFolder>${utils_1.PKG.typings || utils_1.PKG.types}`,
71
+ },
72
+ },
73
+ }));
74
+ }
75
+ }
76
+ if (CONFIG.replaceGlobals) {
77
+ const replaceOptions = {
78
+ __VERSION__: JSON.stringify(utils_1.PKG.version),
79
+ __NODE__: JSON.stringify(platform === 'node'),
80
+ __WEB__: JSON.stringify(['node', 'browser', 'universal'].includes(platform)),
81
+ __BROWSER__: JSON.stringify(platform === 'browser'),
82
+ __NATIVE__: JSON.stringify(platform === 'native'),
83
+ __CLIENT__: JSON.stringify(['native', 'browser'].includes(platform)),
84
+ };
85
+ if (env === 'production') {
86
+ replaceOptions['process.env.NODE_ENV'] = JSON.stringify(env);
87
+ }
88
+ plugins.push((0, plugin_replace_1.default)({ preventAssignment: true, values: replaceOptions }));
89
+ }
90
+ plugins.push((0, plugin_babel_1.default)(babelConfig));
91
+ // generate visualised graphs in dist folder
92
+ if (CONFIG.visualise) {
93
+ const filePath = file.split('/');
94
+ const fileName = filePath.pop();
95
+ const visualiserOptions = {
96
+ title: `${utils_1.PKG.name} - ${fileName}`,
97
+ filename: `${filePath.join('/')}/${CONFIG.visualise.outputDir}/${fileName}.html`,
98
+ template: CONFIG.visualise.template,
99
+ gzipSize: CONFIG.visualise.gzipSize,
100
+ };
101
+ plugins.push((0, rollup_plugin_visualizer_1.visualizer)(visualiserOptions));
102
+ }
103
+ if (env === 'production') {
104
+ plugins.push((0, plugin_terser_1.default)());
105
+ }
106
+ if (CONFIG.filesize) {
107
+ plugins.push((0, rollup_plugin_filesize_1.default)());
108
+ }
109
+ return plugins;
110
+ };
111
+ const rollupConfig = ({ file, format, env, types, platform }) => {
112
+ const plugins = loadPlugins({ file, env, types, platform });
113
+ const buildOutput = {
114
+ input: CONFIG.sourceDir,
115
+ output: {
116
+ file,
117
+ format,
118
+ globals: (0, utils_1.swapGlobals)(CONFIG.globals),
119
+ sourcemap: true,
120
+ exports: ['cjs', 'umd'].includes(format) ? 'named' : undefined,
121
+ name: ['umd', 'iife'].includes(format) ? utils_1.PKG.bundleName : undefined,
122
+ },
123
+ external: utils_1.PKG.externalDependencies,
124
+ plugins,
125
+ };
126
+ return buildOutput;
127
+ };
128
+ exports.default = rollupConfig;
129
+ //# sourceMappingURL=rollup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollup.js","sourceRoot":"","sources":["../../src/config/rollup.ts"],"names":[],"mappings":"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"}
package/lib/index.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const build_1 = __importDefault(require("./scripts/build"));
7
+ exports.default = build_1.default;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,4DAAsC;AAEtC,kBAAe,eAAQ,CAAA"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ /* eslint-disable @typescript-eslint/no-var-requires */
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const rimraf_1 = __importDefault(require("rimraf"));
9
+ const rollup_1 = __importDefault(require("rollup"));
10
+ const config_1 = require("../config");
11
+ const utils_1 = require("../utils");
12
+ const utils_2 = __importDefault(require("./utils"));
13
+ const { log } = console;
14
+ const CONFIG = (0, utils_1.loadConfig)(config_1.baseConfig);
15
+ const allBuilds = (0, utils_2.default)();
16
+ // const allBuilds = allBuildOptions.map((item) => rollupConfig(item)).flat()
17
+ const allBuildsCount = allBuilds.length;
18
+ // --------------------------------------------------------
19
+ // BUILD rollup
20
+ // --------------------------------------------------------
21
+ async function build({ inputOptions, outputOptions }) {
22
+ const bundle = await rollup_1.default.rollup(inputOptions);
23
+ await bundle.write(outputOptions);
24
+ }
25
+ // --------------------------------------------------------
26
+ // SERIALIZE ALL BUILDS
27
+ // --------------------------------------------------------
28
+ const createBuilds = async () => {
29
+ let p = Promise.resolve(); // Q() in q
30
+ // serialize builds
31
+ allBuilds.forEach((item, i) => {
32
+ const buildOptions = (0, config_1.rollupConfig)(item);
33
+ // it might be an array for such a cases like typescript optimization file
34
+ // which we want to do in one iteration only
35
+ if (Array.isArray(buildOptions)) {
36
+ const [buildConfig, typescriptConfig] = buildOptions;
37
+ const { output, ...input } = buildConfig;
38
+ const { output: tsOutput, ...tsInput } = typescriptConfig;
39
+ p = p.then(() => {
40
+ log(chalk_1.default.green(`🚧 Creating a build ${i + 1}/${allBuildsCount}`));
41
+ return build({ inputOptions: input, outputOptions: output });
42
+ });
43
+ p = p.then(() => build({ inputOptions: tsInput, outputOptions: tsOutput }));
44
+ }
45
+ else {
46
+ const { output, ...input } = buildOptions;
47
+ p = p.then(() => {
48
+ log(chalk_1.default.green(`🚧 Creating a build ${i + 1}/${allBuildsCount}`));
49
+ return build({ inputOptions: input, outputOptions: output });
50
+ });
51
+ }
52
+ });
53
+ p.catch((e) => {
54
+ log(`${chalk_1.default.bold.bgRed.white('⚠️ ERROR')} ${chalk_1.default.red('Something went wrong')}`);
55
+ log(e);
56
+ });
57
+ return p;
58
+ };
59
+ const runBuild = async () => {
60
+ // --------------------------------------------------------
61
+ // (1) delete build folder first
62
+ // --------------------------------------------------------
63
+ log(`${chalk_1.default.bold.bgBlue.black('[1/4]')} ${chalk_1.default.blue('✂️ Cleaning up old build folder...')}`);
64
+ rimraf_1.default.sync(`${process.cwd()}/${CONFIG.outputDir}`);
65
+ log(`${chalk_1.default.bold.bgBlue.black('[2/4]')} ${chalk_1.default.blue('☑️ Old build removed')}`);
66
+ // --------------------------------------------------------
67
+ // (2) build
68
+ // --------------------------------------------------------
69
+ log(`${chalk_1.default.bold.bgBlue.black('[3/4]')} ${chalk_1.default.blue(`💪 Generating ${allBuildsCount} builds in total...`)}`);
70
+ log('\n');
71
+ await Promise.resolve()
72
+ .then(() => createBuilds())
73
+ .then(() => {
74
+ log(`${chalk_1.default.bold.bgBlue.black('[4/4]')} ${chalk_1.default.blue('🎉 Done!')}`);
75
+ });
76
+ };
77
+ exports.default = runBuild;
78
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/scripts/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // @ts-nocheck
4
+ const utils_1 = require("../utils");
5
+ const shouldBuildNative = utils_1.PKG['react-native'] !== utils_1.PKG.module;
6
+ const shouldGenerateTypes = !!(utils_1.PKG.types || utils_1.PKG.typings);
7
+ const hasDifferentBrowserBuild = (type) => {
8
+ if (!utils_1.PKG.browser)
9
+ return false;
10
+ return Object.entries(utils_1.PKG.browser).some(([key, value]) => {
11
+ const source = key.substring(2);
12
+ const output = value.substring(2);
13
+ return source !== utils_1.PKG[type] && source !== output;
14
+ });
15
+ };
16
+ const BASE_VARIANTS = {
17
+ main: {
18
+ format: 'cjs',
19
+ env: 'development',
20
+ platform: 'universal',
21
+ },
22
+ module: {
23
+ format: 'es',
24
+ env: 'development',
25
+ platform: 'universal',
26
+ },
27
+ 'react-native': {
28
+ format: 'es',
29
+ env: 'development',
30
+ platform: 'native',
31
+ },
32
+ 'umd:main': { format: 'umd', env: 'development' },
33
+ unpkg: { format: 'umd', env: 'production' },
34
+ };
35
+ const getExportsOptions = () => {
36
+ const exportsOptions = utils_1.PKG['exports'];
37
+ if (!exportsOptions)
38
+ return [];
39
+ if (typeof exportsOptions === 'string') {
40
+ return [
41
+ {
42
+ file: utils_1.PKG['exports'],
43
+ ...BASE_VARIANTS['module'],
44
+ },
45
+ ];
46
+ }
47
+ if (typeof exportsOptions === 'object') {
48
+ const result = [];
49
+ if (exportsOptions.import) {
50
+ result.push({
51
+ file: exportsOptions.import,
52
+ ...BASE_VARIANTS['module'],
53
+ });
54
+ }
55
+ if (exportsOptions.require) {
56
+ result.push({
57
+ file: exportsOptions.require,
58
+ ...BASE_VARIANTS['main'],
59
+ });
60
+ }
61
+ if (exportsOptions.node) {
62
+ result.push({
63
+ file: exportsOptions.node,
64
+ ...BASE_VARIANTS['module'],
65
+ platform: 'node',
66
+ });
67
+ }
68
+ if (exportsOptions.default) {
69
+ result.push({
70
+ file: exportsOptions.default,
71
+ ...BASE_VARIANTS['module'],
72
+ });
73
+ }
74
+ return result;
75
+ }
76
+ return [];
77
+ };
78
+ const createBasicBuildVariants = () => {
79
+ const isModule = utils_1.PKG['type'] === 'module';
80
+ let result = [];
81
+ if (isModule)
82
+ result = [...getExportsOptions()];
83
+ Object.keys(BASE_VARIANTS).forEach((key) => {
84
+ const PKGOutDir = utils_1.PKG[key];
85
+ if (PKGOutDir) {
86
+ const hasBrowserBuild = hasDifferentBrowserBuild(key);
87
+ // create a helper function for adding a build variant to an array
88
+ const add = (props = {}) => {
89
+ result.push({ ...BASE_VARIANTS[key], file: PKGOutDir, ...props });
90
+ };
91
+ if (key === 'react-native') {
92
+ // add a separate RN build only if output path differs from module path
93
+ if (shouldBuildNative) {
94
+ add();
95
+ }
96
+ }
97
+ else if (hasBrowserBuild) {
98
+ // if has a different browser build, set default platform to node
99
+ // as there is going to be created a separate browser build as well
100
+ add({ platform: 'node' });
101
+ }
102
+ else {
103
+ add();
104
+ }
105
+ }
106
+ });
107
+ return result;
108
+ };
109
+ const createBrowserBuildVariants = () => {
110
+ const result = [];
111
+ if (!utils_1.PKG.browser)
112
+ return result;
113
+ Object.entries(utils_1.PKG.browser).forEach(([key, value]) => {
114
+ const source = key.substring(2); // strip './' from the beginning of path
115
+ const output = value.substring(2); // strip './' from the beginning of path
116
+ Object.keys(BASE_VARIANTS).forEach((item) => {
117
+ if (utils_1.PKG[item] === source && source !== output) {
118
+ result.push({
119
+ ...BASE_VARIANTS[item],
120
+ file: output,
121
+ platform: 'browser',
122
+ });
123
+ }
124
+ });
125
+ });
126
+ return result;
127
+ };
128
+ const createBuildPipeline = () => {
129
+ const result = [
130
+ ...createBasicBuildVariants(),
131
+ ...createBrowserBuildVariants(),
132
+ ];
133
+ // add generate typings for the first bundle only
134
+ result[0] = { ...result[0], types: shouldGenerateTypes };
135
+ return result;
136
+ };
137
+ exports.default = createBuildPipeline;
138
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/scripts/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ declare const _default: {
2
+ sourceDir: string;
3
+ outputDir: string;
4
+ typesDir: string;
5
+ typescript: boolean;
6
+ replaceGlobals: boolean;
7
+ visualise: {
8
+ template: string;
9
+ gzipSize: boolean;
10
+ outputDir: string;
11
+ };
12
+ filesize: boolean;
13
+ extensions: string[];
14
+ include: string[];
15
+ exclude: string[];
16
+ globals: {
17
+ react: string;
18
+ ReactDOM: string;
19
+ styled: string;
20
+ };
21
+ };
22
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import baseConfig from './baseConfig';
2
+ import rollupConfig from './rollup';
3
+ export { baseConfig, rollupConfig };
@@ -0,0 +1,20 @@
1
+ declare const rollupConfig: ({ file, format, env, types, platform }: {
2
+ file: any;
3
+ format: any;
4
+ env: any;
5
+ types: any;
6
+ platform: any;
7
+ }) => {
8
+ input: any;
9
+ output: {
10
+ file: any;
11
+ format: any;
12
+ globals: {};
13
+ sourcemap: boolean;
14
+ exports: string | undefined;
15
+ name: any;
16
+ };
17
+ external: any;
18
+ plugins: import("rollup").Plugin[];
19
+ };
20
+ export default rollupConfig;
@@ -0,0 +1,2 @@
1
+ import runBuild from './scripts/build';
2
+ export default runBuild;
@@ -0,0 +1,2 @@
1
+ declare const runBuild: () => Promise<void>;
2
+ export default runBuild;
@@ -0,0 +1,2 @@
1
+ declare const createBuildPipeline: () => never[];
2
+ export default createBuildPipeline;
@@ -0,0 +1,5 @@
1
+ export function findFile(filename: any): string | undefined;
2
+ export function loadConfig(config: any): any;
3
+ export function swapGlobals(globals: any): {};
4
+ export declare const PKG: any;
5
+ export declare const CONFIG: any;
package/lib/utils.js ADDED
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // @ts-nocheck
4
+ const fs = require('fs');
5
+ const findUp = require('find-up');
6
+ const merge = require('lodash.merge');
7
+ // --------------------------------------------------------
8
+ // FIND & READ file helpers
9
+ // --------------------------------------------------------
10
+ const findFile = (filename) => findUp.sync(filename, { type: 'file' });
11
+ // const findFilePath = (filename) => findFile(filename).replace(filename, '')
12
+ const fileToJson = (name) => {
13
+ const file = fs.readFileSync(findFile(name)).toString('utf8');
14
+ try {
15
+ const json = JSON.parse(file);
16
+ return json;
17
+ }
18
+ catch (e) {
19
+ console.log(e);
20
+ }
21
+ return {};
22
+ };
23
+ // --------------------------------------------------------
24
+ // GET PACKAGE.JSON info
25
+ // --------------------------------------------------------
26
+ const getPackageJSON = () => {
27
+ const data = fileToJson('package.json');
28
+ return data;
29
+ };
30
+ // --------------------------------------------------------
31
+ // PACKAGE.json parsing functions
32
+ // --------------------------------------------------------
33
+ // GET LIST OF DEPENDENCIES from package.json
34
+ const getDependenciesList = (types) => {
35
+ const pkg = getPackageJSON();
36
+ let result = [];
37
+ types.forEach((item) => {
38
+ const data = pkg[item];
39
+ result = [...result, ...Object.keys(data || {})];
40
+ });
41
+ return result;
42
+ };
43
+ // parse namespace name
44
+ // const parseNamespace = (name) =>
45
+ // name.startsWith('@') ? name.split('/')[0] : ''
46
+ // converts package name to umd or iife valid format
47
+ // example: napespace-package-name => namespacePackageName
48
+ const camelspaceBundleName = (name) => {
49
+ const parsedName = name.replace('@', '').replace('/', '-');
50
+ const arrayStringsCamel = (arr) => arr.map((item, i) => i === 0
51
+ ? item
52
+ : item.charAt(0).toUpperCase() + item.substr(1).toLowerCase());
53
+ const arr = parsedName.split('-');
54
+ const result = arrayStringsCamel(arr).join('');
55
+ return result;
56
+ };
57
+ // --------------------------------------------------------
58
+ // PACKAGE JSON DATA
59
+ // --------------------------------------------------------
60
+ const getPkgData = () => {
61
+ const pkg = getPackageJSON();
62
+ const { name } = pkg;
63
+ // const namespace = parseNamespace(name)
64
+ return {
65
+ ...pkg,
66
+ // nameWithoutPrefix: name.replace(namespace, '').replace('/', ''),
67
+ // namespace,
68
+ // namespaceName: namespace.replace('@', ''),
69
+ // rootPath: findFilePath('package.json'),
70
+ bundleName: camelspaceBundleName(name),
71
+ externalDependencies: getDependenciesList([
72
+ 'dependencies',
73
+ 'peerDependencies',
74
+ ]),
75
+ };
76
+ };
77
+ // --------------------------------------------------------
78
+ // LOAD EXTERNAL CONFIGURATION
79
+ // --------------------------------------------------------
80
+ const getExternalConfig = () => {
81
+ const file = findFile('vl-tools.config.js');
82
+ if (file) {
83
+ const data = require(file);
84
+ return data.build;
85
+ }
86
+ return {};
87
+ };
88
+ const loadConfig = (config) => {
89
+ const externalConfig = getExternalConfig();
90
+ return merge(config, externalConfig);
91
+ };
92
+ const swapGlobals = (globals) => {
93
+ const result = {};
94
+ Object.entries(globals).forEach(([key, value]) => {
95
+ result[value] = key;
96
+ });
97
+ return result;
98
+ };
99
+ module.exports = {
100
+ findFile,
101
+ loadConfig,
102
+ swapGlobals,
103
+ PKG: getPkgData(),
104
+ CONFIG: getExternalConfig(),
105
+ };
106
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@vitus-labs/tools-rollup",
3
- "version": "0.40.0",
3
+ "version": "0.41.0",
4
4
  "license": "MIT",
5
5
  "author": "Vit Bokisch <vit@bokisch.com>",
6
6
  "maintainers": [
7
7
  "Vit Bokisch <vit@bokisch.com>"
8
8
  ],
9
9
  "main": "./index.js",
10
- "typings": "typings/index.d.ts",
10
+ "types": "typings/index.d.ts",
11
11
  "bin": {
12
12
  "vl_build": "bin/run-build.js",
13
13
  "vl_build-watch": "bin/run-watch.js"
@@ -29,7 +29,7 @@
29
29
  "find-up": "^5.0.0",
30
30
  "lodash.merge": "^4.6.2",
31
31
  "rimraf": "^3.0.2",
32
- "rollup": "^3.9.1",
32
+ "rollup": "^3.10.0",
33
33
  "rollup-plugin-api-extractor": "^0.2.5",
34
34
  "rollup-plugin-filesize": "^9.1.2",
35
35
  "rollup-plugin-typescript2": "^0.34.1",
@@ -38,5 +38,5 @@
38
38
  "tslib": "^2.4.1",
39
39
  "ttypescript": "^1.5.15"
40
40
  },
41
- "gitHead": "6476edf02927427993d0e9fc21ae5c708de2b58e"
41
+ "gitHead": "ca8e6a7725965352158bc5e1de1b79c6d8f15319"
42
42
  }
@@ -21,6 +21,7 @@ module.exports = {
21
21
  '*.test.*',
22
22
  '*.spec.*',
23
23
  '*.stories.*',
24
+ 'stories.*',
24
25
  '*.story.*',
25
26
  ],
26
27
  globals: {
@@ -7,7 +7,7 @@ const filesize = require('rollup-plugin-filesize')
7
7
  const { visualizer } = require('rollup-plugin-visualizer')
8
8
  const replace = require('@rollup/plugin-replace')
9
9
  const { terser } = require('@rollup/plugin-terser')
10
- const babel = require('@rollup/plugin-babel')
10
+ // const babel = require('@rollup/plugin-babel')
11
11
  const baseConfig = require('./baseConfig')
12
12
  const { PKG, loadConfig, swapGlobals } = require('../utils')
13
13
 
@@ -28,12 +28,12 @@ const defineExtensions = (platform) => {
28
28
  const loadPlugins = ({ env, platform, types, file }) => {
29
29
  const extensions = defineExtensions(platform)
30
30
 
31
- const babelConfig = {
32
- extensions,
33
- include: [CONFIG.sourceDir],
34
- exclude: CONFIG.exclude,
35
- babelHelpers: 'runtime',
36
- }
31
+ // const babelConfig = {
32
+ // extensions,
33
+ // include: [CONFIG.sourceDir],
34
+ // exclude: CONFIG.exclude,
35
+ // babelHelpers: 'bundled',
36
+ // }
37
37
 
38
38
  const tsConfig = {
39
39
  typescript: ttypescript,
@@ -100,7 +100,7 @@ const loadPlugins = ({ env, platform, types, file }) => {
100
100
  plugins.push(replace({ preventAssignment: true, values: replaceOptions }))
101
101
  }
102
102
 
103
- plugins.push(babel(babelConfig))
103
+ // plugins.push(babel(babelConfig))
104
104
 
105
105
  // generate visualised graphs in dist folder
106
106
  if (CONFIG.visualise) {
@@ -134,6 +134,8 @@ const rollupConfig = ({ file, format, env, types, platform }) => {
134
134
  const plugins = loadPlugins({ file, env, types, platform })
135
135
 
136
136
  const buildOutput = {
137
+ makeAbsoluteExternalsRelative: true,
138
+ preserveEntrySignatures: 'strict',
137
139
  input: CONFIG.sourceDir,
138
140
  output: {
139
141
  file,
@@ -142,6 +144,12 @@ const rollupConfig = ({ file, format, env, types, platform }) => {
142
144
  sourcemap: true,
143
145
  exports: ['cjs', 'umd'].includes(format) ? 'named' : undefined,
144
146
  name: ['umd', 'iife'].includes(format) ? PKG.bundleName : undefined,
147
+ esModule: true,
148
+ generatedCode: {
149
+ reservedNamesAsProps: false,
150
+ },
151
+ interop: 'compat',
152
+ systemNullSetters: false,
145
153
  },
146
154
  external: PKG.externalDependencies,
147
155
  plugins,
package/src/index.js ADDED
@@ -0,0 +1,3 @@
1
+ const runBuild = require('./scripts/build')
2
+
3
+ module.exports = runBuild
@@ -96,7 +96,7 @@ const runBuild = async () => {
96
96
 
97
97
  log('\n')
98
98
 
99
- Promise.resolve()
99
+ await Promise.resolve()
100
100
  .then(() => createBuilds())
101
101
  .then(() => {
102
102
  log(`${chalk.bold.bgBlue.black('[4/4]')} ${chalk.blue('🎉 Done!')}`)
@@ -6,7 +6,7 @@ declare global {
6
6
  const __BROWSER__: true
7
7
  const __WEB__: true
8
8
  const __NATIVE__: true
9
- const __SERVER__: true
9
+ const __NODE__: true
10
10
  const __CLIENT__: true
11
11
  }
12
12
 
@@ -15,7 +15,7 @@ declare global {
15
15
  __BROWSER__: true
16
16
  __WEB__: true
17
17
  __NATIVE__: true
18
- __SERVER__: true
18
+ __NODE__: true
19
19
  __CLIENT__: true
20
20
  }
21
21
  }