@uniformdev/cli 16.0.1-nuxt.166 → 16.0.1-nuxt.187
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/index.mjs +1 -1
- package/dist/sync/index.mjs +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
import{a as l,b,c as v}from"./chunk-RPRAWTIL.mjs";import R from"yargs";import I from"yargs";import h from"yargs";var r=b(v());import{writeFile as C}from"fs";import _ from"node-fetch";import{exit as a}from"process";var u="https://uniform.app";var A={command:"download [output]",describe:"Download intent manifest",builder:e=>{var o;return e.option("apiKey",{alias:"k",demandOption:!0,string:!0,default:process.env.UNIFORM_API_KEY,describe:"Uniform API key to use. Defaults to UNIFORM_API_KEY env if set."}).option("project",{describe:"Uniform project ID. Defaults to UOPT_CLI_PROJECT_ID or UNIFORM_PROJECT_ID env. Supports dotenv.",default:(o=process.env.UOPT_CLI_PROJECT_ID)!=null?o:process.env.UNIFORM_PROJECT_ID,type:"string",alias:["p"]}).option("preview",{describe:"If set, fetches the unpublished preview manifest (assuming your API key has permission)",default:!1,type:"boolean",alias:["d"]}).option("output",{string:!0,alias:"o",default:process.env.UNIFORM_MANIFEST_PATH,describe:"Path to write manifest to. Defaults to UNIFORM_MANIFEST_PATH env if set."})},handler:async({apiKey:e,output:o,project:s,preview:m})=>{/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(e)?console.error(r.default.yellow("WARNING: you appear to be using a deprecated type of API key. Keys like this will stop working soon; please create new keys on uniform.app.")):s||(console.error(r.default.red("You must specify the project ID")),a(1));let U=M(),d=new URLSearchParams;s&&d.set("projectId",s),m&&d.set("preview","true");let i=`${U}api/v1/manifest?${d.toString()}`,t;try{if(t=await _(i,{headers:{"x-api-key":e}}),!t.ok)throw t.status===403?`The API key ${e} had no published data. This means it is either incorrectly entered, or intents have not been published since creating the API key.`:`${t.status} ${t.statusText}, content ${await t.text()}`}catch(n){console.error(r.default.red(`\u26A0 Error fetching intent manifest ${i}`)),console.error(r.default.gray(` \u2757 ${n}`)),a(1)}let p;try{p=await t.json()}catch(n){console.error(r.default.red(r.default.red(`\u26A0 Error parsing intent manifest ${i}`))),console.error(r.default.gray(` \u2757 ${n}`)),console.error(`Response: ${await t.text()}`),a(1)}let f=JSON.stringify(p,null,2);o?C(o,f,n=>{n&&(console.error(`Error writing file to ${o}
|
|
3
3
|
`,n),a(1)),console.log(r.default.green(`\u2705 ${o} has been updated from ${i}`))}):console.log(f)}},M=()=>{let e=process.env.UNIFORM_CLI_BASE_URL||u;return e.endsWith("/")||(e+="/"),e},y=A;var O={command:"manifest <command>",describe:"Intent manifest commands",builder:()=>h.command(y),handler:()=>h.showHelp()},g=O;var P={command:"optimize <command>",aliases:["opt"],describe:"Uniform Optimize commands",builder:()=>I.command(g),handler:()=>I.showHelp()},w=P;l("dotenv").config();var T=["@uniformdev/canvas/cli","@uniformdev/context/cli"],c=R.scriptName("uniform");T.flatMap(e=>{try{let o=l(e).uniformCLI.commands;(Array.isArray(o)?o:[]).forEach(m=>{c=c.command(m)})}catch{}});c.command(w).demandCommand(1,"").strict().help().argv;
|
package/dist/sync/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import{b as I,c as w}from"../chunk-RPRAWTIL.mjs";async function K({objects:t,selectIdentifier:e,selectDisplayName:n=e,onSyncComplete:r}){let c=t.reduce((o,a)=>{let i=e(a);if(o[i])throw new Error(`Identifier ${i} was not unique.`);return o[i]={id:i,object:a,providerId:i,displayName:n(a)},o},{});async function*p(){for(let o of Object.values(c))yield o}function y(){return Object.entries(c).sort((o,a)=>o[0].localeCompare(a[0])).map(o=>o[1].object)}return{objects:p(),deleteObject:async o=>{delete c[o]},writeObject:async o=>{let a=e(o.object);c[a]=o},extractCurrent:y,onSyncComplete:r?o=>r(o,y()):void 0}}var _=I(w());import{existsSync as N,mkdirSync as U}from"fs";import{readdir as k,unlink as R}from"fs/promises";import{extname as M,join as h}from"path";import{dump as P,load as C}from"js-yaml";import{writeFileSync as D}from"fs";import{extname as x}from"path";import{readFileSync as F}from"fs";function z(t){var e,n;return t.option("apiKey",{describe:"Uniform API key. Defaults to CANVAS_CLI_API_KEY or UNIFORM_API_KEY env. Supports dotenv.",default:(n=(e=process.env.CANVAS_CLI_API_KEY)!=null?e:process.env.UPM_CLI_API_KEY)!=null?n:process.env.UNIFORM_API_KEY,demandOption:!0,type:"string"}).option("apiHost",{describe:"Uniform host. Defaults to UNIFORM_CLI_BASE_URL env or https://uniform.app. Supports dotenv.",default:process.env.UNIFORM_CLI_BASE_URL||"https://uniform.app",demandOption:!0,type:"string"})}function B(t){var e,n,r;return t.option("project",{describe:"Uniform project ID. Defaults to UNIFORM_CLI_PROJECT_ID or UNIFORM_PROJECT_ID env. Supports dotenv.",default:(r=(n=(e=process.env.UNIFORM_CLI_PROJECT_ID)!=null?e:process.env.CANVAS_CLI_PROJECT_ID)!=null?n:process.env.UPM_CLI_PROJECT_ID)!=null?r:process.env.UNIFORM_PROJECT_ID,demandOption:!0,type:"string",alias:["p"]})}function G(t){return t.option("format",{alias:["f"],describe:"Output format",default:"yaml",choices:["yaml","json"],type:"string"}).option("filename",{alias:["o"],describe:"Output filename. If not specified, write to stdout.",type:"string"})}function Q(t){var e;return t.option("diff",{describe:"Whether to show diffs in stdout. off = no diffs; update = on for updates; on = updates, creates, deletes. Can be set by UNIFORM_CLI_DIFF_MODE environment variable.",default:(e=process.env.UNIFORM_CLI_DIFF_MODE)!=null?e:"off",type:"string",choices:["off","update","on"],alias:["d"]})}function X(t){let e=x(t);return e===".yaml"||e===".yml"||e===".json"}function T(t,e,n){let r;if(n&&!e){let c=x(n);c===".yaml"||c===".yml"?e="yaml":c===".json"&&(e="json")}else if(!e)throw new Error("Format must be specified when no filename is passed");switch(e){case"json":r=JSON.stringify(t,null,2);break;case"yaml":r=P(t);break;default:throw new Error(`Unsupported format: ${e}`)}n?D(n,r,"utf8"):console.log(r)}function E(t){let e=F(t,"utf8");return C(e,{filename:t,json:!0})}async function*Z(t,e){let n=e.pageSize||100,r=0,c=[];do{c=await t(r,n);for(let p of c)yield p;r+=n}while(c.length===n)}async function ie({directory:t,format:e="yaml",selectIdentifier:n,selectDisplayName:r=n}){N(t)||U(t,{recursive:!0});let p=await k(t,"utf-8"),y=new Set(p.filter(i=>{let f=M(i);return f===".json"||f===".yaml"||f===".yml"})),o=i=>h(t,`${i}.${e}`);async function*a(){for(let i of y){let f=h(t,i);try{let s=await E(f);yield{id:n(s),displayName:r(s),providerId:f,object:s}}catch(s){throw console.error(_.default.red(`Failed to read ${f}, data is likely invalid.
|
|
2
2
|
${s==null?void 0:s.message}`)),s}}}return{objects:a(),deleteObject:async i=>{await R(i)},writeObject:async i=>{T(i.object,e,o(i.id))}}}import L from"fs";function pe(t,e){if(!e&&!L.existsSync(t))return{};let n=E(t);if(typeof n!="object")throw new Error(`Package ${t} does not appear valid.`);return n}function de(t,e){T(e,void 0,t)}import{diffJson as $,diffLines as A}from"diff";import J from"lodash.isequalwith";async function ge({source:t,target:e,compareContents:n=(o,a)=>J(o.object,a.object,(i,f,s)=>s==="created"||s==="modified"?!0:void 0),mode:r,allowEmptySource:c=!1,whatIf:p=!1,log:y=()=>{}}){var f,s;let o=new Map;for await(let l of e.objects)o.set(l.id,l);let a=[],i=!1;for await(let l of t.objects){i=!0;let O=l.id,j=o.get(O);if(j){if(!n(l,j)&&(r==="createOrUpdate"||r==="mirror")){let m=async(d,g)=>{var S;if(!p)try{await e.writeObject(d,g)}catch(v){throw new u(v,d)}y({action:"update",id:O,providerId:d.providerId,displayName:(S=d.displayName)!=null?S:d.providerId,whatIf:p,diff:$(g.object,d.object)})};a.push(m(l,j))}o.delete(O)}else{let m=async(d,g)=>{var S;if(!p)try{await e.writeObject(d)}catch(v){throw new u(v,d)}y({action:"create",id:g,providerId:g,displayName:(S=d.displayName)!=null?S:d.providerId,whatIf:p,diff:A("",JSON.stringify(d.object,null,2))})};a.push(m(l,O))}}if(await Promise.all(a),r==="mirror"){if(!i&&!c)throw new Error("Source is empty and mode is mirror. This would cause deletion of everything in the target, and most likely indicates an error in source definition.");let l=[];o.forEach(async O=>{let j=async m=>{var d;if(!p)try{await e.deleteObject(m.providerId)}catch(g){throw new u(g,m)}y({action:"delete",id:m.id,providerId:m.providerId,displayName:(d=m.displayName)!=null?d:m.providerId,whatIf:p,diff:A(JSON.stringify(m.object,null,2),"")})};l.push(j(O))}),await Promise.all(l)}await Promise.all([(f=t.onSyncComplete)==null?void 0:f.call(t,!1),(s=e.onSyncComplete)==null?void 0:s.call(e,!0)])}var u=class extends Error{constructor(e,n){var r;super(`Error syncing ${(r=n.displayName)!=null?r:n.providerId} (${n.providerId})
|
|
3
3
|
${e}`),this.stack=void 0,Object.setPrototypeOf(this,u.prototype)}};var b=I(w());function be(t){let{diffMode:e="off",indent:n,prefix:r}=t!=null?t:{};return function({action:p,displayName:y,whatIf:o,diff:a}){let i="";switch(p){case"create":i=b.default.green("[A]");break;case"update":i=b.default.white("[U]");break;case"delete":i=b.default.yellow("[D]");break}let f="";(e==="on"||e==="update"&&p==="update")&&(f=`
|
|
4
4
|
`+a.map(s=>s.added?b.default.green(s.value):s.removed?b.default.red(s.value):s.value).join("")),console.log(`${n!=null?n:""}${o?b.default.gray("[WHATIF]"):""}${i}${r!=null?r:""} ${y}${f}`)}}export{u as SyncEngineError,K as createArraySyncEngineDataSource,ie as createFileSyncEngineDataSource,be as createSyncEngineConsoleLogger,T as emitWithFormat,X as isPathAPackageFile,Z as paginateAsync,E as readFileToObject,pe as readUniformPackage,ge as syncEngine,z as withApiOptions,Q as withDiffOptions,G as withFormatOptions,B as withProjectOptions,de as writeUniformPackage};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uniformdev/cli",
|
|
3
|
-
"version": "16.0.1-nuxt.
|
|
3
|
+
"version": "16.0.1-nuxt.187+32dbc55cd",
|
|
4
4
|
"description": "Uniform command line interface tool",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"main": "./cli.js",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"publishConfig": {
|
|
58
58
|
"access": "public"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "32dbc55cd49144087464781aa4072501b46166df"
|
|
61
61
|
}
|