diff --git a/acceptance-setup/__tests__/__snapshots__/acceptance.js.snap b/acceptance-setup/__tests__/__snapshots__/acceptance.js.snap index 7d57826..a7f4119 100644 --- a/acceptance-setup/__tests__/__snapshots__/acceptance.js.snap +++ b/acceptance-setup/__tests__/__snapshots__/acceptance.js.snap @@ -2,7 +2,7 @@ exports[`Registry should correctly serve rendered and unrendered components 1`] = `"{\\"type\\":\\"oc-component-local\\",\\"version\\":\\"6.6.6\\",\\"requestVersion\\":\\"\\",\\"name\\":\\"react-app\\",\\"renderMode\\":\\"unrendered\\",\\"href\\":\\"http://localhost:3000/react-app?name=SuperMario\\",\\"data\\":{\\"reactComponent\\":{,\\"src\\":\\"http://localhost:3000/react-app/6.6.6/static/react-component.js\\",\\"props\\":{\\"name\\":\\"SuperMario\\",\\"_staticPath\\":\\"http://localhost:3000/react-app/6.6.6/static/\\",\\"_baseUrl\\":\\"http://localhost:3000/\\",\\"_componentName\\":\\"react-app\\",\\"_componentVersion\\":\\"6.6.6\\"}}},\\"template\\":{\\"src\\":\\"http://localhost:3000/react-app/6.6.6/static/template.js\\",\\"type\\":\\"oc-template-react\\",}}"`; -exports[`Registry should correctly serve rendered and unrendered components 2`] = `"{\\"type\\":\\"oc-component-local\\",\\"version\\":\\"6.6.6\\",\\"requestVersion\\":\\"\\",\\"name\\":\\"react-app\\",\\"renderMode\\":\\"rendered\\",\\"href\\":\\"http://localhost:3000/react-app?name=SuperMario\\",\\"html\\":\\"

Hello SuperMario

component name: react-app

component version: 6.6.6

registry baseUrl: http://localhost:3000/

component staticPath: http://localhost:3000/react-app/6.6.6/static/

\\"}"`; +exports[`Registry should correctly serve rendered and unrendered components 2`] = `"{\\"type\\":\\"oc-component-local\\",\\"version\\":\\"6.6.6\\",\\"requestVersion\\":\\"\\",\\"name\\":\\"react-app\\",\\"renderMode\\":\\"rendered\\",\\"href\\":\\"http://localhost:3000/react-app?name=SuperMario\\",\\"html\\":\\"

Hello SuperMario

component name: react-app

component version: 6.6.6

registry baseUrl: http://localhost:3000/

component staticPath: http://localhost:3000/react-app/6.6.6/static/

\\"}"`; exports[`client-side-side rendering 1`] = ` Array [ @@ -27,7 +27,7 @@ exports[`client-side-side rendering 2`] = ` exports[`client-side-side rendering 3`] = ` Array [ Array [ - ".textColor__3g8gQnty{color:green}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}.just-special__3WWFUmyX{background:#db7093;color:#fff;display:flex}/*! Something \\"doublyQueoted\\" and \\"singlyWuoted\\" */.super-special__2fC_7zSu{background-color:pink}", + ".textColor__3g8gQnty{color:green}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}.just-special__3WWFUmyX{background:#db7093;color:#fff;display:-webkit-box;display:flex}/*! Something \\"doublyQueoted\\" and \\"singlyWuoted\\" */.super-special__2fC_7zSu{background-color:pink}", ], ] `; @@ -37,7 +37,7 @@ exports[`server-side-side rendering 1`] = ` A page -

Hello SuperMario

component name: react-app

component version: 6.6.6

registry baseUrl: http://localhost:3000/

component staticPath: http://localhost:3000/react-app/6.6.6/static/

+

Hello SuperMario

component name: react-app

component version: 6.6.6

registry baseUrl: http://localhost:3000/

component staticPath: http://localhost:3000/react-app/6.6.6/static/

diff --git a/packages/oc-template-react-compiler/__tests__/__snapshots__/compile.js.snap b/packages/oc-template-react-compiler/__tests__/__snapshots__/compile.js.snap index 9612b58..7cc5ac0 100644 --- a/packages/oc-template-react-compiler/__tests__/__snapshots__/compile.js.snap +++ b/packages/oc-template-react-compiler/__tests__/__snapshots__/compile.js.snap @@ -51,7 +51,7 @@ say(text); }, Object { "path": "../../../mocks/react-component/_compile-tests-package1/react-component.js", - "source": "var oc=oc||{};oc.reactComponents=oc.reactComponents||{};oc.reactComponents['dummyContent']=oc.reactComponents['dummyContent']||(function(){var module = (function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={i:d,l:!1,exports:{}};return a[d].call(e.exports,e,e.exports,b),e.l=!0,e.exports}var c={};return b.m=a,b.c=c,b.d=function(a,c,d){b.o(a,c)||Object.defineProperty(a,c,{enumerable:!0,get:d})},b.r=function(a){'undefined'!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:'Module'}),Object.defineProperty(a,'__esModule',{value:!0})},b.t=function(a,c){if(1&c&&(a=b(a)),8&c)return a;if(4&c&&'object'==typeof a&&a&&a.__esModule)return a;var d=Object.create(null);if(b.r(d),Object.defineProperty(d,'default',{enumerable:!0,value:a}),2&c&&'string'!=typeof a)for(var e in a)b.d(d,e,function(b){return a[b]}.bind(null,e));return d},b.n=function(a){var c=a&&a.__esModule?function(){return a['default']}:function(){return a};return b.d(c,'a',c),c},b.o=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)},b.p='',b(b.s=2)})([function(a){a.exports=React},function(a){a.exports=PropTypes},function(a,b,c){'use strict';function d(a,b){var c={};for(var d in a)0<=b.indexOf(d)||Object.prototype.hasOwnProperty.call(a,d)&&(c[d]=a[d]);return c}function e(a,b){if(!(a instanceof b))throw new TypeError('Cannot call a class as a function')}function f(a,b){if(!a)throw new ReferenceError('this hasn\\\\'t been initialised - super() hasn\\\\'t been called');return b&&('object'==typeof b||'function'==typeof b)?b:a}function g(a,b){if('function'!=typeof b&&null!==b)throw new TypeError('Super expression must either be null or a function, not '+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}c.r(b);var h=c(1),i=c.n(h),j=c(0),k=c.n(j),l=function(){return k.a.createElement('div',null,'Hello')},m=function(a){function b(){return e(this,b),f(this,a.apply(this,arguments))}return g(b,a),b.prototype.componentDidMount=function(){var a=this.props,b=a._staticPath,c=a._baseUrl,e=a._componentName,f=a._componentVersion,g=d(a,['_staticPath','_baseUrl','_componentName','_componentVersion']);window.oc.events.fire('oc:componentDidMount',g)},b.prototype.getChildContext=function(){var a=this;return{getData:function(b,c){return window.oc.getData({name:a.props._componentName,version:a.props._componentVersion,baseUrl:a.props._baseUrl,parameters:b},function(a,b){if(a)return c(a);var e=b.reactComponent.props,f=e._staticPath,g=e._baseUrl,h=e._componentName,i=e._componentVersion,j=d(e,['_staticPath','_baseUrl','_componentName','_componentVersion']);c(null,j,b.reactComponent.props)})},getSetting:function(b){var c={name:a.props._componentName,version:a.props._componentVersion,baseUrl:a.props._baseUrl,staticPath:a.props._staticPath};return c[b]}}},b.prototype.render=function(){var a=this.props,b=a._staticPath,c=a._baseUrl,e=a._componentName,f=a._componentVersion,g=d(a,['_staticPath','_baseUrl','_componentName','_componentVersion']);return k.a.createElement(l,g)},b}(k.a.Component);m.childContextTypes={getData:i.a.func,getSetting:i.a.func};b['default']=m}]);; return module.default}())", + "source": "var oc=oc||{};oc.reactComponents=oc.reactComponents||{};oc.reactComponents['dummyContent']=oc.reactComponents['dummyContent']||(function(){var module = (function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={i:d,l:!1,exports:{}};return a[d].call(e.exports,e,e.exports,b),e.l=!0,e.exports}var c={};return b.m=a,b.c=c,b.d=function(a,c,d){b.o(a,c)||Object.defineProperty(a,c,{enumerable:!0,get:d})},b.r=function(a){'undefined'!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:'Module'}),Object.defineProperty(a,'__esModule',{value:!0})},b.t=function(a,c){if(1&c&&(a=b(a)),8&c)return a;if(4&c&&'object'==typeof a&&a&&a.__esModule)return a;var d=Object.create(null);if(b.r(d),Object.defineProperty(d,'default',{enumerable:!0,value:a}),2&c&&'string'!=typeof a)for(var e in a)b.d(d,e,function(b){return a[b]}.bind(null,e));return d},b.n=function(a){var c=a&&a.__esModule?function(){return a['default']}:function(){return a};return b.d(c,'a',c),c},b.o=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)},b.p='',b(b.s=2)})([function(a){a.exports=React},function(a){a.exports=PropTypes},function(a,b,c){'use strict';function d(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d { result.oc.date = ""; result.oc.files.template.version = ""; nodeDir.paths(options.publishPath, (err2, res2) => { - const files = _ - .chain(res2.files) + const files = _.chain(res2.files) .map(filePath => { const source = fs.readFileSync(filePath, "UTF8"); return { diff --git a/packages/oc-template-react-compiler/lib/to-abstract-base-template-utils/oc-webpack/lib/configurator/client/index.js b/packages/oc-template-react-compiler/lib/to-abstract-base-template-utils/oc-webpack/lib/configurator/client/index.js index 9f22c9c..2c30a47 100644 --- a/packages/oc-template-react-compiler/lib/to-abstract-base-template-utils/oc-webpack/lib/configurator/client/index.js +++ b/packages/oc-template-react-compiler/lib/to-abstract-base-template-utils/oc-webpack/lib/configurator/client/index.js @@ -94,13 +94,16 @@ module.exports = options => { babelrc: false, presets: [ [ - require.resolve("babel-preset-env"), + require.resolve("@babel/preset-env"), { modules: false, loose: true } ], - [require.resolve("babel-preset-react")] + [require.resolve("@babel/preset-react")] ], plugins: [ - [require.resolve("babel-plugin-transform-object-rest-spread")] + [ + require.resolve("@babel/plugin-proposal-object-rest-spread") + ], + [require.resolve("@babel/plugin-proposal-class-properties")] ] } } diff --git a/packages/oc-template-react-compiler/lib/to-abstract-base-template-utils/oc-webpack/lib/configurator/server/index.js b/packages/oc-template-react-compiler/lib/to-abstract-base-template-utils/oc-webpack/lib/configurator/server/index.js index 1d928e6..19136a5 100644 --- a/packages/oc-template-react-compiler/lib/to-abstract-base-template-utils/oc-webpack/lib/configurator/server/index.js +++ b/packages/oc-template-react-compiler/lib/to-abstract-base-template-utils/oc-webpack/lib/configurator/server/index.js @@ -24,7 +24,7 @@ module.exports = function webpackConfigGenerator(options) { babelrc: false, presets: [ [ - require.resolve("babel-preset-env"), + require.resolve("@babel/preset-env"), { modules: false, targets: { @@ -32,12 +32,11 @@ module.exports = function webpackConfigGenerator(options) { } } ], - [ - require.resolve("babel-preset-react") - ] + [require.resolve("@babel/preset-react")] ], plugins: [ - [require.resolve("babel-plugin-transform-object-rest-spread")] + [require.resolve("@babel/plugin-proposal-object-rest-spread")], + [require.resolve("@babel/plugin-proposal-class-properties")] ] } } diff --git a/packages/oc-template-react-compiler/package.json b/packages/oc-template-react-compiler/package.json index f7238f0..b45834d 100644 --- a/packages/oc-template-react-compiler/package.json +++ b/packages/oc-template-react-compiler/package.json @@ -23,13 +23,14 @@ }, "license": "MIT", "dependencies": { + "@babel/plugin-proposal-class-properties": "^7.7.4", + "@babel/plugin-proposal-object-rest-spread": "^7.7.4", + "@babel/preset-env": "^7.7.4", + "@babel/preset-react": "^7.7.4", "async": "2.6.3", "autoprefixer": "9.6.2", - "babel-loader": "7.1.5", + "babel-loader": "^8.0.0", "babel-minify-webpack-plugin": "0.3.1", - "babel-plugin-transform-object-rest-spread": "6.26.0", - "babel-preset-env": "1.7.0", - "babel-preset-react": "6.24.1", "css-loader": "1.0.1", "fs-extra": "8.1.0", "infinite-loop-loader": "1.0.6",