diff --git a/lerna.json b/lerna.json index 118a3f721..c19d7656a 100644 --- a/lerna.json +++ b/lerna.json @@ -1,8 +1,6 @@ { - "lerna": "2.0.0-rc.5", - "packages": [ - "packages/*" - ], + "lerna": "2.0.0", + "packages": ["packages/*"], "npmClient": "yarn", "version": "4.0.0-alpha.2" } diff --git a/package.json b/package.json index 951dc2167..a08542bab 100755 --- a/package.json +++ b/package.json @@ -8,20 +8,20 @@ "postinstall": "lerna bootstrap" }, "devDependencies": { - "babel-cli": "^6.24.1", - "babel-core": "^6.24.1", + "babel-cli": "^6.26.0", + "babel-core": "^6.26.0", "babel-eslint": "^7.2.3", "babel-plugin-add-module-exports": "^0.2.1", "babel-plugin-transform-decorators-legacy": "^1.3.4", - "babel-preset-env": "^1.5.2", + "babel-preset-env": "^1.6.0", "babel-preset-stage-0": "^6.24.1", - "babel-register": "^6.24.1", + "babel-register": "^6.26.0", "es6-promisify": "^5.0.0", - "eslint": "^3.19.0", - "eslint-config-airbnb-base": "^11.2.0", - "eslint-plugin-import": "^2.3.0", - "lerna": "^2.0.0-rc.5", - "opn": "^5.0.0", + "eslint": "^4.5.0", + "eslint-config-airbnb-base": "^11.3.2", + "eslint-plugin-import": "^2.7.0", + "lerna": "^2.0.0", + "opn": "^5.1.0", "rimraf": "^2.6.1" } } diff --git a/packages/mjml-body/src/index.js b/packages/mjml-body/src/index.js index feeff4575..d8e685dba 100644 --- a/packages/mjml-body/src/index.js +++ b/packages/mjml-body/src/index.js @@ -1,7 +1,6 @@ import { BodyComponent } from 'mjml-core' export default class MjBody extends BodyComponent { - static defaultAttributes = { width: '600px', } @@ -25,13 +24,12 @@ export default class MjBody extends BodyComponent { return `
${this.renderChildren()}
` } - } diff --git a/packages/mjml-body/yarn.lock b/packages/mjml-body/yarn.lock index 14bed1465..7a0d3fbfe 100644 --- a/packages/mjml-body/yarn.lock +++ b/packages/mjml-body/yarn.lock @@ -537,20 +537,29 @@ minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -mjml-core@^4.0.0-alpha: - version "4.0.0-alpha" - resolved "https://registry.yarnpkg.com/mjml-core/-/mjml-core-4.0.0-alpha.tgz#2f0b7ad9d78c804f2bbe97e03f2edc412477f972" +mjml-core@^4.0.0-alpha.2: + version "4.0.0-alpha.2" + resolved "https://registry.yarnpkg.com/mjml-core/-/mjml-core-4.0.0-alpha.2.tgz#dd2951b106a5e77125c49c2b427726ff6b7125a7" dependencies: html-minifier "^3.5.2" js-beautify "^1.6.14" juice "^4.1.0" lodash "^4.17.3" - mjml-validator "^4.0.0-alpha" + mjml-parser-xml "^4.0.0-alpha.2" + mjml-validator "^4.0.0-alpha.2" object-path "^0.11.3" -mjml-validator@^4.0.0-alpha: - version "4.0.0-alpha" - resolved "https://registry.yarnpkg.com/mjml-validator/-/mjml-validator-4.0.0-alpha.tgz#908ead9cce345e454d23ff33f11febae45fd662f" +mjml-parser-xml@^4.0.0-alpha.2: + version "4.0.0-alpha.2" + resolved "https://registry.yarnpkg.com/mjml-parser-xml/-/mjml-parser-xml-4.0.0-alpha.2.tgz#5a14fae35990d582ffeb3ee393a7b188f993b4a5" + dependencies: + htmlparser2 "^3.9.2" + lodash "^4.17.2" + mjml-core "^4.0.0-alpha.2" + +mjml-validator@^4.0.0-alpha.2: + version "4.0.0-alpha.2" + resolved "https://registry.yarnpkg.com/mjml-validator/-/mjml-validator-4.0.0-alpha.2.tgz#cf0de56709ff4c5576516acd8c593895f942f4eb" dependencies: lodash "^4.17.4" warning "^3.0.0" diff --git a/packages/mjml-button/src/index.js b/packages/mjml-button/src/index.js index dd0731257..9aa35f34f 100644 --- a/packages/mjml-button/src/index.js +++ b/packages/mjml-button/src/index.js @@ -1,7 +1,6 @@ import { BodyComponent } from 'mjml-core' export default class MjButton extends BodyComponent { - static endingTag = true static allowedAttributes = [ @@ -36,17 +35,17 @@ export default class MjButton extends BodyComponent { ] static defaultAttributes = { - 'align': 'center', + align: 'center', 'background-color': '#414141', - 'border': 'none', + border: 'none', 'border-radius': '3px', - 'color': '#ffffff', + color: '#ffffff', 'font-family': 'Ubuntu, Helvetica, Arial, sans-serif', 'font-size': '13px', 'font-weight': 'normal', 'inner-padding': '10px 25px', 'line-height': '120%', - 'padding': '10px 25px', + padding: '10px 25px', 'text-decoration': 'none', 'text-transform': 'none', 'vertical-align': 'middle', @@ -65,21 +64,21 @@ export default class MjButton extends BodyComponent { 'border-radius': this.getAttribute('border-radius'), 'border-right': this.getAttribute('border-right'), 'border-top': this.getAttribute('border-top'), - 'color': this.getAttribute('color'), - 'cursor': 'auto', + color: this.getAttribute('color'), + cursor: 'auto', 'font-style': this.getAttribute('font-style'), - 'height': this.getAttribute('height'), - 'padding': this.getAttribute('inner-padding'), + height: this.getAttribute('height'), + padding: this.getAttribute('inner-padding'), }, content: { - 'background': this.getAttribute('background-color'), - 'color': this.getAttribute('color'), + background: this.getAttribute('background-color'), + color: this.getAttribute('color'), 'font-family': this.getAttribute('font-family'), 'font-size': this.getAttribute('font-size'), 'font-style': this.getAttribute('font-style'), 'font-weight': this.getAttribute('font-weight'), 'line-height': this.getAttribute('line-height'), - 'Margin': '0', + Margin: '0', 'text-decoration': this.getAttribute('text-decoration'), 'text-transform': this.getAttribute('text-transform'), }, @@ -92,31 +91,31 @@ export default class MjButton extends BodyComponent { return `
<${tag} ${this.htmlAttributes({ - href: this.getAttribute('href'), - rel: this.getAttribute('rel'), - style: 'content', - target: tag === 'a' ? '_blank' : undefined, - })} + href: this.getAttribute('href'), + rel: this.getAttribute('rel'), + style: 'content', + target: tag === 'a' ? '_blank' : undefined, + })} > ${this.getContent()} @@ -125,5 +124,4 @@ export default class MjButton extends BodyComponent {
` } - } diff --git a/packages/mjml-cli/package.json b/packages/mjml-cli/package.json index 3865d3a19..4ef9e301c 100644 --- a/packages/mjml-cli/package.json +++ b/packages/mjml-cli/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "chokidar": "^1.6.1", - "commander": "^2.9.0", + "commander": "^2.11.0", "fs-promise": "^2.0.3", "glob": "^7.1.1", "lodash": "^4.17.4", @@ -30,7 +30,7 @@ "mjml-validator": "^4.0.0-alpha.2" }, "devDependencies": { - "chai": "^4.0.0", - "mocha": "^3.2.0" + "chai": "^4.1.1", + "mocha": "^3.5.0" } } diff --git a/packages/mjml-cli/src/client.js b/packages/mjml-cli/src/client.js index ee67c8261..e7b26f60f 100644 --- a/packages/mjml-cli/src/client.js +++ b/packages/mjml-cli/src/client.js @@ -13,8 +13,6 @@ import timePad from './helpers/timePad' import { version as cliVersion } from '../package.json' import { version as coreVersion } from 'mjml-core/package.json' - - /* * The version number is the NPM * version number. It should be the same as the MJML engine @@ -32,7 +30,7 @@ const availableErrorOutputFormat = { const error = e => console.log(e.stack || e) // eslint-disable-line no-console -const isDirectory = (file) => { +const isDirectory = file => { try { const outputPath = path.resolve(process.cwd(), file) @@ -46,11 +44,12 @@ const isDirectory = (file) => { * Render an input promise */ const render = (bufferPromise, { min, output, stdout, fileName, level }) => { - const handleError = message => fileName ? error(`File: ${fileName} \n${message}`) : error(message) + const handleError = message => + fileName ? error(`File: ${fileName} \n${message}`) : error(message) return bufferPromise .then(mjml => mjml2html(mjml.toString(), { minify: min, filePath: fileName, level })) - .then((result) => { + .then(result => { const { html, errors } = result // non-blocking errors @@ -64,7 +63,7 @@ const render = (bufferPromise, { min, output, stdout, fileName, level }) => { return write(output, html) } }) - .catch((e) => { + .catch(e => { error(e.getMessages ? e.getMessages() : e) throw e }) @@ -72,7 +71,7 @@ const render = (bufferPromise, { min, output, stdout, fileName, level }) => { const outputFileName = (input, output) => { const outputIsDirectory = isDirectory(output) - const { ext, name } = path.parse((!output || outputIsDirectory) ? input : output) + const { ext, name } = path.parse(!output || outputIsDirectory ? input : output) let dir = outputIsDirectory ? output : './' if (output && !outputIsDirectory) { @@ -91,29 +90,31 @@ const outputFileName = (input, output) => { * Turns an MJML input file into a pretty HTML file * min: boolean that specify the output format (pretty/minified) */ -export const renderFiles = (input, options) => new Promise((resolve, reject) => { - glob(input, (err, files) => { - const processedFiles = [] +export const renderFiles = (input, options) => + new Promise((resolve, reject) => { + glob(input, (err, files) => { + const processedFiles = [] + + if (files.length > 1 && options.output && !isDirectory(options.output)) { + throw new Error('Output destination should be a directory instead of a file') + } - if (files.length > 1 && options.output && !isDirectory(options.output)) { - throw new Error('Output destination should be a directory instead of a file') - } + files.forEach(f => { + processedFiles.push(renderFile(f, options)) + }) - files.forEach((f) => { - processedFiles.push(renderFile(f, options)) + Promise.all(processedFiles).then(resolve).catch(reject) }) - - Promise.all(processedFiles).then(resolve).catch(reject) }) -}) -export const renderFile = (file, { output, level, min, stdout }) => render(read(path.resolve(process.cwd(), file)), { - output: outputFileName(file, output), - fileName: file, - level, - min, - stdout, -}) +export const renderFile = (file, { output, level, min, stdout }) => + render(read(path.resolve(process.cwd(), file)), { + output: outputFileName(file, output), + fileName: file, + level, + min, + stdout, + }) /** * Render based on input stream @@ -123,15 +124,16 @@ export const renderStream = options => render(readStdin(process.stdin), options) /** * Validate an MJML document */ -export const validate = (input, { format }) => read(input) - .then((content) => { +export const validate = (input, { format }) => + read(input) + .then(content => { const MJMLDocument = MJMLParser(content.toString()) const report = MJMLValidator(MJMLDocument) const outputFormat = availableErrorOutputFormat[format] || availableErrorOutputFormat.text error(outputFormat(report)) }) - .catch((e) => { + .catch(e => { error(`Error: ${e}`) throw e }) @@ -155,7 +157,11 @@ export const watch = (input, options) => { dependencies = newDependencies - console.log(`[${timePad(now.getHours())}:${timePad(now.getMinutes())}:${timePad(now.getSeconds())}] Reloading MJML`) // eslint-disable-line no-console + console.log( + `[${timePad(now.getHours())}:${timePad(now.getMinutes())}:${timePad( + now.getSeconds(), + )}] Reloading MJML`, + ) // eslint-disable-line no-console renderFile(input, options) }) diff --git a/packages/mjml-cli/src/helpers/promesify.js b/packages/mjml-cli/src/helpers/promesify.js index 5285cc63d..cd7fec1b0 100644 --- a/packages/mjml-cli/src/helpers/promesify.js +++ b/packages/mjml-cli/src/helpers/promesify.js @@ -16,7 +16,7 @@ const promisify = fn => (...args) => new Promise((resolve, reject) => fn(...args.concat((err, ...data) => - err ? reject(err) : resolve(...data)))) + (err ? reject(err) : resolve(...data))))) export const write = promisify(fs.writeFile) diff --git a/packages/mjml-cli/test/cli.spec.js b/packages/mjml-cli/test/cli.spec.js index e4bbaf774..f39298049 100644 --- a/packages/mjml-cli/test/cli.spec.js +++ b/packages/mjml-cli/test/cli.spec.js @@ -39,7 +39,7 @@ const compareFiles = (fileToCompare, expectedFile) => { const files = [fileToCompare, expectedFile] return Promise.all(files.map(file => fsp.readFile(file, { encoding: 'utf8' }) - .then(fileContent => format(fileContent)))) + .then(fileContent => format(fileContent)))) .then((filesContentFormatted) => { expect(filesContentFormatted[0]).to.equal(filesContentFormatted[1]) }) diff --git a/packages/mjml-cli/yarn.lock b/packages/mjml-cli/yarn.lock index aa2ea8d72..3ee3318ea 100644 --- a/packages/mjml-cli/yarn.lock +++ b/packages/mjml-cli/yarn.lock @@ -61,10 +61,6 @@ arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" -asap@~2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" - asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" @@ -171,9 +167,9 @@ caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" -chai@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.0.0.tgz#f6c989e45a5707d40c54d97ddd7ca89b30a6a06a" +chai@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.1.tgz#66e21279e6f3c6415ff8231878227900e2171b39" dependencies: assertion-error "^1.0.1" check-error "^1.0.1" @@ -232,10 +228,6 @@ chokidar@^1.6.1: optionalDependencies: fsevents "^1.0.0" -classnames@^2.2.5: - version "2.2.5" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d" - clean-css@4.1.x: version "4.1.3" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.3.tgz#07cfe8980edb20d455ddc23aadcf1e04c6e509ce" @@ -262,6 +254,10 @@ commander@2.9.0, commander@2.9.x, commander@^2.9.0, commander@~2.9.0: dependencies: graceful-readlink ">= 1.0.0" +commander@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -277,10 +273,6 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" -core-js@^1.0.0: - version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -326,7 +318,13 @@ datauri@^1.0.4: mimer "^0.2.1" semver "^5.0.3" -debug@2.6.0, debug@^2.2.0, debug@^2.6.0: +debug@2.6.8: + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" + dependencies: + ms "2.0.0" + +debug@^2.2.0: version "2.6.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" dependencies: @@ -401,12 +399,6 @@ editorconfig@^0.13.2: lru-cache "^3.2.0" sigmund "^1.0.1" -encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - dependencies: - iconv-lite "~0.4.13" - entities@^1.1.1, entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" @@ -441,18 +433,6 @@ extsprintf@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" -fbjs@^0.8.9: - version "0.8.12" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" - dependencies: - core-js "^1.0.0" - isomorphic-fetch "^2.1.1" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.9" - filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" @@ -637,7 +617,7 @@ hawk@~3.1.3: hoek "2.x.x" sntp "1.x.x" -he@1.1.x, he@^1.1.0: +he@1.1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -645,11 +625,7 @@ hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" -hoist-non-react-statics@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb" - -html-minifier@^3.2.3, html-minifier@^3.5.2: +html-minifier@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.2.tgz#d73bc3ff448942408818ce609bf3fb0ea7ef4eb7" dependencies: @@ -681,18 +657,10 @@ http-signature@~1.1.0: jsprim "^1.2.2" sshpk "^1.7.0" -iconv-lite@~0.4.13: - version "0.4.17" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" - image-size@^0.3.5: version "0.3.5" resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.3.5.tgz#83240eab2fb5b00b04aab8c74b0471e9cba7ad8c" -immutable@^3.8.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -762,10 +730,6 @@ is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" -is-stream@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -784,13 +748,6 @@ isobject@^2.0.0: dependencies: isarray "1.0.0" -isomorphic-fetch@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -801,11 +758,7 @@ jodid25519@^1.0.0: dependencies: jsbn "~0.1.0" -jquery@^3.1.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.2.1.tgz#5c4d9de652af6cd0a770154a631bba12b015c787" - -js-beautify@^1.6.14, js-beautify@^1.6.8: +js-beautify@^1.6.14: version "1.6.14" resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.6.14.tgz#d3b8f7322d02b9277d58bd238264c327e58044cd" dependencies: @@ -859,7 +812,7 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.3.6" -juice@^4.0.2, juice@^4.1.0: +juice@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/juice/-/juice-4.1.0.tgz#f54177a6576e7a82d108a6fd0b92ebb043470d81" dependencies: @@ -980,7 +933,7 @@ lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1: +loose-envify@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" dependencies: @@ -1053,55 +1006,29 @@ minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -mjml-core@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/mjml-core/-/mjml-core-3.3.2.tgz#6ac524667ed262b825ac65264a02b2d2e96b5dff" - dependencies: - cheerio "^0.22.0" - classnames "^2.2.5" - debug "^2.6.0" - he "^1.1.0" - hoist-non-react-statics "^1.2.0" - html-minifier "^3.2.3" - immutable "^3.8.1" - jquery "^3.1.1" - js-beautify "^1.6.8" - juice "^4.0.2" - lodash "^4.17.4" - mjml-validator "~3.3.0" - react "^15.4.2" - react-dom "^15.4.2" - warning "^3.0.0" - -mjml-core@^4.0.0-alpha: - version "4.0.0-alpha" - resolved "https://registry.yarnpkg.com/mjml-core/-/mjml-core-4.0.0-alpha.tgz#2f0b7ad9d78c804f2bbe97e03f2edc412477f972" +mjml-core@^4.0.0-alpha.2: + version "4.0.0-alpha.2" + resolved "https://registry.yarnpkg.com/mjml-core/-/mjml-core-4.0.0-alpha.2.tgz#dd2951b106a5e77125c49c2b427726ff6b7125a7" dependencies: html-minifier "^3.5.2" js-beautify "^1.6.14" juice "^4.1.0" lodash "^4.17.3" - mjml-validator "^4.0.0-alpha" + mjml-parser-xml "^4.0.0-alpha.2" + mjml-validator "^4.0.0-alpha.2" object-path "^0.11.3" -mjml-parser-xml@^4.0.0-alpha: - version "4.0.0-alpha" - resolved "https://registry.yarnpkg.com/mjml-parser-xml/-/mjml-parser-xml-4.0.0-alpha.tgz#ad3f1f63ce7e26cdb49ce467f08c1c1869916796" +mjml-parser-xml@^4.0.0-alpha.2: + version "4.0.0-alpha.2" + resolved "https://registry.yarnpkg.com/mjml-parser-xml/-/mjml-parser-xml-4.0.0-alpha.2.tgz#5a14fae35990d582ffeb3ee393a7b188f993b4a5" dependencies: htmlparser2 "^3.9.2" lodash "^4.17.2" - mjml-core "^4.0.0-alpha" + mjml-core "^4.0.0-alpha.2" -mjml-validator@^4.0.0-alpha: - version "4.0.0-alpha" - resolved "https://registry.yarnpkg.com/mjml-validator/-/mjml-validator-4.0.0-alpha.tgz#908ead9cce345e454d23ff33f11febae45fd662f" - dependencies: - lodash "^4.17.4" - warning "^3.0.0" - -mjml-validator@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/mjml-validator/-/mjml-validator-3.3.0.tgz#1f9acaf0eb313625757ca86ce2f6c03805407cfd" +mjml-validator@^4.0.0-alpha.2: + version "4.0.0-alpha.2" + resolved "https://registry.yarnpkg.com/mjml-validator/-/mjml-validator-4.0.0-alpha.2.tgz#cf0de56709ff4c5576516acd8c593895f942f4eb" dependencies: lodash "^4.17.4" warning "^3.0.0" @@ -1112,13 +1039,13 @@ mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0: dependencies: minimist "0.0.8" -mocha@^3.2.0: - version "3.4.2" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.4.2.tgz#d0ef4d332126dbf18d0d640c9b382dd48be97594" +mocha@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.0.tgz#1328567d2717f997030f8006234bce9b8cd72465" dependencies: browser-stdout "1.3.0" commander "2.9.0" - debug "2.6.0" + debug "2.6.8" diff "3.2.0" escape-string-regexp "1.0.5" glob "7.1.1" @@ -1132,6 +1059,10 @@ ms@0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + mz@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/mz/-/mz-2.6.0.tgz#c8b8521d958df0a4f2768025db69c719ee4ef1ce" @@ -1156,13 +1087,6 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" -node-fetch@^1.0.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.0.tgz#3ff6c56544f9b7fb00682338bb55ee6f54a8a0ef" - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - node-pre-gyp@^0.6.29: version "0.6.36" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz#db604112cb74e0d477554e9b505b17abddfab786" @@ -1290,19 +1214,6 @@ process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" -promise@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" - dependencies: - asap "~2.0.3" - -prop-types@^15.5.7, prop-types@~15.5.7: - version "15.5.10" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.10.tgz#2797dfc3126182e3a95e3dfbb2e893ddd7456154" - dependencies: - fbjs "^0.8.9" - loose-envify "^1.3.1" - proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -1335,24 +1246,6 @@ rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-dom@^15.4.2: - version "15.5.4" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.5.4.tgz#ba0c28786fd52ed7e4f2135fe0288d462aef93da" - dependencies: - fbjs "^0.8.9" - loose-envify "^1.1.0" - object-assign "^4.1.0" - prop-types "~15.5.7" - -react@^15.4.2: - version "15.5.4" - resolved "https://registry.yarnpkg.com/react/-/react-15.5.4.tgz#fa83eb01506ab237cdc1c8c3b1cea8de012bf047" - dependencies: - fbjs "^0.8.9" - loose-envify "^1.1.0" - object-assign "^4.1.0" - prop-types "^15.5.7" - readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4: version "2.2.9" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8" @@ -1446,10 +1339,6 @@ set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -1592,10 +1481,6 @@ type-detect@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.3.tgz#0e3f2670b44099b0b46c284d136a7ef49c74c2ea" -ua-parser-js@^0.7.9: - version "0.7.12" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" - uglify-js@3.0.x: version "3.0.13" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.13.tgz#1871d736aa1e550c728d7e5a6556579e70925d68" @@ -1643,10 +1528,6 @@ web-resource-inliner@^4.1.0: request "^2.78.0" xtend "^4.0.0" -whatwg-fetch@>=0.10.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" - which@^1.2.9: version "1.2.14" resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" diff --git a/packages/mjml-column/src/index.js b/packages/mjml-column/src/index.js index cd610a893..d10d2d65d 100644 --- a/packages/mjml-column/src/index.js +++ b/packages/mjml-column/src/index.js @@ -3,23 +3,22 @@ import { BodyComponent } from 'mjml-core' import widthParser from 'mjml-core/lib/helpers/widthParser' export default class MjColumn extends BodyComponent { - - static allowedAttributes: { + static allowedAttributes = { 'background-color': 'color', - 'border': 'unit(px)', + border: 'unit(px)', 'border-bottom': 'unit(px)', 'border-left': 'unit(px)', 'border-radius': 'unit(px)', 'border-right': 'unit(px)', 'border-top': 'unit(px)', - 'direction': 'enum(ltr,rtl)', + direction: 'enum(ltr,rtl)', 'padding-bottom': 'unit(px,%)', 'padding-left': 'unit(px,%)', 'padding-right': 'unit(px,%)', 'padding-top': 'unit(px,%)', - 'padding': 'unit(px,%){1,4}', + padding: 'unit(px,%){1,4}', 'vertical-align': 'string', - 'width': 'unit(px,%)', + width: 'unit(px,%)', } static defaultAttributes = { @@ -27,27 +26,21 @@ export default class MjColumn extends BodyComponent { } getChildContext() { - const { - containerWidth, - } = this.context + const { containerWidth } = this.context - const { - sibling, - } = this.props + const { sibling } = this.props - const paddingSize = this.getShorthandAttrValue('padding', 'left') + this.getShorthandAttrValue('padding', 'right') + const paddingSize = + this.getShorthandAttrValue('padding', 'left') + this.getShorthandAttrValue('padding', 'right') let parentWidth = this.getAttribute('width') || `${parseFloat(containerWidth) / sibling}px` - const { - unit, - parsedWidth, - } = widthParser(parentWidth, { + const { unit, parsedWidth } = widthParser(parentWidth, { parseFloatToInt: false, }) if (unit === '%') { - parentWidth = `${(parseFloat(containerWidth) * parsedWidth / 100) - paddingSize}px` + parentWidth = `${parseFloat(containerWidth) * parsedWidth / 100 - paddingSize}px` } else { parentWidth = `${parsedWidth - paddingSize}px` } @@ -71,29 +64,29 @@ export default class MjColumn extends BodyComponent { } return { - 'div': { + div: { 'font-size': '13px', 'text-align': 'left', - 'direction': this.getAttribute('direction'), - 'display': 'inline-block', + direction: this.getAttribute('direction'), + display: 'inline-block', 'vertical-align': this.getAttribute('vertical-align'), - 'width': this.getMobileWidth(), + width: this.getMobileWidth(), }, - 'table': { + table: { ...(this.hasGutter() ? {} : tableStyle), }, - 'tdOutlook': { + tdOutlook: { 'vertical-align': this.getAttribute('vertical-align'), - 'width': this.getWidthAsPixel(), + width: this.getWidthAsPixel(), }, - 'gutter': { + gutter: { ...tableStyle, - 'padding': this.getAttribute('padding'), + padding: this.getAttribute('padding'), 'padding-top': this.getAttribute('padding-top'), 'padding-right': this.getAttribute('padding-right'), 'padding-bottom': this.getAttribute('padding-bottom'), 'padding-left': this.getAttribute('padding-left'), - } + }, } } @@ -102,16 +95,13 @@ export default class MjColumn extends BodyComponent { const width = this.getAttribute('width') const mobileWidth = this.getAttribute('mobileWidth') - if (mobileWidth != "mobileWidth" ) { + if (mobileWidth != 'mobileWidth') { return '100%' } else if (width == undefined) { return `${parseInt(100 / sibling)}%` } - const { - unit, - parsedWidth, - } = widthParser(width, { + const { unit, parsedWidth } = widthParser(width, { parseFloatToInt: false, }) @@ -125,35 +115,24 @@ export default class MjColumn extends BodyComponent { } getWidthAsPixel() { - const { - containerWidth - } = this.context + const { containerWidth } = this.context - const { - unit, - parsedWidth, - } = widthParser(this.getParsedWidth(true), { + const { unit, parsedWidth } = widthParser(this.getParsedWidth(true), { parseFloatToInt: false, }) if (unit === '%') { - return `${(parseFloat(containerWidth) * parsedWidth / 100)}px` - } else { - return `${parsedWidth}px` + return `${parseFloat(containerWidth) * parsedWidth / 100}px` } + return `${parsedWidth}px` } getParsedWidth(toString) { - const { - sibling, - } = this.props + const { sibling } = this.props const width = this.getAttribute('width') || `${100 / sibling}%` - const { - unit, - parsedWidth, - } = widthParser(width, { + const { unit, parsedWidth } = widthParser(width, { parseFloatToInt: false, }) @@ -168,16 +147,11 @@ export default class MjColumn extends BodyComponent { } getColumnClass() { - const { - addMediaQuery, - } = this.context + const { addMediaQuery } = this.context let className = '' - const { - parsedWidth, - unit, - } = this.getParsedWidth() + const { parsedWidth, unit } = this.getParsedWidth() switch (unit) { case '%': @@ -227,9 +201,7 @@ export default class MjColumn extends BodyComponent { } renderColumn() { - const { - children, - } = this.props + const { children } = this.props return ` ${this.renderChildren(children, { - renderer: component => component.rawElement ? component.render() : ` + renderer: component => + component.rawElement + ? component.render() + : `
` } - } diff --git a/packages/mjml-core/package.json b/packages/mjml-core/package.json index 577e3e405..c1adb575d 100644 --- a/packages/mjml-core/package.json +++ b/packages/mjml-core/package.json @@ -17,7 +17,7 @@ "build": "../../node_modules/.bin/babel src --out-dir lib" }, "dependencies": { - "html-minifier": "^3.5.2", + "html-minifier": "^3.5.3", "js-beautify": "^1.6.14", "juice": "^4.1.0", "lodash": "^4.17.3", diff --git a/packages/mjml-core/src/createComponent.js b/packages/mjml-core/src/createComponent.js index 7535cca4c..09d895f4c 100644 --- a/packages/mjml-core/src/createComponent.js +++ b/packages/mjml-core/src/createComponent.js @@ -65,11 +65,9 @@ class Component { return this.context.processing(mjml, this.context) } - } export class BodyComponent extends Component { - getStyles() { return {} } @@ -167,7 +165,6 @@ export class BodyComponent extends Component { return output } - } export class HeadComponent extends Component { @@ -192,5 +189,4 @@ export class HeadComponent extends Component { } }) } - } diff --git a/packages/mjml-core/src/helpers/colors.js b/packages/mjml-core/src/helpers/colors.js index 7f1771fb5..a440b3db2 100644 --- a/packages/mjml-core/src/helpers/colors.js +++ b/packages/mjml-core/src/helpers/colors.js @@ -1,150 +1,150 @@ export default [ - "aliceblue", - "antiquewhite", - "aqua", - "aquamarine", - "azure", - "beige", - "bisque", - "black", - "blanchedalmond", - "blue", - "blueviolet", - "brown", - "burlywood", - "cadetblue", - "chartreuse", - "chocolate", - "coral", - "cornflowerblue", - "cornsilk", - "crimson", - "cyan", - "darkblue", - "darkcyan", - "darkgoldenrod", - "darkgray", - "darkgreen", - "darkgrey", - "darkkhaki", - "darkmagenta", - "darkolivegreen", - "darkorange", - "darkorchid", - "darkred", - "darksalmon", - "darkseagreen", - "darkslateblue", - "darkslategray", - "darkslategrey", - "darkturquoise", - "darkviolet", - "deeppink", - "deepskyblue", - "dimgray", - "dimgrey", - "dodgerblue", - "firebrick", - "floralwhite", - "forestgreen", - "fuchsia", - "gainsboro", - "ghostwhite", - "gold", - "goldenrod", - "gray", - "green", - "greenyellow", - "grey", - "honeydew", - "hotpink", - "indianred", - "indigo", - "ivory", - "khaki", - "lavender", - "lavenderblush", - "lawngreen", - "lemonchiffon", - "lightblue", - "lightcoral", - "lightcyan", - "lightgoldenrodyellow", - "lightgray", - "lightgreen", - "lightgrey", - "lightpink", - "lightsalmon", - "lightseagreen", - "lightskyblue", - "lightslategray", - "lightslategrey", - "lightsteelblue", - "lightyellow", - "lime", - "limegreen", - "linen", - "magenta", - "maroon", - "mediumaquamarine", - "mediumblue", - "mediumorchid", - "mediumpurple", - "mediumseagreen", - "mediumslateblue", - "mediumspringgreen", - "mediumturquoise", - "mediumvioletred", - "midnightblue", - "mintcream", - "mistyrose", - "moccasin", - "navajowhite", - "navy", - "oldlace", - "olive", - "olivedrab", - "orange", - "orangered", - "orchid", - "palegoldenrod", - "palegreen", - "paleturquoise", - "palevioletred", - "papayawhip", - "peachpuff", - "peru", - "pink", - "plum", - "powderblue", - "purple", - "rebeccapurple", - "red", - "rosybrown", - "royalblue", - "saddlebrown", - "salmon", - "sandybrown", - "seagreen", - "seashell", - "sienna", - "silver", - "skyblue", - "slateblue", - "slategray", - "slategrey", - "snow", - "springgreen", - "steelblue", - "tan", - "teal", - "thistle", - "tomato", - "turquoise", - "violet", - "wheat", - "white", - "whitesmoke", - "yellow", - "yellowgreen", -] \ No newline at end of file + 'aliceblue', + 'antiquewhite', + 'aqua', + 'aquamarine', + 'azure', + 'beige', + 'bisque', + 'black', + 'blanchedalmond', + 'blue', + 'blueviolet', + 'brown', + 'burlywood', + 'cadetblue', + 'chartreuse', + 'chocolate', + 'coral', + 'cornflowerblue', + 'cornsilk', + 'crimson', + 'cyan', + 'darkblue', + 'darkcyan', + 'darkgoldenrod', + 'darkgray', + 'darkgreen', + 'darkgrey', + 'darkkhaki', + 'darkmagenta', + 'darkolivegreen', + 'darkorange', + 'darkorchid', + 'darkred', + 'darksalmon', + 'darkseagreen', + 'darkslateblue', + 'darkslategray', + 'darkslategrey', + 'darkturquoise', + 'darkviolet', + 'deeppink', + 'deepskyblue', + 'dimgray', + 'dimgrey', + 'dodgerblue', + 'firebrick', + 'floralwhite', + 'forestgreen', + 'fuchsia', + 'gainsboro', + 'ghostwhite', + 'gold', + 'goldenrod', + 'gray', + 'green', + 'greenyellow', + 'grey', + 'honeydew', + 'hotpink', + 'indianred', + 'indigo', + 'ivory', + 'khaki', + 'lavender', + 'lavenderblush', + 'lawngreen', + 'lemonchiffon', + 'lightblue', + 'lightcoral', + 'lightcyan', + 'lightgoldenrodyellow', + 'lightgray', + 'lightgreen', + 'lightgrey', + 'lightpink', + 'lightsalmon', + 'lightseagreen', + 'lightskyblue', + 'lightslategray', + 'lightslategrey', + 'lightsteelblue', + 'lightyellow', + 'lime', + 'limegreen', + 'linen', + 'magenta', + 'maroon', + 'mediumaquamarine', + 'mediumblue', + 'mediumorchid', + 'mediumpurple', + 'mediumseagreen', + 'mediumslateblue', + 'mediumspringgreen', + 'mediumturquoise', + 'mediumvioletred', + 'midnightblue', + 'mintcream', + 'mistyrose', + 'moccasin', + 'navajowhite', + 'navy', + 'oldlace', + 'olive', + 'olivedrab', + 'orange', + 'orangered', + 'orchid', + 'palegoldenrod', + 'palegreen', + 'paleturquoise', + 'palevioletred', + 'papayawhip', + 'peachpuff', + 'peru', + 'pink', + 'plum', + 'powderblue', + 'purple', + 'rebeccapurple', + 'red', + 'rosybrown', + 'royalblue', + 'saddlebrown', + 'salmon', + 'sandybrown', + 'seagreen', + 'seashell', + 'sienna', + 'silver', + 'skyblue', + 'slateblue', + 'slategray', + 'slategrey', + 'snow', + 'springgreen', + 'steelblue', + 'tan', + 'teal', + 'thistle', + 'tomato', + 'turquoise', + 'violet', + 'wheat', + 'white', + 'whitesmoke', + 'yellow', + 'yellowgreen', +] diff --git a/packages/mjml-core/src/helpers/mediaQueries.js b/packages/mjml-core/src/helpers/mediaQueries.js index 25a1f2937..8455f383c 100644 --- a/packages/mjml-core/src/helpers/mediaQueries.js +++ b/packages/mjml-core/src/helpers/mediaQueries.js @@ -8,5 +8,5 @@ export function buildMediaQueriesTags(breakpoint, mediaQueries = {}) { } ` : - '' + '' } diff --git a/packages/mjml-core/src/helpers/skeleton.js b/packages/mjml-core/src/helpers/skeleton.js index 1d4b3822f..e805a5b0d 100644 --- a/packages/mjml-core/src/helpers/skeleton.js +++ b/packages/mjml-core/src/helpers/skeleton.js @@ -61,7 +61,7 @@ export default function skeleton(options) { ${buildFontsTags(content, fonts)} ${buildMediaQueriesTags(breakpoint, mediaQueries)} - ${style ? `` : '' } + ${style ? `` : ''} ${buildPreview(preview)} diff --git a/packages/mjml-core/src/index.js b/packages/mjml-core/src/index.js index e093fb2c1..ff7d4aaaa 100644 --- a/packages/mjml-core/src/index.js +++ b/packages/mjml-core/src/index.js @@ -17,17 +17,14 @@ import skeleton from './helpers/skeleton' import traverseMJML from './helpers/traverseMJML' class ValidationError extends Error { - constructor(message, errors) { super(message) this.errors = errors } - } export default function mjml2html(mjml, options = {}) { - let content = '' let errors = [] @@ -36,9 +33,9 @@ export default function mjml2html(mjml, options = {}) { fonts = { 'Open Sans': 'https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,700', 'Droid Sans': 'https://fonts.googleapis.com/css?family=Droid+Sans:300,400,500,700', - 'Lato': 'https://fonts.googleapis.com/css?family=Lato:300,400,500,700', - 'Roboto': 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700', - 'Ubuntu': 'https://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700', + Lato: 'https://fonts.googleapis.com/css?family=Lato:300,400,500,700', + Roboto: 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700', + Ubuntu: 'https://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700', }, inlineCSS = true, keepComments, @@ -198,7 +195,6 @@ export default function mjml2html(mjml, options = {}) { html: content, errors, } - } export { diff --git a/packages/mjml-core/src/types/boolean.js b/packages/mjml-core/src/types/boolean.js index 1f991c96e..a39b076aa 100644 --- a/packages/mjml-core/src/types/boolean.js +++ b/packages/mjml-core/src/types/boolean.js @@ -2,12 +2,11 @@ import Type from './type' export const matcher = /^boolean/gmi -export default (params) => class Boolean extends Type { - - constructor (boolean) { +export default params => class Boolean extends Type { + constructor(boolean) { super(boolean) - this.matchers = [ /^true$/i, /^false$/i ] + this.matchers = [/^true$/i, /^false$/i] } getValue() { diff --git a/packages/mjml-core/src/types/color.js b/packages/mjml-core/src/types/color.js index 94d4d9018..e40fa2233 100644 --- a/packages/mjml-core/src/types/color.js +++ b/packages/mjml-core/src/types/color.js @@ -3,17 +3,15 @@ import colors from '../helpers/colors' export const matcher = /^color/gmi -export default (params) => { - return class Color extends Type { - constructor (color) { - super(color) +export default params => class Color extends Type { + constructor(color) { + super(color) - this.matchers = [ - /rgba\(\d{1,3},\d{1,3},\d{1,3},\d(\.\d)?\)/gi, - /rgb\(\d{1,3},\d{1,3},\d{1,3}\)/gi, - /^#([0-9a-f]{3}){1,2}$/gi, - new RegExp(`^(${colors.join('|')})$`) - ] - } + this.matchers = [ + /rgba\(\d{1,3},\d{1,3},\d{1,3},\d(\.\d)?\)/gi, + /rgb\(\d{1,3},\d{1,3},\d{1,3}\)/gi, + /^#([0-9a-f]{3}){1,2}$/gi, + new RegExp(`^(${colors.join('|')})$`), + ] } -} \ No newline at end of file +} diff --git a/packages/mjml-core/src/types/enum.js b/packages/mjml-core/src/types/enum.js index 9c70dafe3..58dc9ce2e 100644 --- a/packages/mjml-core/src/types/enum.js +++ b/packages/mjml-core/src/types/enum.js @@ -7,10 +7,9 @@ export default (params) => { const matchers = params.match(/\(([^)]+)\)/)[1].split(',') return class Enum extends Type { - static errorMessage = `Invalid value: $value for type Enum, only accepts ${matchers.join(', ')}` - constructor (value) { + constructor(value) { super(value) this.matchers = matchers.map(m => new RegExp(`^${escapeRegExp(m)}$`)) diff --git a/packages/mjml-core/src/types/index.js b/packages/mjml-core/src/types/index.js index 764142536..3b0750bcc 100644 --- a/packages/mjml-core/src/types/index.js +++ b/packages/mjml-core/src/types/index.js @@ -6,8 +6,8 @@ import NString, { matcher as stringMatcher } from './string' export default { boolean: { matcher: booleanMatcher, typeConstructor: NBoolean }, - enum: { matcher: enumMatcher, typeConstructor: Enum }, + enum: { matcher: enumMatcher, typeConstructor: Enum }, color: { matcher: colorMatcher, typeConstructor: Color }, unit: { matcher: unitMatcher, typeConstructor: Unit }, string: { matcher: stringMatcher, typeConstructor: NString }, -} \ No newline at end of file +} diff --git a/packages/mjml-core/src/types/string.js b/packages/mjml-core/src/types/string.js index ca241be3d..3adf88b50 100644 --- a/packages/mjml-core/src/types/string.js +++ b/packages/mjml-core/src/types/string.js @@ -2,12 +2,10 @@ import Type from './type' export const matcher = /^string/gmi -export default (params) => { - return class NString extends Type { - constructor (value) { - super(value) +export default params => class NString extends Type { + constructor(value) { + super(value) - this.matchers = [ /.*/ ] - } + this.matchers = [/.*/] } } diff --git a/packages/mjml-core/src/types/type.js b/packages/mjml-core/src/types/type.js index 317684b44..6f1cffe9a 100644 --- a/packages/mjml-core/src/types/type.js +++ b/packages/mjml-core/src/types/type.js @@ -10,7 +10,7 @@ export const initializeType = (typeConfig) => { return types[typeConfig] } - const { typeConstructor } = find(typesConstructors, (type) => !!typeConfig.match(type.matcher)) || {} + const { typeConstructor } = find(typesConstructors, type => !!typeConfig.match(type.matcher)) || {} if (!typeConstructor) { throw new Error(`No type found for ${typeConfig}`) @@ -22,15 +22,15 @@ export const initializeType = (typeConfig) => { } export default class Type { - constructor (value) { + constructor(value) { this.value = value } - isValid () { - return some(this.matchers, (matcher) => this.value.match(matcher)) + isValid() { + return some(this.matchers, matcher => this.value.match(matcher)) } - getErrorMessage () { + getErrorMessage() { if (this.isValid()) { return } @@ -40,11 +40,11 @@ export default class Type { return errorMessage.replace(/\$value/g, this.value) } - static check (type) { + static check(type) { return !!type.match(this.constructor.typeChecker) } - getValue () { + getValue() { return this.value } } diff --git a/packages/mjml-core/src/types/unit.js b/packages/mjml-core/src/types/unit.js index 6b6e7f344..bc8acb9a2 100644 --- a/packages/mjml-core/src/types/unit.js +++ b/packages/mjml-core/src/types/unit.js @@ -8,16 +8,15 @@ export default (params) => { const args = params.match(/\{([^}]+)\}/)[1].split(',') return class Unit extends Type { - static errorMessage = `Invalid value: $value for type Unit, only accepts (${units.join(', ')}) units and ${args.join(' to ')} members` - constructor (value) { + constructor(value) { super(value) - this.matchers = [ new RegExp(`^((\\d){1,}(${units.map(escapeRegExp).join('|')})( )?){${args.join(',')}}$`) ] + this.matchers = [new RegExp(`^((\\d){1,}(${units.map(escapeRegExp).join('|')})( )?){${args.join(',')}}$`)] } - convertAs (unit = 'px', base) { + convertAs(unit = 'px', base) { } } } diff --git a/packages/mjml-core/yarn.lock b/packages/mjml-core/yarn.lock index 86d5e6b02..bcd8b1cda 100644 --- a/packages/mjml-core/yarn.lock +++ b/packages/mjml-core/yarn.lock @@ -129,6 +129,10 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" +commander@2.11.x: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + commander@2.9.0, commander@2.9.x, commander@^2.9.0, commander@~2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" @@ -323,6 +327,19 @@ html-minifier@^3.5.2: relateurl "0.2.x" uglify-js "3.0.x" +html-minifier@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.3.tgz#4a275e3b1a16639abb79b4c11191ff0d0fcf1ab9" + dependencies: + camel-case "3.0.x" + clean-css "4.1.x" + commander "2.11.x" + he "1.1.x" + ncname "1.0.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.0.x" + htmlparser2@^3.9.1, htmlparser2@^3.9.2: version "3.9.2" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" @@ -379,6 +396,10 @@ js-beautify@^1.6.14: mkdirp "~0.5.0" nopt "~3.0.1" +js-tokens@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -474,10 +495,16 @@ lodash.unescape@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" -lodash@^4.14.0, lodash@^4.17.3: +lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" +loose-envify@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" @@ -517,6 +544,33 @@ minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" +mjml-core@^4.0.0-alpha.2: + version "4.0.0-alpha.2" + resolved "https://registry.yarnpkg.com/mjml-core/-/mjml-core-4.0.0-alpha.2.tgz#dd2951b106a5e77125c49c2b427726ff6b7125a7" + dependencies: + html-minifier "^3.5.2" + js-beautify "^1.6.14" + juice "^4.1.0" + lodash "^4.17.3" + mjml-parser-xml "^4.0.0-alpha.2" + mjml-validator "^4.0.0-alpha.2" + object-path "^0.11.3" + +mjml-parser-xml@^4.0.0-alpha.2: + version "4.0.0-alpha.2" + resolved "https://registry.yarnpkg.com/mjml-parser-xml/-/mjml-parser-xml-4.0.0-alpha.2.tgz#5a14fae35990d582ffeb3ee393a7b188f993b4a5" + dependencies: + htmlparser2 "^3.9.2" + lodash "^4.17.2" + mjml-core "^4.0.0-alpha.2" + +mjml-validator@4.0.0-alpha.2, mjml-validator@^4.0.0-alpha.2: + version "4.0.0-alpha.2" + resolved "https://registry.yarnpkg.com/mjml-validator/-/mjml-validator-4.0.0-alpha.2.tgz#cf0de56709ff4c5576516acd8c593895f942f4eb" + dependencies: + lodash "^4.17.4" + warning "^3.0.0" + mkdirp@~0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" @@ -743,6 +797,12 @@ verror@1.3.6: dependencies: extsprintf "1.0.2" +warning@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" + dependencies: + loose-envify "^1.0.0" + web-resource-inliner@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/web-resource-inliner/-/web-resource-inliner-4.1.0.tgz#a97aeb899c3d3c7f812dec6d5910843032667943" diff --git a/packages/mjml-divider/src/index.js b/packages/mjml-divider/src/index.js index a157d9e1a..739cfbf5a 100644 --- a/packages/mjml-divider/src/index.js +++ b/packages/mjml-divider/src/index.js @@ -3,15 +3,14 @@ import { BodyComponent } from 'mjml-core' import widthParser from 'mjml-core/lib/helpers/widthParser' export default class MjDivider extends BodyComponent { - static tagOmission = true static defaultAttributes = { 'border-color': '#000000', 'border-style': 'solid', 'border-width': '4px', - 'padding': '10px 25px', - 'width': '100%', + padding: '10px 25px', + width: '100%', } getStyles() { @@ -19,8 +18,8 @@ export default class MjDivider extends BodyComponent { p: { 'border-top': `${this.getAttribute('border-width')} ${this.getAttribute('border-style')} ${this.getAttribute('border-color')}`, 'font-size': 1, - 'margin': '0px auto', - 'width': this.getAttribute('width'), + margin: '0px auto', + width: this.getAttribute('width'), }, } } @@ -58,12 +57,11 @@ export default class MjDivider extends BodyComponent { return `

${this.renderAfter()} ` } - } diff --git a/packages/mjml-group/src/index.js b/packages/mjml-group/src/index.js index 5f60a0050..68b372f1b 100644 --- a/packages/mjml-group/src/index.js +++ b/packages/mjml-group/src/index.js @@ -3,30 +3,29 @@ import { BodyComponent } from 'mjml-core' import widthParser from 'mjml-core/lib/helpers/widthParser' export default class MjGroup extends BodyComponent { - static allowedAttributes = { 'background-color': 'color', - 'border': 'unit(px)', + border: 'unit(px)', 'border-bottom': 'unit(px)', 'border-left': 'unit(px)', 'border-radius': 'unit(px)', 'border-right': 'unit(px)', 'border-top': 'unit(px)', - 'direction': 'enum(ltr,rtl)', + direction: 'enum(ltr,rtl)', 'padding-bottom': 'unit(px,%)', 'padding-left': 'unit(px,%)', 'padding-right': 'unit(px,%)', 'padding-top': 'unit(px,%)', - 'padding': 'unit(px,%){1,4}', + padding: 'unit(px,%){1,4}', 'vertical-align': 'string', - 'width': 'unit(px,%)', + width: 'unit(px,%)', } static defaultAttributes = { - 'direction': 'ltr', + direction: 'ltr', } - getChildContext () { + getChildContext() { const { containerWidth, } = this.context @@ -56,20 +55,20 @@ export default class MjGroup extends BodyComponent { } } - getStyles () { + getStyles() { return { - 'div': { + div: { 'font-size': '0', 'line-height': '0', 'text-align': 'left', - 'direction': this.getAttribute('direction'), - 'display': 'inline-block', + direction: this.getAttribute('direction'), + display: 'inline-block', 'vertical-align': this.getAttribute('vertical-align'), - 'width': '100%', + width: '100%', }, - 'table': { + table: { 'background-color': this.getAttribute('background-color'), - 'border': this.getAttribute('border'), + border: this.getAttribute('border'), 'border-bottom': this.getAttribute('border-bottom'), 'border-left': this.getAttribute('border-left'), 'border-radius': this.getAttribute('border-radius'), @@ -77,14 +76,14 @@ export default class MjGroup extends BodyComponent { 'border-top': this.getAttribute('border-top'), 'vertical-align': this.getAttribute('vertical-align'), }, - 'tdOutlook' : { + tdOutlook: { 'vertical-align': this.getAttribute('vertical-align'), - 'width': this.getWidthAsPixel(), - } + width: this.getWidthAsPixel(), + }, } } - getParsedWidth (toString) { + getParsedWidth(toString) { const { sibling, } = this.props @@ -108,9 +107,9 @@ export default class MjGroup extends BodyComponent { } } - getWidthAsPixel() { + getWidthAsPixel() { const { - containerWidth + containerWidth, } = this.context const { @@ -122,12 +121,11 @@ export default class MjGroup extends BodyComponent { if (unit === '%') { return `${(parseFloat(containerWidth) * parsedWidth / 100)}px` - } else { - return `${parsedWidth}px` } + return `${parsedWidth}px` } - getColumnClass () { + getColumnClass() { const { addMediaQuery, } = this.context @@ -159,18 +157,18 @@ export default class MjGroup extends BodyComponent { return className } - render () { + render() { const { children, sibling, } = this.props const { - containerWidth: groupWidth + containerWidth: groupWidth, } = this.getChildContext() const { - containerWidth + containerWidth, } = this.context const getElementWidth = (width) => { @@ -187,9 +185,8 @@ export default class MjGroup extends BodyComponent { if (unit == '%') { return `${100 * parsedWidth / groupWidth}px` - } else { - return `${parsedWidth}${unit}` } + return `${parsedWidth}${unit}` } let classesName = `${this.getColumnClass()} outlook-group-fix` @@ -201,32 +198,32 @@ export default class MjGroup extends BodyComponent { return `
${this.renderChildren(children, { - attributes: { mobileWidth: 'mobileWidth' }, - renderer: component => component.rawElement ? component.render() : ` + attributes: { mobileWidth: 'mobileWidth' }, + renderer: component => (component.rawElement ? component.render() : ` ${component.render()} - `})} + `) })} ${this.renderChildren(children, { - renderer: component => component.rawElement ? component.render() : ` + renderer: component => (component.rawElement ? component.render() : ` ${component.render()} - `, - })} + `), + })} ${content} @@ -234,27 +233,27 @@ getChildContext() { return `
+ class: this.isFullWidth() ? null : this.getAttribute('css-class'), + style: 'div', + })}> ${hasBackground ? `
` : ''} ` - ), - })} + ), + })} ${component.render()} @@ -34,10 +33,9 @@ export default class MjWrapper extends MjSection { - `, - })} + `), + })} ` } - } diff --git a/packages/mjml-wraper/yarn.lock b/packages/mjml-wrapper/yarn.lock similarity index 100% rename from packages/mjml-wraper/yarn.lock rename to packages/mjml-wrapper/yarn.lock diff --git a/packages/mjml/src/dependencies.js b/packages/mjml/src/dependencies.js index ce794dcb9..20608ba44 100644 --- a/packages/mjml/src/dependencies.js +++ b/packages/mjml/src/dependencies.js @@ -1,5 +1,5 @@ export default { - 'mjml': [ + mjml: [ 'mj-body', 'mj-head', ], @@ -11,7 +11,7 @@ export default { 'mj-accordion-title': [], 'mj-accordion-text': [], 'mj-attributes': [ - /^.*^/ + /^.*^/, ], 'mj-body': [ 'mj-container', diff --git a/test.js b/test.js index 333ed3538..8594b602c 100644 --- a/test.js +++ b/test.js @@ -4,30 +4,27 @@ const mjml2html = require('./packages/mjml/src/index') const xml = ` + + + - + - - - - - - - Unsubscribe from this newsletter
52 Edison Court Suite 259 / East Aidabury / Cambodi
- Hello boyz -
-
-
+ + Hello World +
+
-
` + +` console.time('mjml2html') const { html } = mjml2html(xml, { beautify: true, - filePath: './test.mjml' + filePath: './test.mjml', }) console.timeEnd('mjml2html') diff --git a/type.js b/type.js index 7835f99e4..e80efce4b 100644 --- a/type.js +++ b/type.js @@ -10,7 +10,7 @@ console.log(stringtype) const output = (t) => { console.log(`Type: ${t.constructor.name} — Value: ${t.value} — isValid: ${t.isValid()} ${t.getErrorMessage()}`) } -[ new colortype('grey'), +[new colortype('grey'), new colortype('rgba(0,255,3,0.3)'), new colortype('#DDF'), new colortype('#DF'), @@ -23,6 +23,6 @@ const output = (t) => { console.log(`Type: ${t.constructor.name} — Value: ${t. new unittype('10%'), new unittype('10px 10px'), new unittype('0'), - new stringtype('hello world') + new stringtype('hello world'), ].map(output) diff --git a/yarn.lock b/yarn.lock index 387d400b9..5bf6cf149 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,9 +23,9 @@ acorn@^3.0.4: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" -acorn@^5.0.1: - version "5.0.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" +acorn@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.1.tgz#53fe161111f912ab999ee887a90a0bc52822fd75" add-stream@^1.0.0: version "1.0.0" @@ -42,6 +42,15 @@ ajv@^4.7.0, ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" +ajv@^5.2.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.2.tgz#47c68d69e86f5d953103b0074a9430dc63da5e39" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + json-schema-traverse "^0.3.0" + json-stable-stringify "^1.0.1" + align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" @@ -62,10 +71,20 @@ ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" +ansi-styles@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" + dependencies: + color-convert "^1.9.0" + anymatch@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" @@ -158,28 +177,28 @@ aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" -babel-cli@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.24.1.tgz#207cd705bba61489b2ea41b5312341cf6aca2283" +babel-cli@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" dependencies: - babel-core "^6.24.1" - babel-polyfill "^6.23.0" - babel-register "^6.24.1" - babel-runtime "^6.22.0" - commander "^2.8.1" - convert-source-map "^1.1.0" + babel-core "^6.26.0" + babel-polyfill "^6.26.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + commander "^2.11.0" + convert-source-map "^1.5.0" fs-readdir-recursive "^1.0.0" - glob "^7.0.0" - lodash "^4.2.0" - output-file-sync "^1.1.0" - path-is-absolute "^1.0.0" + glob "^7.1.2" + lodash "^4.17.4" + output-file-sync "^1.1.2" + path-is-absolute "^1.0.1" slash "^1.0.0" - source-map "^0.5.0" - v8flags "^2.0.10" + source-map "^0.5.6" + v8flags "^2.1.1" optionalDependencies: chokidar "^1.6.1" -babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: +babel-code-frame@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" dependencies: @@ -187,29 +206,37 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.0" -babel-core@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" dependencies: - babel-code-frame "^6.22.0" - babel-generator "^6.24.1" + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" babel-helpers "^6.24.1" babel-messages "^6.23.0" - babel-register "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babylon "^6.11.0" - convert-source-map "^1.1.0" - debug "^2.1.1" - json5 "^0.5.0" - lodash "^4.2.0" - minimatch "^3.0.2" - path-is-absolute "^1.0.0" - private "^0.1.6" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" slash "^1.0.0" - source-map "^0.5.0" + source-map "^0.5.6" babel-eslint@^7.2.3: version "7.2.3" @@ -220,17 +247,17 @@ babel-eslint@^7.2.3: babel-types "^6.23.0" babylon "^6.17.0" -babel-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" +babel-generator@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" dependencies: babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-types "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" detect-indent "^4.0.0" jsesc "^1.3.0" - lodash "^4.2.0" - source-map "^0.5.0" + lodash "^4.17.4" + source-map "^0.5.6" trim-right "^1.0.1" babel-helper-bindify-decorators@^6.24.1: @@ -683,17 +710,17 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-polyfill@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" +babel-polyfill@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" dependencies: - babel-runtime "^6.22.0" - core-js "^2.4.0" - regenerator-runtime "^0.10.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + regenerator-runtime "^0.10.5" -babel-preset-env@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.5.2.tgz#cd4ae90a6e94b709f97374b33e5f8b983556adef" +babel-preset-env@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.0.tgz#2de1c782a780a0a5d605d199c957596da43c44e4" dependencies: babel-plugin-check-es2015-constants "^6.22.0" babel-plugin-syntax-trailing-function-commas "^6.22.0" @@ -761,17 +788,17 @@ babel-preset-stage-3@^6.24.1: babel-plugin-transform-exponentiation-operator "^6.24.1" babel-plugin-transform-object-rest-spread "^6.22.0" -babel-register@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" dependencies: - babel-core "^6.24.1" - babel-runtime "^6.22.0" - core-js "^2.4.0" + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" home-or-tmp "^2.0.0" - lodash "^4.2.0" + lodash "^4.17.4" mkdirp "^0.5.1" - source-map-support "^0.4.2" + source-map-support "^0.4.15" babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0: version "6.23.0" @@ -780,6 +807,13 @@ babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0: core-js "^2.4.0" regenerator-runtime "^0.10.0" +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + babel-template@^6.24.1, babel-template@^6.3.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" @@ -790,6 +824,16 @@ babel-template@^6.24.1, babel-template@^6.3.0: babylon "^6.11.0" lodash "^4.2.0" +babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + babel-traverse@^6.23.1, babel-traverse@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" @@ -804,6 +848,20 @@ babel-traverse@^6.23.1, babel-traverse@^6.24.1: invariant "^2.2.0" lodash "^4.2.0" +babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" @@ -813,10 +871,23 @@ babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1: lodash "^4.2.0" to-fast-properties "^1.0.1" +babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + babylon@^6.11.0, babylon@^6.15.0, babylon@^6.17.0: version "6.17.1" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.1.tgz#17f14fddf361b695981fe679385e4f1c01ebd86f" +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + balanced-match@^0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" @@ -931,6 +1002,14 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +chalk@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" + dependencies: + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" + chokidar@^1.6.1: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" @@ -954,12 +1033,6 @@ circular-json@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" -cli-cursor@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -1005,6 +1078,16 @@ code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" +color-convert@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" + dependencies: + color-name "^1.1.1" + +color-name@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + columnify@^1.5.4: version "1.5.4" resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" @@ -1022,11 +1105,9 @@ command-join@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf" -commander@^2.8.1: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - dependencies: - graceful-readlink ">= 1.0.0" +commander@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" compare-func@^1.3.1: version "1.3.2" @@ -1039,7 +1120,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.4.10, concat-stream@^1.5.2: +concat-stream@^1.4.10, concat-stream@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -1201,7 +1282,7 @@ conventional-recommended-bump@^1.0.0: meow "^3.3.0" object-assign "^4.0.1" -convert-source-map@^1.1.0: +convert-source-map@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" @@ -1209,6 +1290,10 @@ core-js@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" +core-js@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.0.tgz#569c050918be6486b3837552028ae0466b717086" + core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -1220,7 +1305,7 @@ cross-spawn@^4.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^5.0.1: +cross-spawn@^5.0.1, cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" dependencies: @@ -1240,12 +1325,6 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - dependencies: - es5-ext "^0.10.9" - dargs@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" @@ -1265,13 +1344,7 @@ dateformat@^1.0.11, dateformat@^1.0.12: get-stdin "^4.0.1" meow "^3.3.0" -debug@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" - dependencies: - ms "0.7.1" - -debug@^2.1.1, debug@^2.2.0: +debug@^2.2.0, debug@^2.6.8: version "2.6.8" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: @@ -1369,32 +1442,6 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" -es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.23" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.23.tgz#7578b51be974207a5487821b56538c224e4e7b38" - dependencies: - es6-iterator "2" - es6-symbol "~3.1" - -es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-symbol "^3.1" - -es6-map@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-set "~0.1.5" - es6-symbol "~3.1.1" - event-emitter "~0.3.5" - es6-promise@^4.0.3: version "4.1.0" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.1.0.tgz#dda03ca8f9f89bc597e689842929de7ba8cebdf0" @@ -1405,129 +1452,108 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -es6-set@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-symbol "3.1.1" - event-emitter "~0.3.5" - -es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - dependencies: - d "1" - es5-ext "~0.10.14" - -es6-weak-map@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" +eslint-config-airbnb-base@^11.3.2: + version "11.3.2" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.3.2.tgz#8703b11abe3c88ac7ec2b745b7fdf52e00ae680a" dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-config-airbnb-base@^11.2.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.2.0.tgz#19a9dc4481a26f70904545ec040116876018f853" + eslint-restricted-globals "^0.1.1" -eslint-import-resolver-node@^0.2.0: - version "0.2.3" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" +eslint-import-resolver-node@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz#4422574cde66a9a7b099938ee4d508a199e0e3cc" dependencies: - debug "^2.2.0" - object-assign "^4.0.1" - resolve "^1.1.6" + debug "^2.6.8" + resolve "^1.2.0" -eslint-module-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz#a6f8c21d901358759cdc35dbac1982ae1ee58bce" +eslint-module-utils@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449" dependencies: - debug "2.2.0" + debug "^2.6.8" pkg-dir "^1.0.0" -eslint-plugin-import@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.3.0.tgz#37c801e0ada0e296cbdf20c3f393acb5b52af36b" +eslint-plugin-import@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz#21de33380b9efb55f5ef6d2e210ec0e07e7fa69f" dependencies: builtin-modules "^1.1.1" contains-path "^0.1.0" - debug "^2.2.0" + debug "^2.6.8" doctrine "1.5.0" - eslint-import-resolver-node "^0.2.0" - eslint-module-utils "^2.0.0" + eslint-import-resolver-node "^0.3.1" + eslint-module-utils "^2.1.1" has "^1.0.1" lodash.cond "^4.3.0" minimatch "^3.0.3" read-pkg-up "^2.0.0" -eslint@^3.19.0: - version "3.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" +eslint-restricted-globals@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" + +eslint-scope@^3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" dependencies: - babel-code-frame "^6.16.0" - chalk "^1.1.3" - concat-stream "^1.5.2" - debug "^2.1.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.5.0.tgz#bb75d3b8bde97fb5e13efcd539744677feb019c3" + dependencies: + ajv "^5.2.0" + babel-code-frame "^6.22.0" + chalk "^2.1.0" + concat-stream "^1.6.0" + cross-spawn "^5.1.0" + debug "^2.6.8" doctrine "^2.0.0" - escope "^3.6.0" - espree "^3.4.0" + eslint-scope "^3.7.1" + espree "^3.5.0" esquery "^1.0.0" estraverse "^4.2.0" esutils "^2.0.2" file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.14.0" - ignore "^3.2.0" + functional-red-black-tree "^1.0.1" + glob "^7.1.2" + globals "^9.17.0" + ignore "^3.3.3" imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" + inquirer "^3.0.6" is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" + js-yaml "^3.9.1" + json-stable-stringify "^1.0.1" levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" + lodash "^4.17.4" + minimatch "^3.0.2" + mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.7.5" - strip-bom "^3.0.0" + path-is-inside "^1.0.2" + pluralize "^4.0.0" + progress "^2.0.0" + require-uncached "^1.0.3" + semver "^5.3.0" + strip-ansi "^4.0.0" strip-json-comments "~2.0.1" - table "^3.7.8" + table "^4.0.1" text-table "~0.2.0" - user-home "^2.0.0" -espree@^3.4.0: - version "3.4.3" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374" +espree@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.0.tgz#98358625bdd055861ea27e2867ea729faf463d8d" dependencies: - acorn "^5.0.1" + acorn "^5.1.1" acorn-jsx "^3.0.0" -esprima@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" +esprima@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" esquery@^1.0.0: version "1.0.0" @@ -1554,13 +1580,6 @@ esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -event-emitter@~0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - dependencies: - d "1" - es5-ext "~0.10.14" - execa@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/execa/-/execa-0.5.1.tgz#de3fb85cb8d6e91c85bcbceb164581785cb57b36" @@ -1585,10 +1604,6 @@ execa@^0.6.3: signal-exit "^3.0.0" strip-eof "^1.0.0" -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -1623,17 +1638,14 @@ extsprintf@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" +fast-deep-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" + fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" -figures@^1.3.5: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -1749,6 +1761,10 @@ function-bind@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -1762,16 +1778,6 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" @@ -1858,7 +1864,7 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: +glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -1869,10 +1875,14 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^9.0.0, globals@^9.14.0: +globals@^9.0.0: version "9.17.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" +globals@^9.17.0, globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + globby@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" @@ -1898,10 +1908,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - handlebars@^4.0.2: version "4.0.10" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" @@ -1929,6 +1935,10 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -1975,7 +1985,7 @@ iconv-lite@^0.4.17: version "0.4.17" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" -ignore@^3.2.0: +ignore@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" @@ -2004,24 +2014,6 @@ ini@^1.3.2, ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" -inquirer@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" - dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - figures "^1.3.5" - lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - inquirer@^3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" @@ -2040,10 +2032,6 @@ inquirer@^3.0.6: strip-ansi "^3.0.0" through "^2.3.6" -interpret@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" - invariant@^2.2.0, invariant@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" @@ -2120,15 +2108,6 @@ is-glob@^2.0.0, is-glob@^2.0.1: dependencies: is-extglob "^1.0.0" -is-my-json-valid@^2.10.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - is-number@^2.0.2, is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" @@ -2171,10 +2150,6 @@ is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - is-resolvable@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" @@ -2235,12 +2210,16 @@ js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" -js-yaml@^3.5.1: - version "3.8.4" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +js-yaml@^3.9.1: + version "3.9.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0" dependencies: argparse "^1.0.7" - esprima "^3.1.1" + esprima "^4.0.0" jsbn@~0.1.0: version "0.1.1" @@ -2258,11 +2237,15 @@ jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: +json-stable-stringify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: @@ -2272,7 +2255,7 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" -json5@^0.5.0: +json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" @@ -2290,10 +2273,6 @@ jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - jsprim@^1.2.2: version "1.4.0" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" @@ -2319,7 +2298,7 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" -lerna@^2.0.0-rc.5: +lerna@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lerna/-/lerna-2.0.0.tgz#49a72fe70e06aebfd7ea23efb2ab41abe60ebeea" dependencies: @@ -2522,7 +2501,7 @@ minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: +"mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -2536,18 +2515,10 @@ moment@^2.6.0: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" -mute-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -2636,19 +2607,15 @@ once@^1.3.0, once@^1.3.3: dependencies: wrappy "1" -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" dependencies: mimic-fn "^1.0.0" -opn@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.0.0.tgz#f8870d7cd969b218030cb6ce5a1285e795931df3" +opn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" dependencies: is-wsl "^1.1.0" @@ -2693,7 +2660,7 @@ osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -output-file-sync@^1.1.0: +output-file-sync@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" dependencies: @@ -2744,11 +2711,11 @@ path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" -path-is-absolute@^1.0.0: +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" -path-is-inside@^1.0.1: +path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" @@ -2798,9 +2765,9 @@ pkg-dir@^1.0.0: dependencies: find-up "^1.0.0" -pluralize@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" +pluralize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762" prelude-ls@~1.1.2: version "1.1.2" @@ -2810,7 +2777,7 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -private@^0.1.6: +private@^0.1.6, private@^0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" @@ -2818,9 +2785,9 @@ process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" -progress@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" +progress@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" pseudomap@^1.0.1: version "1.0.2" @@ -2911,20 +2878,6 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" -readline2@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" @@ -2936,10 +2889,14 @@ regenerate@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" -regenerator-runtime@^0.10.0: +regenerator-runtime@^0.10.0, regenerator-runtime@^0.10.5: version "0.10.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" +regenerator-runtime@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" + regenerator-transform@0.9.11: version "0.9.11" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" @@ -3026,7 +2983,7 @@ require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" -require-uncached@^1.0.2: +require-uncached@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" dependencies: @@ -3037,19 +2994,12 @@ resolve-from@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" -resolve@^1.1.6: - version "1.3.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" +resolve@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" dependencies: path-parse "^1.0.5" -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -3069,22 +3019,12 @@ rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1: dependencies: glob "^7.0.5" -run-async@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" - dependencies: - once "^1.3.0" - run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" dependencies: is-promise "^2.1.0" -rx-lite@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" - rx@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" @@ -3115,14 +3055,6 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -shelljs@^0.7.5: - version "0.7.8" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -3151,9 +3083,9 @@ sort-keys@^1.1.1, sort-keys@^1.1.2: dependencies: is-plain-obj "^1.0.0" -source-map-support@^0.4.2: - version "0.4.15" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" +source-map-support@^0.4.15: + version "0.4.16" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.16.tgz#16fecf98212467d017d586a2af68d628b9421cd8" dependencies: source-map "^0.5.6" @@ -3163,7 +3095,7 @@ source-map@^0.4.4: dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.6, source-map@~0.5.1: +source-map@^0.5.6, source-map@~0.5.1: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" @@ -3243,6 +3175,12 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -3281,9 +3219,15 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -table@^3.7.8: - version "3.8.3" - resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" +supports-color@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.2.1.tgz#65a4bb2631e90e02420dba5554c375a4754bb836" + dependencies: + has-flag "^2.0.0" + +table@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/table/-/table-4.0.1.tgz#a8116c133fac2c61f4a420ab6cdf5c4d61f0e435" dependencies: ajv "^4.7.0" ajv-keywords "^1.0.0" @@ -3360,7 +3304,7 @@ tmp@^0.0.31: dependencies: os-tmpdir "~1.0.1" -to-fast-properties@^1.0.1: +to-fast-properties@^1.0.1, to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" @@ -3431,12 +3375,6 @@ user-home@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - dependencies: - os-homedir "^1.0.0" - util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -3449,7 +3387,7 @@ uuid@^3.0.0, uuid@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" -v8flags@^2.0.10: +v8flags@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" dependencies: @@ -3545,7 +3483,7 @@ write@^0.2.1: dependencies: mkdirp "^0.5.1" -xtend@^4.0.0, xtend@~4.0.1: +xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
${this.renderChildren(children, { - attributes: this.getSocialElementAttributes(), - renderer: component => (` + attributes: this.getSocialElementAttributes(), + renderer: component => (` ${component.render()}
@@ -104,8 +103,8 @@ export default class MjSocial extends BodyComponent {