diff --git a/packages/cycle-scripts/scripts/init/setup.js b/packages/cycle-scripts/scripts/init/setup.js index b0d7fb8..d6fc83d 100644 --- a/packages/cycle-scripts/scripts/init/setup.js +++ b/packages/cycle-scripts/scripts/init/setup.js @@ -16,7 +16,9 @@ module.exports = function setup (appPath, appName, options) { // STEP #1 - Create boilerplate files const flavorPath = path.join(appPath, 'node_modules', 'cycle-scripts') - const templateStrings = require(path.join(flavorPath, 'template/config', language + '.js')) + const commonStrings = require(path.join(flavorPath, 'template/config', 'common.js'))[streamLib] + const languageStrings = require(path.join(flavorPath, 'template/config', language + '.js'))[streamLib] + const templateStrings = Object.assign({}, commonStrings, languageStrings) const templatePath = path.join(flavorPath, 'template/src', language) // Create ./public directory fs.ensureDirSync(path.join(appPath, 'public')) @@ -33,7 +35,7 @@ module.exports = function setup (appPath, appName, options) { files.forEach(file => { const targetPath = path.join(appPath, 'src', file) const template = require(path.join(templatePath, file)) - const targetContent = template(templateStrings[streamLib]) + const targetContent = template(templateStrings) fs.outputFile(targetPath, targetContent) }) }) diff --git a/packages/cycle-scripts/template/config/common.js b/packages/cycle-scripts/template/config/common.js new file mode 100644 index 0000000..66de7e8 --- /dev/null +++ b/packages/cycle-scripts/template/config/common.js @@ -0,0 +1,26 @@ +module.exports = { + xstream: { + run: '@cycle/run', + import: 'import xs from \'xstream\'', + stream: 'xs', + fold: 'fold', + merge: 'xs.merge', + mapTo: 'mapTo' + }, + rxjs: { + run: '@cycle/rxjs-run', + import: 'import Rx from \'rxjs/Rx\'', + stream: 'Rx.Observable', + fold: 'scan', + merge: 'Rx.Observable.merge', + mapTo: 'mapTo' + }, + most: { + run: '@cycle/most-run', + import: 'import * as most from \'most\'', + stream: 'most', + fold: 'scan', + merge: 'most.merge', + mapTo: 'constant' + } +} diff --git a/packages/cycle-scripts/template/config/javascript.js b/packages/cycle-scripts/template/config/javascript.js index 59aa083..e4647bb 100644 --- a/packages/cycle-scripts/template/config/javascript.js +++ b/packages/cycle-scripts/template/config/javascript.js @@ -1,17 +1,5 @@ module.exports = { - xstream: { - run: '@cycle/run', - import: 'import xs from \'xstream\'', - stream: 'xs' - }, - rxjs: { - run: '@cycle/rxjs-run', - import: 'import Rx from \'rxjs/Rx\'', - stream: 'Rx.Observable' - }, - most: { - run: '@cycle/most-run', - import: 'import * as most from \'most\'', - stream: 'most' - } + xstream: {}, + rxjs: {}, + most: {} } diff --git a/packages/cycle-scripts/template/config/typescript.js b/packages/cycle-scripts/template/config/typescript.js index cf5a995..39a6a31 100644 --- a/packages/cycle-scripts/template/config/typescript.js +++ b/packages/cycle-scripts/template/config/typescript.js @@ -1,23 +1,15 @@ module.exports = { xstream: { - run: '@cycle/run', - import: 'import xs from \'xstream\'', - typeImport: 'import {Stream} from \'xstream\'', - stream: 'xs', + typeImport: 'import { Stream } from \'xstream\'', streamType: 'Stream' + }, rxjs: { - run: '@cycle/rxjs-run', - import: 'import Rx from \'rxjs/Rx\'', - typeImport: 'import {Observable} from \'rxjs\'', - stream: 'Rx.Observable', + typeImport: 'import { Observable } from \'rxjs\'', streamType: 'Observable' }, most: { - run: '@cycle/most-run', - import: 'import * as most from \'most\'', - typeImport: 'import {Stream} from \'most\'', - stream: 'most', + typeImport: 'import { Stream } from \'most\'', streamType: 'Stream' } } diff --git a/packages/cycle-scripts/template/src/javascript/app.jsx b/packages/cycle-scripts/template/src/javascript/app.jsx index 6e6746c..bb29b22 100644 --- a/packages/cycle-scripts/template/src/javascript/app.jsx +++ b/packages/cycle-scripts/template/src/javascript/app.jsx @@ -1,12 +1,43 @@ module.exports = replacements => `${replacements.import} +const initalState = { count: 0 } + export function App (sources) { - const vtree$ = ${replacements.stream}.of( -