Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | 5x 5x 5x 5x | import {choose, withOptions} from '../api';
import {createEditorConfiguration, createPackageJson, createSourceDirectory} from './common';
import {addA11y, removeA11y} from './add-a11y';
import addBabel from './add-babel';
import {addBrowsersync, removeBrowsersync} from './add-browsersync';
import {addCypress, removeCypress} from './add-cypress';
import addElectron from './add-electron';
import addEsdoc from './add-esdoc';
import addEslint from './add-eslint';
import addJest from './add-jest';
import addMakefile from './add-makefile';
import addMarionette from './add-marionette';
import {addParcel, removeParcel} from './add-parcel';
import {addPostcss, removePostcss} from './add-postcss';
import addReact from './add-react';
import {addReason, removeReason} from './add-reason';
import {addRollup, removeRollup} from './add-rollup';
import {addWebpack, removeWebpack} from './add-webpack';
import createServer from './create-server';
const createProject = [
...createPackageJson,
...createEditorConfiguration,
...createSourceDirectory,
...addBabel,
...addEslint
];
const create = {
project: createProject,
app: [
withOptions({browser: true}),
...createProject,
...addPostcss,
...addJest,
choose({
default: addWebpack,
useRollup: addRollup,
useParcel: addParcel,
useSnowpack: [] // do nothing
}),
choose({
default: addMarionette,
native: [
withOptions({outputDirectory: './dist', sourceDirectory: './renderer/src', assetsDirectory: './renderer/assets', useReact: false}),
...addMarionette, // Only Marionette.js support, for native react apps, one should probably use ReactNative
...addElectron
],
useReact: [
withOptions({browser: true, useRollup: false}), // Rollup does not support HMR - it's just not worth using Rollup for a React app.
...addReact
]
}),
choose({
default: addBrowsersync,
useRollup: addBrowsersync,
native: [], // do nothing
useParcel: [], // do nothing
useSnowpack: [], // do nothing
useReact: [] // do nothing
})
],
server: [
withOptions({browser: false, sourceDirectory: '.', useReact: false}),
...createPackageJson,
...addEslint,
...addJest,
...createServer
]
};
const add = {
a11y: addA11y,
babel: addBabel,
browsersync: addBrowsersync,
cypress: addCypress,
electron: addElectron,
esdoc: addEsdoc,
eslint: [
...addBabel,
...addEslint
],
jest: [
...addBabel,
...addJest
],
makefile: addMakefile,
marionette: addMarionette,
parcel: [
withOptions({useParcel: true}),
...addBabel,
...addParcel
],
postcss: addPostcss,
react: [
withOptions({useReact: true}),
...addReact
],
reason: [
withOptions({useReact: true}),
...addReason
],
rollup: [
withOptions({useRollup: true}),
...addBabel,
...addRollup
],
webpack: [
...addBabel,
...addWebpack
]
};
const remove = {
a11y: removeA11y,
browsersync: removeBrowsersync,
cypress: removeCypress,
parcel: removeParcel,
postcss: removePostcss,
reason: removeReason,
rollup: removeRollup,
webpack: removeWebpack
};
export default {
add,
remove,
create,
new: create// alias for create
};
/**
* @typedef {Object} task
* @property {string} text Display text for task
* @property {function} task Task to execute
* @property {function} condition Predicate to decide when to execute the task (true) or not (false) - can be async or sync
* @property {function} [optional] Predicate to decide when to show the task (true) or not (false) - MUST be sync
*/ |