@digital-herd/content-hub-cli 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&("get"in o?t.__esModule:!o.writable&&!o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,o)}:function(e,t,r,i){e[i=void 0===i?r:i]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||(()=>{var o=function(e){return(o=Object.getOwnPropertyNames||function(e){var t,r=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[r.length]=t);return r})(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=o(e),i=0;i<r.length;i++)"default"!==r[i]&&__createBinding(t,e,r[i]);return __setModuleDefault(t,e),t}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});let fs=__importStar(require("fs")),path=__importStar(require("path")),logger_js_1=__importDefault(require("../../../utils/logger.js")),FileService_js_1=__importDefault(require("../../../services/FileService.js"));class CreateComponentService{config;templateDir;componentsDir;fileService;constructor(e){this.config=e,this.templateDir=e.templates.externalComponent,this.componentsDir=path.resolve(process.cwd(),e.componentDir),this.fileService=new FileService_js_1.default(e)}getAvailableSections(){if(!fs.existsSync(this.componentsDir))return logger_js_1.default.error("Components directory not found: "+this.componentsDir),[];var e,t,r=[];for(e of fs.readdirSync(this.componentsDir,{withFileTypes:!0}).filter(e=>e.isDirectory()))"workflows"===e.name?(t=path.join(this.componentsDir,"workflows"),t=fs.readdirSync(t,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>"workflows/"+e.name),r.push(...t)):r.push(e.name);return r.sort()}async createComponent(e,t){if(this.fileService.getAllComponentNames().includes(t))throw new Error(t+" already exists.");if(!fs.existsSync(this.templateDir))throw new Error("Template directory not found: "+this.templateDir);var r=path.join(this.componentsDir,e);if(!fs.existsSync(r))throw new Error("Section directory not found: "+r);var i,o=path.join(r,t);if(fs.existsSync(o))throw new Error(`Component "${t}" already exists in section "${e}"`);logger_js_1.default.info(`📦 Creating component "${t}" in section "${e}"...`),fs.mkdirSync(o,{recursive:!0});for(i of fs.readdirSync(this.templateDir)){var n=path.join(this.templateDir,i),s=i.replace("
|
|
1
|
+
var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&("get"in o?t.__esModule:!o.writable&&!o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,o)}:function(e,t,r,i){e[i=void 0===i?r:i]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||(()=>{var o=function(e){return(o=Object.getOwnPropertyNames||function(e){var t,r=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[r.length]=t);return r})(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=o(e),i=0;i<r.length;i++)"default"!==r[i]&&__createBinding(t,e,r[i]);return __setModuleDefault(t,e),t}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});let fs=__importStar(require("fs")),path=__importStar(require("path")),logger_js_1=__importDefault(require("../../../utils/logger.js")),FileService_js_1=__importDefault(require("../../../services/FileService.js"));class CreateComponentService{config;templateDir;componentsDir;fileService;constructor(e){this.config=e,this.templateDir=e.templates.externalComponent,this.componentsDir=path.resolve(process.cwd(),e.componentDir),this.fileService=new FileService_js_1.default(e)}getAvailableSections(){if(!fs.existsSync(this.componentsDir))return logger_js_1.default.error("Components directory not found: "+this.componentsDir),[];var e,t,r=[];for(e of fs.readdirSync(this.componentsDir,{withFileTypes:!0}).filter(e=>e.isDirectory()))"workflows"===e.name?(t=path.join(this.componentsDir,"workflows"),t=fs.readdirSync(t,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>"workflows/"+e.name),r.push(...t)):r.push(e.name);return r.sort()}async createComponent(e,t){if(this.fileService.getAllComponentNames().includes(t))throw new Error(t+" already exists.");if(!fs.existsSync(this.templateDir))throw new Error("Template directory not found: "+this.templateDir);var r=path.join(this.componentsDir,e);if(!fs.existsSync(r))throw new Error("Section directory not found: "+r);var i,o=path.join(r,t);if(fs.existsSync(o))throw new Error(`Component "${t}" already exists in section "${e}"`);logger_js_1.default.info(`📦 Creating component "${t}" in section "${e}"...`),fs.mkdirSync(o,{recursive:!0});for(i of fs.readdirSync(this.templateDir)){var n=path.join(this.templateDir,i),s=i.replace("ComponentName",t),a=path.join(o,s);let e=fs.readFileSync(n,"utf-8");"ComponentName.config.ts"!==i&&(e=(e=e.replace(/\$\$ComponentName/g,t)).replace(/\$\$componentName/g,t.toLowerCase())),fs.writeFileSync(a,e,"utf-8"),logger_js_1.default.info(" ✓ Created "+s)}logger_js_1.default.info(`✅ Component "${t}" created successfully!`),logger_js_1.default.info("📁 Location: "+path.relative(process.cwd(),o))}}exports.default=CreateComponentService;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var c=Object.getOwnPropertyDescriptor(t,r);c&&("get"in c?t.__esModule:!c.writable&&!c.configurable)||(c={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,c)}:function(e,t,r,i){e[i=void 0===i?r:i]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||(()=>{var c=function(e){return(c=Object.getOwnPropertyNames||function(e){var t,r=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[r.length]=t);return r})(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=c(e),i=0;i<r.length;i++)"default"!==r[i]&&__createBinding(t,e,r[i]);return __setModuleDefault(t,e),t}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});let fs=__importStar(require("fs")),path=__importStar(require("path")),logger_js_1=__importDefault(require("../../../utils/logger.js")),sc_contenthub_webclient_sdk_1=require("@sitecore/sc-contenthub-webclient-sdk"),apiCatch_js_1=require("../../../utils/apiCatch.js"),script_js_1=require("../utils/script.js");class CreateScriptService{contenthubService;config;templateDir;scriptsDir;constructor(e,t){this.contenthubService=e,this.config=t,this.templateDir=t.templates.script,this.scriptsDir=path.resolve(process.cwd(),t.scriptDir)}async fetchScriptDefaults(t){try{var e=await(0,apiCatch_js_1.apiErrorCatch)(()=>this.contenthubService.client.entities.getAsync(t,new sc_contenthub_webclient_sdk_1.EntityLoadConfiguration(sc_contenthub_webclient_sdk_1.CultureLoadOption.Default,new sc_contenthub_webclient_sdk_1.PropertyLoadOption(["M.Script.Name","M.Script.Description","M.Script.ExecuteAsUser","M.Script.Type"]))));return e?{identifier:e.identifier,type:e.getPropertyValue("M.Script.Type")||"Action",title:e.getPropertyValue("M.Script.Name")||"",description:e.getPropertyValue("M.Script.Description")||"",executeAsUser:e.getPropertyValue("M.Script.ExecuteAsUser")||!1}:null}catch(e){return logger_js_1.default.warn("⚠️ Could not fetch script from API: "+t),null}}async createScript(r){if(!fs.existsSync(this.templateDir))throw logger_js_1.default.error("Template directory not found: "+this.templateDir),new Error("Template directory not found");var i,c=(0,script_js_1.scriptNameToSlug)(r.title),s=path.join(this.scriptsDir,c);if(fs.existsSync(s))throw logger_js_1.default.error(`Script "${c}" already exists`),new Error("Script already exists");logger_js_1.default.info(`📦 Creating script "${c}"...`),fs.mkdirSync(s,{recursive:!0});for(i of fs.readdirSync(this.templateDir)){var n=path.join(this.templateDir,i);let e=i;"
|
|
1
|
+
var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var c=Object.getOwnPropertyDescriptor(t,r);c&&("get"in c?t.__esModule:!c.writable&&!c.configurable)||(c={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,c)}:function(e,t,r,i){e[i=void 0===i?r:i]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||(()=>{var c=function(e){return(c=Object.getOwnPropertyNames||function(e){var t,r=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[r.length]=t);return r})(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=c(e),i=0;i<r.length;i++)"default"!==r[i]&&__createBinding(t,e,r[i]);return __setModuleDefault(t,e),t}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});let fs=__importStar(require("fs")),path=__importStar(require("path")),logger_js_1=__importDefault(require("../../../utils/logger.js")),sc_contenthub_webclient_sdk_1=require("@sitecore/sc-contenthub-webclient-sdk"),apiCatch_js_1=require("../../../utils/apiCatch.js"),script_js_1=require("../utils/script.js");class CreateScriptService{contenthubService;config;templateDir;scriptsDir;constructor(e,t){this.contenthubService=e,this.config=t,this.templateDir=t.templates.script,this.scriptsDir=path.resolve(process.cwd(),t.scriptDir)}async fetchScriptDefaults(t){try{var e=await(0,apiCatch_js_1.apiErrorCatch)(()=>this.contenthubService.client.entities.getAsync(t,new sc_contenthub_webclient_sdk_1.EntityLoadConfiguration(sc_contenthub_webclient_sdk_1.CultureLoadOption.Default,new sc_contenthub_webclient_sdk_1.PropertyLoadOption(["M.Script.Name","M.Script.Description","M.Script.ExecuteAsUser","M.Script.Type"]))));return e?{identifier:e.identifier,type:e.getPropertyValue("M.Script.Type")||"Action",title:e.getPropertyValue("M.Script.Name")||"",description:e.getPropertyValue("M.Script.Description")||"",executeAsUser:e.getPropertyValue("M.Script.ExecuteAsUser")||!1}:null}catch(e){return logger_js_1.default.warn("⚠️ Could not fetch script from API: "+t),null}}async createScript(r){if(!fs.existsSync(this.templateDir))throw logger_js_1.default.error("Template directory not found: "+this.templateDir),new Error("Template directory not found");var i,c=(0,script_js_1.scriptNameToSlug)(r.title),s=path.join(this.scriptsDir,c);if(fs.existsSync(s))throw logger_js_1.default.error(`Script "${c}" already exists`),new Error("Script already exists");logger_js_1.default.info(`📦 Creating script "${c}"...`),fs.mkdirSync(s,{recursive:!0});for(i of fs.readdirSync(this.templateDir)){var n=path.join(this.templateDir,i);let e=i;"ScriptName.config.ts"===i?e=c+".config.ts":"ScriptName.cs"===i&&(e=c+".cs");var o=path.join(s,e);let t=fs.readFileSync(n,"utf-8");"ScriptName.config.ts"===i&&(t=`import { type ActionScriptConfig } from "@digital-herd/content-hub-cli";
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
4
|
identifier: "${r.identifier}",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});let glob_1=require("glob"),path_1=__importDefault(require("path")),prettier_1=__importDefault(require("prettier")),tempDirectory_js_1=require("../config/tempDirectory.js"),api_1=require("tsx/esm/api"),fs_1=require("fs");class FileService{config;constructor(t){this.config=t}getAllComponentPaths(t="*.config.ts"){return(0,glob_1.sync)(this.config.componentDir+"/**/"+t)}getAllComponentNames(t="*.config.ts"){return this.getAllComponentPaths(t).map(t=>{t=t.split("/");return t[t.length-2]})}getDirectoryOfComponent(t){var t=(0,glob_1.sync)(this.config.componentDir+`/**/${t}/*.tsx`)[0];return t?((t=t.split("/")).pop(),t.join("/")):null}getComponentConfig(t){return(0,glob_1.sync)(this.config.componentDir+`/**/${t}/*.config.ts`)[0]}getComponentBuild(t,e=!0){t=(0,glob_1.sync)(tempDirectory_js_1.BUILD_DIRECTORY+`/${t}.js`)[0];return e?t&&this.getAbsolutePath(t):t}getEntryOfComponent(t){return(0,glob_1.sync)(this.config.componentDir+`/**/${t}/*.tsx`)[0]}getScriptConfig(t){return(0,glob_1.sync)(this.config.scriptDir+`/${t}/*.config.ts`)[0]}getScriptContent(t){return(0,glob_1.sync)(this.config.scriptDir+`/${t}/*.cs`)[0]}getAbsolutePath(t){return path_1.default.isAbsolute(t)?t:path_1.default.resolve(process.cwd(),t)}async tsFileImport(t,e){t=this.getAbsolutePath(t),e=e?this.getAbsolutePath(e):void 0;return(await(0,api_1.tsImport)(t,t,{tsconfig:e})).default}async writeScript(t,e,i){var r=this.config.scriptDir+"/"+t,o=((0,fs_1.existsSync)(r)||(0,fs_1.mkdirSync)(r,{recursive:!0}),r+`/${t}.config.ts`);(0,fs_1.writeFileSync)(o,`
|
|
1
|
+
var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});let glob_1=require("glob"),path_1=__importDefault(require("path")),url_1=require("url"),prettier_1=__importDefault(require("prettier")),tempDirectory_js_1=require("../config/tempDirectory.js"),api_1=require("tsx/esm/api"),fs_1=require("fs");class FileService{config;constructor(t){this.config=t}getAllComponentPaths(t="*.config.ts"){return(0,glob_1.sync)(this.config.componentDir+"/**/"+t)}getAllComponentNames(t="*.config.ts"){return this.getAllComponentPaths(t).map(t=>{t=t.split("/");return t[t.length-2]})}getDirectoryOfComponent(t){var t=(0,glob_1.sync)(this.config.componentDir+`/**/${t}/*.tsx`)[0];return t?((t=t.split("/")).pop(),t.join("/")):null}getComponentConfig(t){return(0,glob_1.sync)(this.config.componentDir+`/**/${t}/*.config.ts`)[0]}getComponentBuild(t,e=!0){t=(0,glob_1.sync)(tempDirectory_js_1.BUILD_DIRECTORY+`/${t}.js`)[0];return e?t&&this.getAbsolutePath(t):t}getEntryOfComponent(t){return(0,glob_1.sync)(this.config.componentDir+`/**/${t}/*.tsx`)[0]}getScriptConfig(t){return(0,glob_1.sync)(this.config.scriptDir+`/${t}/*.config.ts`)[0]}getScriptContent(t){return(0,glob_1.sync)(this.config.scriptDir+`/${t}/*.cs`)[0]}getAbsolutePath(t){return path_1.default.isAbsolute(t)?t:path_1.default.resolve(process.cwd(),t)}async tsFileImport(t,e){t=this.getAbsolutePath(t),e=e?this.getAbsolutePath(e):void 0,t=(0,url_1.pathToFileURL)(t).href,e=e?(0,url_1.pathToFileURL)(e).href:void 0;return(await(0,api_1.tsImport)(t,t,{tsconfig:e})).default}async writeScript(t,e,i){var r=this.config.scriptDir+"/"+t,o=((0,fs_1.existsSync)(r)||(0,fs_1.mkdirSync)(r,{recursive:!0}),r+`/${t}.config.ts`);(0,fs_1.writeFileSync)(o,`
|
|
2
2
|
import { type ActionScriptConfig } from "@digital-herd/content-hub-cli";
|
|
3
3
|
export default {
|
|
4
4
|
identifier: "${i.identifier}",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var __importDefault=this&&this.__importDefault||function(
|
|
1
|
+
var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCliConfig=getCliConfig;let path_1=__importDefault(require("path")),url_1=require("url"),api_1=require("tsx/esm/api"),logger_js_1=__importDefault(require("./logger.js"));async function getCliConfig(t="contenthubConfig.build.config.ts"){t=path_1.default.isAbsolute(t)?t:path_1.default.resolve(process.cwd(),t);try{var e=(0,url_1.pathToFileURL)(t).href,r=(await(0,api_1.tsImport)(e,e)).default;return r.default?r.default:r}catch(e){throw logger_js_1.default.error("Failed to load config at "+t),e}}
|
package/package.json
CHANGED