build: add gulpfile and adjustments to rollup config

Skia
Nov 29, 2021, 6:50 PM
PLGSUF5SOMAUMJW4C7VDUUTTXVOJ7GCURHEQZA32TLXWHZXD2B4QC

Dependencies

  • [2] OYMRAJJV chore: add electron main script and config rollup
  • [3] M5P5UHKC chore: initial root configurations

Change contents

  • replacement in "rollup.config.ts" at line 17
    [2.805][2.805:906]()
    function configurePlugins(rootDir: string): Plugin[] {
    if (process.env.NODE_ENV === 'production') {
    [2.805]
    [2.906]
    const sourcemap = process.env.NODE_ENV !== 'production' || process.env.SOURCEMAPS === 'true'
    function configurePlugins(
    rootDir: string,
    typescript = true,
    production = process.env.NODE_ENV === 'production'
    ): Plugin[] {
    const common: Plugin[] = [
    resolve({
    rootDir,
    extensions: ['.mjs', '.js', '.json', '.jsx', '.node'],
    }),
    commonjs({
    sourceMap: sourcemap,
    }),
    jsonfile({}),
    ]
    if (typescript) {
    common.push(ts())
    }
    if (production) {
  • replacement in "rollup.config.ts" at line 43
    [2.971][2.971:1131]()
    resolve({
    rootDir,
    extensions: ['.mjs', '.js', '.json', '.jsx', '.node'],
    }),
    commonjs({
    sourceMap: true,
    }),
    jsonfile({}),
    ts(),
    [2.971]
    [2.1131]
    ...common,
  • edit in "rollup.config.ts" at line 45
    [2.1142][2.1142:1163]()
    sourcemap: true,
  • replacement in "rollup.config.ts" at line 97
    [2.2204][2.2204:2364]()
    resolve({
    rootDir,
    extensions: ['.mjs', '.js', '.json', '.jsx', '.node'],
    }),
    commonjs({
    sourceMap: true,
    }),
    jsonfile({}),
    ts(),
    [2.2204]
    [2.2364]
    ...common,
  • edit in "rollup.config.ts" at line 99
    [2.2375][2.2375:2396]()
    sourcemap: true,
  • replacement in "rollup.config.ts" at line 153
    [2.3522][2.3522:3541]()
    sourcemap: true,
    [2.3522]
    [2.3541]
    sourcemap,
  • edit in "pnpm-lock.yaml" at line 50
    [3.2630][3.2630:2653]()
    ts-node: ^10.4.0
  • replacement in "pnpm-lock.yaml" at line 84
    [3.4263][3.4263:4318]()
    gulp-postcss: 9.0.1_postcss@8.4.4+ts-node@10.4.0
    [3.4263]
    [3.4318]
    gulp-postcss: 9.0.1_postcss@8.4.4
  • edit in "pnpm-lock.yaml" at line 94
    [3.4686][3.4686:4741]()
    ts-node: 10.4.0_36929cccfdb926da0bb85cc291f27124
  • edit in "pnpm-lock.yaml" at line 351
    [3.13625][3.13625:14107]()
    dev: true
    /@cspotcode/source-map-consumer/0.8.0:
    resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==}
    engines: {node: '>= 12'}
    dev: true
    /@cspotcode/source-map-support/0.7.0:
    resolution: {integrity: sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==}
    engines: {node: '>=12'}
    dependencies:
    '@cspotcode/source-map-consumer': 0.8.0
  • edit in "pnpm-lock.yaml" at line 561
    [3.20077][3.20077:20745]()
    dev: true
    /@tsconfig/node10/1.0.8:
    resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==}
    dev: true
    /@tsconfig/node12/1.0.9:
    resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==}
    dev: true
    /@tsconfig/node14/1.0.1:
    resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==}
    dev: true
    /@tsconfig/node16/1.0.2:
    resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==}
  • edit in "pnpm-lock.yaml" at line 705
    [3.25971][3.25971:26163]()
    dev: true
    /acorn-walk/8.2.0:
    resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
    engines: {node: '>=0.4.0'}
  • edit in "pnpm-lock.yaml" at line 801
    [3.29115][3.29115:29269]()
    dev: true
    /arg/4.1.3:
    resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
  • edit in "pnpm-lock.yaml" at line 1422
    [3.47796][3.47796:47961]()
    /create-require/1.1.1:
    resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
    dev: true
  • edit in "pnpm-lock.yaml" at line 1671
    [2.6745][3.55901:56087](),[3.55901][3.55901:56087]()
    /diff/4.0.2:
    resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
    engines: {node: '>=0.3.1'}
    dev: true
  • replacement in "pnpm-lock.yaml" at line 2613
    [3.81740][3.81740:81792]()
    /gulp-postcss/9.0.1_postcss@8.4.4+ts-node@10.4.0:
    [3.81740]
    [3.81792]
    /gulp-postcss/9.0.1_postcss@8.4.4:
  • replacement in "pnpm-lock.yaml" at line 2622
    [3.82089][3.82089:82137]()
    postcss-load-config: 3.1.0_ts-node@10.4.0
    [3.82089]
    [3.82137]
    postcss-load-config: 3.1.0
  • edit in "pnpm-lock.yaml" at line 3375
    [3.104406][3.104406:104567]()
    /make-error/1.3.6:
    resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
    dev: true
  • replacement in "pnpm-lock.yaml" at line 4096
    [3.125520][3.125520:125565]()
    /postcss-load-config/3.1.0_ts-node@10.4.0:
    [3.125520]
    [3.125565]
    /postcss-load-config/3.1.0:
  • edit in "pnpm-lock.yaml" at line 4107
    [3.125895][3.125895:125950]()
    ts-node: 10.4.0_36929cccfdb926da0bb85cc291f27124
  • edit in "pnpm-lock.yaml" at line 5213
    [3.160099][3.160099:160942]()
    dev: true
    /ts-node/10.4.0_36929cccfdb926da0bb85cc291f27124:
    resolution: {integrity: sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==}
    hasBin: true
    peerDependencies:
    '@swc/core': '>=1.2.50'
    '@swc/wasm': '>=1.2.50'
    '@types/node': '*'
    typescript: '>=2.7'
    peerDependenciesMeta:
    '@swc/core':
    optional: true
    '@swc/wasm':
    optional: true
    dependencies:
    '@cspotcode/source-map-support': 0.7.0
    '@tsconfig/node10': 1.0.8
    '@tsconfig/node12': 1.0.9
    '@tsconfig/node14': 1.0.1
    '@tsconfig/node16': 1.0.2
    '@types/node': 16.11.10
    acorn: 8.6.0
    acorn-walk: 8.2.0
    arg: 4.1.3
    create-require: 1.1.1
    diff: 4.0.2
    make-error: 1.3.6
    typescript: 4.5.2
    yn: 3.1.1
  • edit in "pnpm-lock.yaml" at line 5551
    [2.16147][2.16147:16148](),[2.16148][3.170964:171143](),[3.170964][3.170964:171143]()
    /yn/3.1.1:
    resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
    engines: {node: '>=6'}
    dev: true
  • edit in "package.json" at line 49
    [3.172948][3.172948:172972]()
    "ts-node": "^10.4.0",
  • file addition: gulpfile.js (---r------)
    [1.0]
    import gulp from 'gulp'
    import sourcemaps from 'gulp-sourcemaps'
    import htmlmin from 'gulp-html-minifier-terser'
    import lessc from 'gulp-less'
    import postcss from 'gulp-postcss'
    import cssnano from 'cssnano'
    import colorguard from 'colorguard'
    const dist = 'packages/dist'
    export function html() {
    return gulp
    .src('index.html')
    .pipe(
    htmlmin({
    collapseBooleanAttributes: true,
    collapseWhitespace: true,
    quoteCharacter: '"',
    removeComments: true,
    removeAttributeQuotes: true,
    removeRedundantAttributes: true,
    })
    )
    .pipe(gulp.dest(dist))
    }
    export function style() {
    if (process.env.NODE_ENV !== 'production') {
    return gulp
    .src('less/style.less')
    .pipe(sourcemaps.init())
    .pipe(lessc())
    .pipe(postcss([colorguard(), cssnano({ preset: 'default' })]))
    .pipe(sourcemaps.write())
    .pipe(gulp.dest(dist))
    } else {
    return gulp
    .src('less/style.less')
    .pipe(lessc())
    .pipe(postcss([colorguard(), cssnano({ preset: 'default' })]))
    .pipe(gulp.dest(dist))
    }
    }
    export const all = gulp.parallel(html, style)
    export const watch = gulp.series(all, () => {
    gulp.watch('index.html', html)
    gulp.watch(['less/*.less', 'less/*/*.less'], style)
    })