@reveldigital/gadgetizer 1.0.6 → 1.0.7
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.
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -50,5 +50,5 @@ Description:
|
|
|
50
50
|
Supports React, Vue, Angular, and vanilla JavaScript projects.
|
|
51
51
|
`)),process.exit(0)),console.log("dir:"+oM),oG&&(o8({projectPath:process.cwd(),__dirname:oM}),process.exit(0));let oV=await e5({message:"Select your project framework:",options:[{value:"react",label:"React"},{value:"vue",label:"Vue"},{value:"angular",label:"Angular"},{value:"js",label:"Vanilla JavaScript"}]}),oH="";switch(oV){case"react":oH=n.existsSync(o.join(oz,"src","App.tsx"))?o.join("src","App.tsx"):"";break;case"vue":oH=n.existsSync(o.join(oz,"src","App.vue"))?o.join("src","App.vue"):"";break;case"angular":oH=n.existsSync(o.join(oz,"src","main.ts"))?o.join("src","main.ts"):"";break;case"js":oH=n.existsSync(o.join(oz,"src","main.js"))?o.join("src","main.js"):""}oH||e6(X(ea).yellow(`\u{26A0}\u{FE0F} Could not automatically detect the main entry file for ${oV}. Please manually instrument your app with the Revel Digital SDK.`));let oW=o.join(oz,"package.json");if(n.existsSync(oW)||(e6(X(ea).red("❌ No package.json found in this directory. Please run this tool from your project root.")),process.exit(1)),"angular"===oV){e6(X(ea).cyan("\uD83D\uDCE6 Installing @reveldigital/player-client and running ng add schematic..."));try{r("npm install @reveldigital/player-client@latest",{stdio:"inherit"}),r("ng add @reveldigital/player-client@latest",{stdio:"inherit"}),e6(X(ea).green("✅ Angular project successfully instrumented with Revel Digital Player Client.")),process.exit(0)}catch(e){e6(X(ea).red("❌ Error instrumenting Angular project. Please check your Angular CLI and npm setup.")),process.exit(1)}}let o$=o.join(oM,"assets","gadget.yaml"),oY=o.join(oz,"gadget.yaml");if(n.existsSync(oY))e6(X(ea).yellow("⚠️ gadget.yaml already exists in project root. Skipping copy."));else try{n.copyFileSync(o$,oY),e6(X(ea).green("\uD83D\uDCC4 gadget.yaml copied to project root."))}catch(e){e6(X(ea).red("❌ Failed to copy gadget.yaml to project root. Please copy it manually."))}if(await e8({message:"Add GitHub Actions workflow for automatic Pages deployment?"})){let e=o.join(oz,".github","workflows"),t=o.join(oM,"assets","deploy-to-pages.yaml"),r=o.join(e,"deploy-to-pages.yaml");try{n.existsSync(e)||n.mkdirSync(e,{recursive:!0}),n.existsSync(r)?e6(X(ea).yellow("⚠️ GitHub Actions workflow already exists. Skipping copy.")):(n.copyFileSync(t,r),e6(X(ea).green("\uD83D\uDCC4 GitHub Actions workflow copied to .github/workflows/deploy-to-pages.yaml")),e6(X(ea).cyan("ℹ️ Don't forget to enable GitHub Pages in your repository settings!")))}catch(e){e6(X(ea).red("❌ Failed to copy GitHub Actions workflow. Please copy deploy-to-pages.yaml manually."))}}let oX="";try{oX=await new Promise((e,t)=>{((...e)=>ee("h0Fpa").then(({default:t})=>t(...e)))(oW).then(r=>{try{let t=r.split("/"),n=`https://${t[3]}.github.io/${t[4].split(".")[0]}/`;e(n)}catch(e){t(e)}}).catch(t)}),e6(X(ea).cyan(`\u{1F30E} Configuring gadget deployment URL based on Git: ${oX}`))}catch(e){oX="",e6(X(ea).yellow(`\u{26A0}\u{FE0F} Warning: Could not get deployment URL automatically.`))}let oJ=await e3({message:"Enter the deployment URL:",initialValue:oX}),oK=await e5({message:"Select Revel Digital SDK version to install:",options:[{value:"latest",label:"Latest"},{value:"custom",label:"Custom version"}]}),oQ="";"custom"===oK&&(oQ=await e3({message:"Enter the custom SDK version:"}));let oZ=JSON.parse(n.readFileSync(oW,"utf8"));if(await e8({message:`Install Revel Digital SDK (${"custom"===oK?oQ:oK})?`})){oZ.dependencies=oZ.dependencies||{},oZ.dependencies["@reveldigital/gadget-types"]="latest";let e="custom"===oK?oQ:oK;oZ.dependencies["@reveldigital/client-sdk"]="latest"===e?"latest":e,n.writeFileSync(oW,JSON.stringify(oZ,null,2)),e6(X(ea).cyan(`\u{1F389} Revel Digital SDK (${e}) added to dependencies.`));try{r("npm install",{stdio:"inherit"}),e6(X(ea).green("\uD83D\uDCE6 npm install completed successfully."))}catch(e){e6(X(ea).red("❌ npm install failed. Please run it manually."))}}let o0=o.join(oz,"vite.config.js"),o1=o.join(oz,"vite.config.ts"),o2=o.join(oz,"vue.config.js"),o3="";if(n.existsSync(o0)?o3=o0:n.existsSync(o1)&&(o3=o1),o3)try{let e=n.readFileSync(o3,"utf8");/\bbase\s*:/.test(e)?(e=e.replace(/(\bbase\s*:\s*['"])[^'"]*(['"])/,`$1${oJ}$2`),e6(X(ea).yellow(`\u{1F527} Updated "base" in ${o.basename(o3)}.`))):e.includes("defineConfig({")&&(e=e.replace(/(defineConfig\({)/,`$1
|
|
52
52
|
base: '${oJ}',`),e6(X(ea).green(`\u{1F527} Added "base" to ${o.basename(o3)}.`))),n.writeFileSync(o3,e)}catch(e){e6(X(ea).red(`\u{274C} Failed to update ${o.basename(o3)}. Please set the "base" property manually.`))}else if(n.existsSync(o2))try{let e=n.readFileSync(o2,"utf8");/\bpublicPath\s*:/.test(e)?(e=e.replace(/(\bpublicPath\s*:\s*['"])[^'"]*(['"])/,`$1${oJ}$2`),e6(X(ea).yellow('\uD83D\uDD27 Updated "publicPath" in vue.config.js.'))):e.includes("module.exports = {")&&(e=e.replace(/(module.exports = {)/,`$1
|
|
53
|
-
publicPath: '${oJ}',`),e6(X(ea).green('\uD83D\uDD27 Added "publicPath" to vue.config.js.'))),n.writeFileSync(o2,e)}catch(e){e6(X(ea).red('❌ Failed to update vue.config.js. Please set the "publicPath" property manually.'))}function o8({projectPath:e,__dirname:t}){let r=o.join(e,"package.json"),i=JSON.parse(n.readFileSync(r,"utf8")),a=o.join(e,"gadget.yaml"),u=[o.join(e,"dist","index.html"),o.join(e,"public","index.html")],s="";for(let e of u)if(n.existsSync(e)){s=e;break}s||(e6(X(ea).red("❌ index.html not found in public/, src/, or project root. Please add it and re-run the tool.")),process.exit(1));let l=o.join(o.dirname(s));try{let e=`${i.name}.xml`;!function(e,t,r,o="1.0"){try{let i=rt(n.readFileSync(e,"utf8")),a=n.readFileSync(t),u=oj(i,a,o);n.writeFileSync(r,u)}catch(e){return console.error(e),!1}}(a,s,o.join(l,e),i.version),e6(X(ea).green(`\u{2705} Gadget XML file "${e}" generated in dist folder.`))}catch(e){e6(X(ea).red("❌ Failed to generate XML file. Please check yml2xml.js and your input files."))}}(oZ.dependencies&&oZ.dependencies.parcel||oZ.devDependencies&&oZ.devDependencies.parcel)&&(oZ.targets=oZ.targets||{},oZ.targets.default=oZ.targets.default||{},oZ.targets.default.publicUrl=oJ,e6(X(ea).green('\uD83D\uDD27 Set "targets.default.publicUrl" in package.json for Parcel.'))),oZ.scripts=oZ.scripts||{},oZ.scripts["build:gadget"]="npm run build && gadgetizer --build-only",n.writeFileSync(oW,JSON.stringify(oZ,null,2)),e6(X(ea).green('\uD83D\uDD27 Added "build:gadget" script to package.json.')),o8({projectPath:oz,__dirname:oM});
|
|
53
|
+
publicPath: '${oJ}',`),e6(X(ea).green('\uD83D\uDD27 Added "publicPath" to vue.config.js.'))),n.writeFileSync(o2,e)}catch(e){e6(X(ea).red('❌ Failed to update vue.config.js. Please set the "publicPath" property manually.'))}function o8({projectPath:e,__dirname:t}){let r=o.join(e,"package.json"),i=JSON.parse(n.readFileSync(r,"utf8")),a=o.join(e,"gadget.yaml"),u=[o.join(e,"dist","index.html"),o.join(e,"public","index.html")],s="";for(let e of u)if(n.existsSync(e)){s=e;break}s||(e6(X(ea).red("❌ index.html not found in public/, src/, or project root. Please add it and re-run the tool.")),process.exit(1));let l=o.join(o.dirname(s));try{let e=`${i.name}.xml`;!function(e,t,r,o="1.0"){try{let i=rt(n.readFileSync(e,"utf8")),a=n.readFileSync(t),u=oj(i,a,o);n.writeFileSync(r,u)}catch(e){return console.error(e),!1}}(a,s,o.join(l,e),i.version),e6(X(ea).green(`\u{2705} Gadget XML file "${e}" generated in dist folder.`))}catch(e){e6(X(ea).red("❌ Failed to generate XML file. Please check yml2xml.js and your input files."))}}(oZ.dependencies&&oZ.dependencies.parcel||oZ.devDependencies&&oZ.devDependencies.parcel)&&(oZ.targets=oZ.targets||{},oZ.targets.default=oZ.targets.default||{},oZ.targets.default.publicUrl=oJ,e6(X(ea).green('\uD83D\uDD27 Set "targets.default.publicUrl" in package.json for Parcel.'))),oZ.scripts=oZ.scripts||{},oZ.scripts["build:gadget"]="npm run build && npx gadgetizer --build-only",n.writeFileSync(oW,JSON.stringify(oZ,null,2)),e6(X(ea).green('\uD83D\uDD27 Added "build:gadget" script to package.json.')),o8({projectPath:oz,__dirname:oM});
|
|
54
54
|
//# sourceMappingURL=cli.js.map
|