UNPKG

structor

Version:
1 lines 5.54 kB
"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o]);return n.default=e,n}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getNamespacesInPages(e,n,o){var t=[];if(o&&o.length>0&&n&&n.pages){var r=[];if(n.pages.forEach(function(n){(0,_lodash.includes)(o,n.pagePath)&&(r=r.concat(_structorCommons.gengine.getModelComponentList(e,n)))}),r&&r.length>0){var s=r.filter(function(e){return!e.namespace});if(s&&s.length>0)throw Error("Selected pages are including components out of any namespace.");r.forEach(function(e){(0,_lodash.includes)(t,e.namespace)||t.push(e.namespace)})}}return t}function getDependentNamespaces(e,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],r=[];o=o.concat(n);var s=_structorCommons.gengine.combineAllModulesComponents(e,n),a=_structorCommons.gengine.getModelComponentList(e,s);if(a&&a.length>0){var c=a.filter(function(e){return!e.namespace});if(c&&c.length>0)throw Error("Component models are including components out of any namespace.");a.forEach(function(e){(0,_lodash.includes)(o,e.namespace)||(0,_lodash.includes)(r,e.namespace)||r.push(e.namespace)})}return _structorCommons.gengine.getModulesImports(e,n).then(function(n){return n&&n.length>0&&n.forEach(function(e){e&&!(0,_lodash.isEmpty)(e)&&(0,_lodash.forOwn)(e,function(e,n){var s=e.source;if(s&&s.length>0){var a=s.replace(/\\/g,"/");if(0!==s.indexOf(".")){var c=a.split("/");c&&c.length>0&&("modules"===c[0]?(0,_lodash.includes)(o,c[1])||(0,_lodash.includes)(r,c[1])||r.push(c[1]):(0,_lodash.includes)(t,c[0])||t.push(c[0]))}}})}),r.length>0?getDependentNamespaces(e,r,o,t):{depNamespaces:o,modules:t}})}function getAllDependencies(e,n){var o={dependencies:{packages:[]}},t=void 0;return _structorCommons.storage.getComponentTree().then(function(e){return t=e,_structorCommons.storage.readProjectJsonModel()}).then(function(e){return getNamespacesInPages(t,e,n)}).then(function(n){return getDependentNamespaces(t,[].concat(e,n))}).then(function(e){var n=e.depNamespaces,t=e.modules;o.namespaces=n;var r=[];return t&&t.length>0&&t.forEach(function(e){r.push(_structorCommons.commons.getPackageVersion(e,_structorCommons.config.getProjectDir()).then(function(n){n&&o.dependencies.packages.push({name:e,version:n})}).catch(function(e){console.error(e)}))}),Promise.all(r).then(function(){return o})})}function extractNamespaces(e,n,o,t){var r=_structorCommons.config.sandboxGeneratorDirPath(),s=_path2.default.join(_structorCommons.config.sandboxDirPath(),"modules"),a=t,c=_path2.default.join(a,"modules"),u=_path2.default.join(a,"defaults"),i=_path2.default.join(a,"docs"),m=_path2.default.join(a,".structor"),p={namespaces:e,project:_structorCommons.config.getProjectConfig()},l=void 0,d={namespaces:{},dependencies:n},f=void 0;return _structorCommons.storage.getComponentTree().then(function(e){return p.index=e,f=e,gengineManager.process(r,p)}).then(function(e){var n=e.files;return _structorCommons.storage.saveGenerated({},n)}).then(function(){var n=Promise.resolve();return e.forEach(function(e){n=n.then(function(){if(l=f.modules[e],l&&l.absolutePath){var n=l.absolutePath;return _structorCommons.commons.copyFile(n,_path2.default.join(s,e))}})}),n}).then(function(){return sandboxCompilerManager.compileSandbox().catch(function(e){throw Error("It seems that some components include external components out of any namespace.\n\n\n "+e)})}).then(function(){var n=Promise.resolve(),o=f.reducersSourceCode;return e.forEach(function(e){n=n.then(function(){if(l=f.modules[e],l&&l.absolutePath){var n=l.reducerFilePath;if(n){var t=_structorCommons.gengine.getReducerPropertyName(o,l.reducerImportPath);d.namespaces[e]=d.namespaces[e]||{},d.namespaces[e].reducerPropName=t}return _structorCommons.commons.copyFile(l.absolutePath,_path2.default.join(c,e)).then(function(){var n=_path2.default.join(_structorCommons.config.docsComponentsDirPath(),e);return _structorCommons.commons.copyFile(n,_path2.default.join(i,e)).catch(function(e){console.error("Copying docs. ",e)})}).then(function(){var n=_path2.default.join(_structorCommons.config.componentDefaultsDirPath(),e);return _structorCommons.commons.copyFile(n,_path2.default.join(u,e)).catch(function(e){console.error("Copying defaults. ",e)})})}})}),n}).then(function(){if(o&&o.length>0)return _structorCommons.storage.readProjectJsonModel().then(function(e){var n={pages:[]};return e&&e.pages&&e.pages.forEach(function(e){(0,_lodash.includes)(o,e.pagePath)&&n.pages.push(e)}),_structorCommons.commons.writeJson(_path2.default.join(m,"model.json"),n)})}).then(function(){return _structorCommons.commons.writeJson(_path2.default.join(a,"structor-namespaces.json"),d)}).then(function(){return _structorCommons.commons.removeFile(_structorCommons.config.sandboxDirPath())})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getNamespacesInPages=getNamespacesInPages,exports.getDependentNamespaces=getDependentNamespaces,exports.getAllDependencies=getAllDependencies,exports.extractNamespaces=extractNamespaces;var _path=require("path"),_path2=_interopRequireDefault(_path),_lodash=require("lodash"),_structorCommons=require("structor-commons"),_gengine=require("../commons/gengine.js"),gengineManager=_interopRequireWildcard(_gengine),_sandboxCompilerManager=require("./sandboxCompilerManager.js"),sandboxCompilerManager=_interopRequireWildcard(_sandboxCompilerManager);