boilersuit
Advanced tools
Comparing version 0.2.8 to 0.2.9
const fs = require('fs'); | ||
const ajax = require('../ajax'); | ||
const up = require('./'); | ||
const { concat } = require('../../tools/utils'); | ||
@@ -33,3 +32,2 @@ | ||
ajax(folder, domain.domainName); | ||
up(schemaFile); | ||
} | ||
@@ -36,0 +34,0 @@ } |
@@ -15,3 +15,2 @@ const colors = require('colors'); // eslint-disable-line | ||
const printError = require('../../tools/printError'); | ||
const checkIfNoAllSagas = require('../../tools/checkIfNoAllSagas'); | ||
const checkIfBadBuffer = require('../../tools/checkIfBadBuffer'); | ||
@@ -21,3 +20,2 @@ const printWarning = require('../../tools/printWarning'); | ||
const checkWarningsInSchema = require('../../tools/checkWarningsInSchema'); | ||
const checkIfDomainAlreadyPresent = require('../../tools/checkIfDomainAlreadyPresent'); | ||
const checkForConfigFile = require('./checkForConfigFile'); | ||
@@ -30,3 +28,2 @@ const runPrettier = require('./runPrettier'); | ||
transforms, | ||
concat, | ||
} = require('../../tools/utils'); | ||
@@ -109,28 +106,8 @@ | ||
/** Write Reducers */ | ||
const reducersFile = `${folder}/reducer.js`; | ||
const reducerBuffer = cleanFile(fs.readFileSync(reducersFile).toString()); | ||
let domainErrors = []; | ||
const newReducerBuffer = transforms(reducerBuffer, [ | ||
cleanFile, | ||
fixInlineImports, | ||
...arrayOfDomains.map( | ||
({ domainName, initialState, actions, describe }) => b => { | ||
const cases = new Cases(parseCamelCaseToArray(domainName)); | ||
const allDomainCases = cases.all(); | ||
domainErrors = [ | ||
...domainErrors, | ||
...checkIfDomainAlreadyPresent(folder, allDomainCases, actions), | ||
]; | ||
/** Write reducer */ | ||
return writeReducer({ | ||
buffer: b, | ||
cases: allDomainCases, | ||
initialState, | ||
actions, | ||
describe, | ||
}); | ||
}, | ||
), | ||
]); | ||
const { buffer: newReducerBuffer, errors: domainErrors } = writeReducer({ | ||
folder, | ||
arrayOfDomains, | ||
}); | ||
@@ -144,39 +121,14 @@ if (domainErrors.length) { | ||
const actionsBuffer = fs.readFileSync(`${folder}/actions.js`).toString(); | ||
const { buffer: newActionsBuffer } = writeActions({ | ||
folder, | ||
arrayOfDomains, | ||
}); | ||
const newActionsBuffer = transforms(actionsBuffer, [ | ||
cleanFile, | ||
fixInlineImports, | ||
...arrayOfDomains.map(({ domainName, actions }) => b => { | ||
const cases = new Cases(parseCamelCaseToArray(domainName)); | ||
const allDomainCases = cases.all(); | ||
return writeActions({ | ||
buffer: b, | ||
cases: allDomainCases, | ||
actions, | ||
}); | ||
}), | ||
]); | ||
/** Write Constants */ | ||
const constantsBuffer = fs.readFileSync(`${folder}/constants.js`).toString(); | ||
const { buffer: newConstantsBuffer } = writeConstants({ | ||
folder, | ||
arrayOfDomains, | ||
}); | ||
const newConstantsBuffer = transforms(constantsBuffer, [ | ||
cleanFile, | ||
fixInlineImports, | ||
...arrayOfDomains.map(({ domainName, actions }) => b => { | ||
const cases = new Cases(parseCamelCaseToArray(domainName)); | ||
const allDomainCases = cases.all(); | ||
return writeConstants({ | ||
buffer: b, | ||
cases: allDomainCases, | ||
actions, | ||
folder, | ||
}); | ||
}), | ||
]); | ||
/** Write Selectors */ | ||
@@ -224,6 +176,7 @@ | ||
const sagaBuffer = fs.readFileSync(`${folder}/saga.js`).toString(); | ||
const { errors: sagaErrors, buffer: newSagaBuffer } = writeSaga({ | ||
folder, | ||
arrayOfDomains, | ||
}); | ||
const sagaErrors = checkIfNoAllSagas(sagaBuffer); | ||
if (sagaErrors.length) { | ||
@@ -234,39 +187,2 @@ printError(sagaErrors); | ||
const newSagaBuffer = transforms(sagaBuffer, [ | ||
cleanFile, | ||
fixInlineImports, | ||
...arrayOfDomains.map(({ domainName, actions }) => b => { | ||
const cases = new Cases(parseCamelCaseToArray(domainName)); | ||
const allDomainCases = cases.all(); | ||
const actionsWithSagas = Object.keys(actions).filter( | ||
key => actions[key].saga === true, | ||
); | ||
if (actionsWithSagas > 1) { | ||
printError([ | ||
concat([ | ||
`More than one action in ${ | ||
allDomainCases.display | ||
} has been given an attribute of "saga": true`, | ||
`- Only one action can be assigned a saga per reducer.`, | ||
]), | ||
]); | ||
return b; | ||
} | ||
if (actionsWithSagas < 1) { | ||
return b; | ||
} | ||
const actionCases = new Cases(parseCamelCaseToArray(actionsWithSagas[0])); | ||
const allActionCases = actionCases.all(); | ||
return writeSaga({ | ||
buffer: b, | ||
cases: allDomainCases, | ||
actionCases: allActionCases, | ||
action: actions[actionsWithSagas[0]], | ||
}); | ||
}), | ||
]); | ||
/** Write reducer tests */ | ||
@@ -348,3 +264,3 @@ | ||
console.log('- writing reducers'); | ||
fs.writeFileSync(reducersFile, newReducerBuffer); | ||
fs.writeFileSync(`${folder}/reducer.js`, newReducerBuffer); | ||
@@ -384,2 +300,4 @@ console.log('- writing reducer tests'); | ||
/** Runs prettier and checks for errors */ | ||
const prettierErrors = runPrettier(folder); | ||
@@ -386,0 +304,0 @@ |
@@ -9,3 +9,3 @@ #!/usr/bin/env node | ||
program.version('0.2.8'); | ||
program.version('0.2.9'); | ||
@@ -12,0 +12,0 @@ program.command('up').action(() => { |
{ | ||
"name": "boilersuit", | ||
"description": "A CLI tool for generating selectors, reducers, actions, constants and sagas in react-boilerplate", | ||
"version": "0.2.8", | ||
"version": "0.2.9", | ||
"main": "index.js", | ||
@@ -6,0 +6,0 @@ "author": "matt <matt.pocock@thevirtualforge.com>", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
273674
43
2128
14