builder.io 1.0.2-2 → 1.0.2

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.
Files changed (2) hide show
  1. package/index.js +1 -1
  2. package/package.json +1 -6
package/index.js CHANGED
@@ -62,7 +62,7 @@ ${C.default.cyan(vi)}
62
62
  `)}
63
63
  `)},info:t=>{me.message(t,{symbol:C.default.blue(YD)})},success:t=>{me.message(t,{symbol:C.default.green(WD)})},step:t=>{me.message(t,{symbol:C.default.green(Ai)})},warn:t=>{me.message(t,{symbol:C.default.yellow(VD)})},warning:t=>{me.warn(t)},error:t=>{me.message(t,{symbol:C.default.red(zD)})}},Jc=()=>{let t=Ti?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],e=Ti?80:120,n,r,i=!1,o="",s=(l="")=>{i=!0,n=jc(),o=l.replace(/\.+$/,""),process.stdout.write(`${C.default.gray(te)}
64
64
  `);let d=0,p=0;r=setInterval(()=>{let f=C.default.magenta(t[d]),D=".".repeat(Math.floor(p)).slice(0,3);process.stdout.write(Ut.cursor.move(-999,0)),process.stdout.write(Ut.erase.down(1)),process.stdout.write(`${f} ${o}${D}`),d=d+1<t.length?d+1:0,p=p<t.length?p+.125:0},e)},a=(l="",d=0)=>{o=l??o,i=!1,clearInterval(r);let p=d===0?C.default.green(Ai):d===1?C.default.red(Wc):C.default.red(Vc);process.stdout.write(Ut.cursor.move(-999,0)),process.stdout.write(Ut.erase.down(1)),process.stdout.write(`${p} ${o}
65
- `),n()},u=(l="")=>{o=l??o},c=l=>{let d=l>1?"Something went wrong":"Canceled";i&&a(d,l)};return process.on("uncaughtExceptionMonitor",()=>c(2)),process.on("unhandledRejection",()=>c(2)),process.on("SIGINT",()=>c(1)),process.on("SIGTERM",()=>c(1)),process.on("exit",c),{start:s,stop:a,message:u}};var lt=require("path"),ae=require("fs"),uD=Z(yc()),Mt=Z(require("prettier")),cD=Z(require("node-fetch"));var _e=require("fs/promises"),sD=require("crypto"),ct=require("fs"),fi=require("os"),Fe=Z(require("path"),1),vc=Z(require("prettier"),1),iD=Z(require("typescript"),1),oD=Z(tD(),1);async function nD(t,e){let n=t.resolve("/");for(let r=0;r<20;r++){let i=t.join(e,"package.json"),o=await t.readFile(i);if(o)return JSON.parse(o);if(e===n)break;e=t.dirname(e)}return null}async function rD(t){let e=[],n=await nD(t,t.getRootDir());if(n){let r=qv(n);e.push(...r)}return e}function qv(t){let e=[];if(t&&typeof t=="object"){let n=new Set(Object.keys({...t.dependencies,...t.devDependencies}));for(let r of Uv)n.has(r)&&(e.some(i=>i.name===r)||e.push({name:r}))}return e}var Uv=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","@angular/core","react","solid-js","svelte","vue"];async function aD(t){let e=new Set,n=(...s)=>{if(process.env.DEBUG){let a=new Date,u=`${String(a.getMinutes()).padStart(2,"0")}:${String(a.getSeconds()).padStart(2,"0")}.${String(a.getMilliseconds()).padStart(3,"0")}`;console.debug(u,"[builder-dev-tools]",...s)}},r=async s=>{let a=(0,sD.createHash)("md5");return a.update(s),a.digest("hex")},i={...Fe.default,getRootDir:()=>Fe.default.normalize(t.getRootDir()),cwd:()=>process.cwd(),exists:async s=>{try{return await(0,_e.access)(s),!0}catch{return!1}},existsSync:s=>(0,ct.existsSync)(s),readdir:async(s,a)=>{let u=await(0,_e.readdir)(s);return a?u.map(c=>Fe.default.join(s,c)):u},readdirSync:s=>(0,ct.readdirSync)(s),readFile:async s=>{Tc(t,s);try{return await(0,_e.readFile)(s,"utf-8")}catch(a){if(a.code==="ENOENT")return null;throw n(a,s),a}},readFileSync(s){Tc(t,s);try{return(0,ct.readFileSync)(s,"utf-8")}catch(a){if(a.code==="ENOENT")return null;throw n(a,s),a}},stat:async s=>await(0,_e.stat)(s),statSync:s=>(0,ct.statSync)(s),writeFile:async(s,a)=>{Tc(t,s),s=Fe.default.normalize(s);let u={path:s,basename:Fe.default.basename(s),dirname:Fe.default.dirname(s),extname:Fe.default.extname(s)};await(0,_e.mkdir)(Fe.default.dirname(s),{recursive:!0}),await(0,_e.writeFile)(s,a);for(let c of e)await c(u)},hash:r,getDeviceId:()=>r(`${(0,fi.hostname)()}:${(0,fi.homedir)()}`),formatCode:async(s,a)=>{let u=null;try{u=await vc.default.resolveConfig(s)}catch{}try{return vc.default.format(a,{...u,filepath:s})}catch{}return a},on:(s,a)=>{s==="change"&&e.add(a)},off:(s,a)=>{s==="change"&&e.delete(a)},debug:n,launchEditor:async s=>{try{let a=s.filePath;typeof s.line=="number"&&(a+=`:${s.line}`,typeof s.column=="number"&&(a+=`:${s.column}`)),(0,oD.default)(a,"code",(u,c)=>{console.error(`Failed to launch editor for ${u}`),c&&console.error(c)})}catch(a){console.error(`Failed to launch editor for ${String(a.message||a)}`)}},platform:()=>({runtime:"node",os:process.platform}),getFrameworks:()=>[],ts:iD.default,version:typeof DEV_TOOLS_VERSION=="string"?DEV_TOOLS_VERSION:"0.0.0"},o=await rD(i);return i.getFrameworks=()=>o,i}function Tc(t,e){if(t.skipValidate)return;if(!e)throw new Error(`Invalid path: ${e} (7340)`);e=Fe.default.normalize(Fe.default.resolve(e));let n=t.getRootDir();if(!e.startsWith(n))throw new Error(`Invalid path: ${e} (7341)`)}async function lD(t){try{if(t.command==="add"){let n=t.snippetId;if(!n)throw new Error("No snippet id provided");let r=Jc();r.start(`Fetching snippet ${n}`);let i=await Gv(n);if(r.stop(`Fetched snippet ${n}`),!i)throw new Error(`No snippet found for id ${n}`);if(i.files){let o=Kv(i.framework||"react"),s=t.path||await Ri({message:"Where should we copy the files?",initialValue:o,validate(a){if(a.length===0)return"File path is required!";if(a[0]!==".")return"Please enter a relative path."}});qt(s)&&(console.log(""),process.exit(0)),pD(i.files,s),me.info("All files have been written successfully.")}else{let{code:o,suggestedName:s,framework:a}=i;if(a){if(a!=="html"&&!(0,ae.existsSync)("./package.json"))throw new Error("No package.json found. Are you in the right directory?");s=await jv(a,o)}s??(s="./src/components/MyComponent.jsx");let u=dD(Lv(i.code),i.framework);try{i.framework==="html"?u=Mt.default.format(u,{parser:"html"}):i.framework==="angular"?u=Mt.default.format(u,{parser:"angular"}):i.framework==="vue"?u=Mt.default.format(u,{parser:"vue"}):i.framework==="svelte"?u=Mt.default.format(u,{parser:"html"}):u=Mt.default.format(u,{parser:"typescript"})}catch{}let c=t.path;if(!c){try{let f=(await aD({getRootDir:()=>process.cwd()})).getFrameworks();if(f.length>0){let D;if(f.some(_=>_.name.includes("qwik"))?D="qwik":f.some(_=>_.name.includes("react"))?D="react":D=f[0].name,i.framework&&i.framework!==D){let _=await Kc({message:`This snippet is for ${i.framework}, but you are using ${D}. Continue?`,initialValue:!1});(qt(_)||!_)&&(console.log("Please go back to builder and change the output framework to match your project."),console.log(),process.exit(0))}}}catch{}c=await Ri({message:"Where should we copy the code?",initialValue:s?.startsWith("./")?s:`./${s}`,validate(p){if(p.length===0)return"File path is required!";if(p[0]!==".")return"Please enter a relative path."}}),qt(c)&&(console.log(""),process.exit(0))}let l=process.cwd(),d=(0,lt.resolve)(l,c);me.info(`Writing code to ${d}`),(0,ae.mkdirSync)((0,lt.dirname)(d),{recursive:!0}),(0,ae.writeFileSync)(d,u)}}}catch(e){uD.captureException(e),me.error(String(e.message||e))}console.log("")}function Gv(t){return(0,cD.default)(`https://cdn.builder.io/api/v1/snippet/${t}`).then(e=>e.status===404?null:e.json())}function Lv(t){return t.replace(/^```jsx\s?|\s?```$/g,"").trim()}function dD(t,e){return e?["vue","html","svelte"].includes(e.toLowerCase())?`<!-- This code was generated by Builder.io -->
65
+ `),n()},u=(l="")=>{o=l??o},c=l=>{let d=l>1?"Something went wrong":"Canceled";i&&a(d,l)};return process.on("uncaughtExceptionMonitor",()=>c(2)),process.on("unhandledRejection",()=>c(2)),process.on("SIGINT",()=>c(1)),process.on("SIGTERM",()=>c(1)),process.on("exit",c),{start:s,stop:a,message:u}};var lt=require("path"),ae=require("fs"),uD=Z(yc()),Mt=Z(require("prettier")),cD=Z(require("node-fetch"));var _e=require("fs/promises"),sD=require("crypto"),ct=require("fs"),fi=require("os"),Fe=Z(require("path"),1),vc=Z(require("prettier"),1),iD=Z(require("typescript"),1),oD=Z(tD(),1);async function nD(t,e){let n=t.resolve("/");for(let r=0;r<20;r++){let i=t.join(e,"package.json"),o=await t.readFile(i);if(o)return JSON.parse(o);if(e===n)break;e=t.dirname(e)}return null}async function rD(t){let e=[],n=await nD(t,t.getRootDir());if(n){let r=qv(n);e.push(...r)}return e}function qv(t){let e=[];if(t&&typeof t=="object"){let n=new Set(Object.keys({...t.dependencies,...t.devDependencies}));for(let r of Uv)n.has(r)&&(e.some(i=>i.name===r)||e.push({name:r}))}return e}var Uv=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","@angular/core","react","solid-js","svelte","vue"];async function aD(t){let e=new Set,n=(...s)=>{if(process.env.DEBUG){let a=new Date,u=`${String(a.getMinutes()).padStart(2,"0")}:${String(a.getSeconds()).padStart(2,"0")}.${String(a.getMilliseconds()).padStart(3,"0")}`;console.debug(u,"[builder-dev-tools]",...s)}},r=async s=>{let a=(0,sD.createHash)("md5");return a.update(s),a.digest("hex")},i={...Fe.default,getRootDir:()=>Fe.default.normalize(t.getRootDir()),cwd:()=>process.cwd(),exists:async s=>{try{return await(0,_e.access)(s),!0}catch{return!1}},existsSync:s=>(0,ct.existsSync)(s),readdir:async(s,a)=>{let u=await(0,_e.readdir)(s);return a?u.map(c=>Fe.default.join(s,c)):u},readdirSync:s=>(0,ct.readdirSync)(s),readFile:async s=>{Tc(t,s);try{return await(0,_e.readFile)(s,"utf-8")}catch(a){if(a.code==="ENOENT")return null;throw n(a,s),a}},readFileSync(s){Tc(t,s);try{return(0,ct.readFileSync)(s,"utf-8")}catch(a){if(a.code==="ENOENT")return null;throw n(a,s),a}},stat:async s=>await(0,_e.stat)(s),statSync:s=>(0,ct.statSync)(s),writeFile:async(s,a)=>{Tc(t,s),s=Fe.default.normalize(s);let u={path:s,basename:Fe.default.basename(s),dirname:Fe.default.dirname(s),extname:Fe.default.extname(s)};await(0,_e.mkdir)(Fe.default.dirname(s),{recursive:!0}),await(0,_e.writeFile)(s,a);for(let c of e)await c(u)},hash:r,getDeviceId:()=>r(`${(0,fi.hostname)()}:${(0,fi.homedir)()}`),formatCode:async(s,a)=>{let u=null;try{u=await vc.default.resolveConfig(s)}catch{}try{return vc.default.format(a,{...u,filepath:s})}catch{}return a},on:(s,a)=>{s==="change"&&e.add(a)},off:(s,a)=>{s==="change"&&e.delete(a)},debug:n,launchEditor:async s=>{try{let a=s.filePath;typeof s.line=="number"&&(a+=`:${s.line}`,typeof s.column=="number"&&(a+=`:${s.column}`)),(0,oD.default)(a,"code",(u,c)=>{console.error(`Failed to launch editor for ${u}`),c&&console.error(c)})}catch(a){console.error(`Failed to launch editor for ${String(a.message||a)}`)}},platform:()=>({runtime:"node",os:process.platform}),getFrameworks:()=>[],ts:iD.default,version:typeof DEV_TOOLS_VERSION=="string"?DEV_TOOLS_VERSION:"0.0.0"},o=await rD(i);return i.getFrameworks=()=>o,i}function Tc(t,e){if(t.skipValidate)return;if(!e)throw new Error(`Invalid path: ${e} (7340)`);e=Fe.default.normalize(Fe.default.resolve(e));let n=t.getRootDir();if(!e.startsWith(n))throw new Error(`Invalid path: ${e} (7341)`)}async function lD(t){try{if(t.command==="add"){let n=t.snippetId;if(!n)throw new Error("No snippet id provided");let r=Jc();r.start(`Fetching snippet ${n}`);let i=await Gv(n);if(r.stop(`Fetched snippet ${n}`),!i)throw new Error(`No snippet found for id ${n}`);if(i.files?.length>0){let o=Kv(i.framework||"react"),s=t.path||await Ri({message:"Where should we copy the files?",initialValue:o,validate(a){if(a.length===0)return"File path is required!";if(a[0]!==".")return"Please enter a relative path."}});qt(s)&&(console.log(""),process.exit(0)),pD(i.files,s),me.info("All files have been written successfully.")}else{let{code:o,suggestedName:s,framework:a}=i;if(a){if(a!=="html"&&!(0,ae.existsSync)("./package.json"))throw new Error("No package.json found. Are you in the right directory?");s=await jv(a,o)}s??(s="./src/components/MyComponent.jsx");let u=dD(Lv(i.code),i.framework);try{i.framework==="html"?u=Mt.default.format(u,{parser:"html"}):i.framework==="angular"?u=Mt.default.format(u,{parser:"angular"}):i.framework==="vue"?u=Mt.default.format(u,{parser:"vue"}):i.framework==="svelte"?u=Mt.default.format(u,{parser:"html"}):u=Mt.default.format(u,{parser:"typescript"})}catch{}let c=t.path;if(!c){try{let f=(await aD({getRootDir:()=>process.cwd()})).getFrameworks();if(f.length>0){let D;if(f.some(_=>_.name.includes("qwik"))?D="qwik":f.some(_=>_.name.includes("react"))?D="react":D=f[0].name,i.framework&&i.framework!==D){let _=await Kc({message:`This snippet is for ${i.framework}, but you are using ${D}. Continue?`,initialValue:!1});(qt(_)||!_)&&(console.log("Please go back to builder and change the output framework to match your project."),console.log(),process.exit(0))}}}catch{}c=await Ri({message:"Where should we copy the code?",initialValue:s?.startsWith("./")?s:`./${s}`,validate(p){if(p.length===0)return"File path is required!";if(p[0]!==".")return"Please enter a relative path."}}),qt(c)&&(console.log(""),process.exit(0))}let l=process.cwd(),d=(0,lt.resolve)(l,c);me.info(`Writing code to ${d}`),(0,ae.mkdirSync)((0,lt.dirname)(d),{recursive:!0}),(0,ae.writeFileSync)(d,u)}}}catch(e){uD.captureException(e),me.error(String(e.message||e))}console.log("")}function Gv(t){return(0,cD.default)(`https://cdn.builder.io/api/v1/snippet/${t}`).then(e=>e.status===404?null:e.json())}function Lv(t){return t.replace(/^```jsx\s?|\s?```$/g,"").trim()}function dD(t,e){return e?["vue","html","svelte"].includes(e.toLowerCase())?`<!-- This code was generated by Builder.io -->
66
66
  ${t}`:`/**
67
67
  * This code was generated by Builder.io.
68
68
  */
package/package.json CHANGED
@@ -1,16 +1,11 @@
1
1
  {
2
2
  "name": "builder.io",
3
- "version": "1.0.2-2",
3
+ "version": "1.0.2",
4
4
  "description": "Add Builder.io code snippets to an application",
5
5
  "bin": {
6
6
  "builderio": "./index.js"
7
7
  },
8
8
  "main": "./index.js",
9
- "externals": [
10
- "prettier",
11
- "typescript",
12
- "node-fetch"
13
- ],
14
9
  "dependencies": {
15
10
  "prettier": "^2.8.8",
16
11
  "typescript": "^5.1.6",