Skip to content

Commit 1267bfc

Browse files
committed
Use rollup's node interface rather than its CLI interface in gulpfile.js
1 parent 955aa5d commit 1267bfc

File tree

4 files changed

+298
-11
lines changed

4 files changed

+298
-11
lines changed

gulpfile.js

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ const _ = require( 'lodash' ),
1919
punycode = require( 'punycode' ),
2020
rename = require( 'gulp-rename' ),
2121
replace = require( 'gulp-replace' ),
22+
rollup = require( 'rollup' ),
23+
rollupResolveNode = require( 'rollup-plugin-node-resolve' ),
24+
rollupCommonjs = require( 'rollup-plugin-commonjs' ),
2225
sourcemaps = require( 'gulp-sourcemaps' ),
2326
transform = require( 'gulp-transform' ),
2427
typescript = require( 'gulp-typescript' ),
@@ -234,8 +237,27 @@ async function buildSrcFixCommonJsIndexTask() {
234237
}
235238

236239

237-
function buildSrcRollupTask() {
238-
return exec( `./node_modules/.bin/rollup ./dist/es2015/autolinker.js --file ./dist/Autolinker.js --format umd --name "Autolinker" --sourcemap` );
240+
async function buildSrcRollupTask() {
241+
// create a bundle
242+
const bundle = await rollup.rollup( {
243+
input: './dist/es2015/autolinker.js',
244+
plugins: [
245+
rollupResolveNode( {
246+
jsnext: true,
247+
browser: true,
248+
} ),
249+
rollupCommonjs()
250+
],
251+
treeshake: true
252+
} );
253+
254+
// write the bundle to disk
255+
return bundle.write( {
256+
file: './dist/Autolinker.js',
257+
format: 'umd',
258+
name: 'Autolinker',
259+
sourcemap: true
260+
} );
239261
}
240262

241263
function buildSrcAddHeaderToUmdTask() {
@@ -301,8 +323,25 @@ function buildExampleTypeScriptTask() {
301323
.pipe( gulp.dest( './.tmp/live-example/' ) );
302324
}
303325

304-
function buildExampleRollupTask() {
305-
return exec( `./node_modules/.bin/rollup ./.tmp/live-example/main.js --format iife --file ./docs/examples/live-example.js` );
326+
async function buildExampleRollupTask() {
327+
// create a bundle
328+
const bundle = await rollup.rollup( {
329+
input: './.tmp/live-example/main.js',
330+
plugins: [
331+
rollupResolveNode( {
332+
jsnext: true,
333+
browser: true,
334+
} ),
335+
rollupCommonjs()
336+
]
337+
} );
338+
339+
// write the bundle to disk
340+
return bundle.write( {
341+
file: './docs/examples/live-example.js',
342+
format: 'iife',
343+
sourcemap: true
344+
} );
306345
}
307346

308347

package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,15 @@
7171
"punycode": "^2.1.0",
7272
"puppeteer": "^1.11.0",
7373
"rollup": "^0.68.1",
74+
"rollup-plugin-commonjs": "^9.2.0",
75+
"rollup-plugin-node-resolve": "^4.0.0",
7476
"through2": "^2.0.1",
7577
"typescript": "^3.2.2",
7678
"webpack": "^4.28.2",
7779
"yarn": "^1.12.3"
7880
},
7981
"dependencies": {}
82+
"dependencies": {
83+
"tslib": "^1.9.3"
84+
}
8085
}

tsconfig.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
// "removeComments": true, /* Do not emit comments to output. */
1818
"noEmit": true, /* prevent accidental build with `tsc` command. Use package.json scripts instead */
1919
"noEmitOnError": true,
20-
// "importHelpers": true, /* Import emit helpers from 'tslib'. */
20+
"importHelpers": true, /* Import emit helpers from 'tslib'. */
2121
"downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
2222
// "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
2323
"preserveConstEnums": true,
@@ -39,7 +39,7 @@
3939
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
4040

4141
/* Module Resolution Options */
42-
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
42+
"moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
4343
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
4444
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
4545
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */

0 commit comments

Comments
 (0)