@arcgis/create 4.31.0-next.9 → 4.31.0-next.90
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/esm/init.js +13 -6
- package/package.json +8 -6
package/dist/esm/init.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
import{Command as
|
|
1
|
+
import{Command as Ye}from"@commander-js/extra-typings";var G="4.31.0-next.90";var f=(p=>(p.VANILLA="vanilla JS",p.REACT="react",p.ANGULAR="angular",p.VITE="vite",p.VUE="vue",p.WEBPACK="webpack",p.LUMINA_COMPONENTS="lumina-components",p))(f||{}),h=(o=>(o.CHARTS="charts",o.CODING="coding",o))(h||{});var V="github.com",D={"vanilla JS":"Esri/arcgis-maps-sdk-javascript-samples-beta",vite:"Esri/arcgis-maps-sdk-javascript-samples-beta",react:"Esri/arcgis-maps-sdk-javascript-samples-beta",angular:"Esri/arcgis-maps-sdk-javascript-samples-beta",vue:"Esri/arcgis-maps-sdk-javascript-samples-beta",webpack:"Esri/arcgis-maps-sdk-javascript-samples-beta","lumina-components":"WebGIS/arcgis-web-components"},k={"vanilla JS":"packages/map-components/templates/vite",vite:"packages/map-components/templates/vite",react:"packages/map-components/templates/react",angular:"packages/map-components/templates/angular",vue:"packages/map-components/templates/vue",webpack:"packages/map-components/templates/webpack","lumina-components":"packages/starter-packages/lumina-components"},H={"vanilla JS":"APP_SAMPLE",vite:"APP_SAMPLE",react:"APP_SAMPLE",angular:"APP_SAMPLE",vue:"APP_SAMPLE",webpack:"APP_SAMPLE","lumina-components":"CODE_SAMPLE"};import d from"fs/promises";import O from"path";import F from"process";import ge from"child_process";import{promisify as fe}from"util";import he from"normalize-package-data";async function w(e,t,o){let r=fe(ge.exec),n=F.cwd();try{await d.mkdir(e)}catch(a){let s=typeof a=="string"?a:a.message;throw new Error(`could not create new directory in file system, details: ${s}`)}F.chdir(e);try{await r("git init"),await r(`git remote add origin ${t}`),await r("git config core.sparseCheckout true"),await r(`git sparse-checkout set --no-cone ${o}/*`),await r("git pull origin main")}catch(a){throw console.error(a),a}await ye(o,"."),await d.rm(".git",{recursive:!0}),F.chdir(n)}async function ye(e,t){if(!(e==="."||e===""||["./","/"].includes(e.split("/")[0])))try{let o=await d.readdir(e);for await(let n of o){let a=O.join(e,n),s=O.join(t,n);await d.rename(a,s)}let r=e.split("/")[0];await d.rm(r,{recursive:!0})}catch(o){console.error("Error:",o)}}async function A(e){let t=await d.readFile(O.join(e,"package.json"),"utf-8"),o=JSON.parse(t);return he(o,n=>{console.error(n)}),o}async function E(e,t){await d.writeFile(O.join(e,"package.json"),JSON.stringify(t,null,2))}function W(e){return e.scripts?.start?"start":"dev"}function Y(e,t,o){let r="@arcgis/map-components",n=["react","angular"].some(s=>s===o);n&&(r=`@arcgis/map-components-${o.toLowerCase()}`);let a=e.dependencies[r];e.dependencies={...e.dependencies,...t.reduce((s,p)=>{let g=`@arcgis/${p}-components${n?`-${o.toLowerCase()}`:""}`;return{...s,[g]:a}},{})}}var K=e=>{let t={};return Object.keys(e).forEach(o=>{let r=o;if(e?.[r])switch(r){case"name":t.name=e.name;break;case"template":{let n=e.template?.toUpperCase().replace(/-/gu,"_")??"";if(!Object.keys(f).includes(n))throw new Error(`Invalid template: ${e.template}`);t.template=f[n];break}case"packages":{let n=e.packages?.replace(/\s/gu,"").split(",")??[];t.packages=n?.reduce((a,s)=>{if(!(s.toUpperCase()in h))throw new Error(`Invalid package: ${s}`);return a.push(h[s.toUpperCase()]),a},[]);break}case"host":t.host=e.host;break;default:throw Error(`Invalid option: ${r}`)}}),t};async function J(e){await d.stat(e)&&await d.rm(e,{recursive:!0})}function v(e,t){let o=D[e],r=V;return t.host&&(r=t.host),`https://${t.accessToken?`${t.accessToken}@`:""}${r}/${o}`}import{cancel as Ue,outro as Ge,multiselect as Ve,group as De,confirm as He}from"@clack/prompts";var z=(e=0)=>t=>`\x1B[${t+e}m`,q=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,X=(e=0)=>(t,o,r)=>`\x1B[${38+e};2;${t};${o};${r}m`,i={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},nt=Object.keys(i.modifier),Te=Object.keys(i.color),be=Object.keys(i.bgColor),at=[...Te,...be];function Pe(){let e=new Map;for(let[t,o]of Object.entries(i)){for(let[r,n]of Object.entries(o))i[r]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[r]=i[r],e.set(n[0],n[1]);Object.defineProperty(i,t,{value:o,enumerable:!1})}return Object.defineProperty(i,"codes",{value:e,enumerable:!1}),i.color.close="\x1B[39m",i.bgColor.close="\x1B[49m",i.color.ansi=z(),i.color.ansi256=q(),i.color.ansi16m=X(),i.bgColor.ansi=z(10),i.bgColor.ansi256=q(10),i.bgColor.ansi16m=X(10),Object.defineProperties(i,{rgbToAnsi256:{value(t,o,r){return t===o&&o===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(o/255*5)+Math.round(r/255*5)},enumerable:!1},hexToRgb:{value(t){let o=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!o)return[0,0,0];let[r]=o;r.length===3&&(r=[...r].map(a=>a+a).join(""));let n=Number.parseInt(r,16);return[n>>16&255,n>>8&255,n&255]},enumerable:!1},hexToAnsi256:{value:t=>i.rgbToAnsi256(...i.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let o,r,n;if(t>=232)o=((t-232)*10+8)/255,r=o,n=o;else{t-=16;let p=t%36;o=Math.floor(t/36)/5,r=Math.floor(p/6)/5,n=p%6/5}let a=Math.max(o,r,n)*2;if(a===0)return 30;let s=30+(Math.round(n)<<2|Math.round(r)<<1|Math.round(o));return a===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(t,o,r)=>i.ansi256ToAnsi(i.rgbToAnsi256(t,o,r)),enumerable:!1},hexToAnsi:{value:t=>i.ansi256ToAnsi(i.hexToAnsi256(t)),enumerable:!1}}),i}var Ce=Pe(),u=Ce;import L from"node:process";import ke from"node:os";import Q from"node:tty";function m(e,t=globalThis.Deno?globalThis.Deno.args:L.argv){let o=e.startsWith("-")?"":e.length===1?"-":"--",r=t.indexOf(o+e),n=t.indexOf("--");return r!==-1&&(n===-1||r<n)}var{env:c}=L,x;m("no-color")||m("no-colors")||m("color=false")||m("color=never")?x=0:(m("color")||m("colors")||m("color=true")||m("color=always"))&&(x=1);function Oe(){if("FORCE_COLOR"in c)return c.FORCE_COLOR==="true"?1:c.FORCE_COLOR==="false"?0:c.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(c.FORCE_COLOR,10),3)}function we(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Ae(e,{streamIsTTY:t,sniffFlags:o=!0}={}){let r=Oe();r!==void 0&&(x=r);let n=o?x:r;if(n===0)return 0;if(o){if(m("color=16m")||m("color=full")||m("color=truecolor"))return 3;if(m("color=256"))return 2}if("TF_BUILD"in c&&"AGENT_NAME"in c)return 1;if(e&&!t&&n===void 0)return 0;let a=n||0;if(c.TERM==="dumb")return a;if(L.platform==="win32"){let s=ke.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in c)return"GITHUB_ACTIONS"in c||"GITEA_ACTIONS"in c?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in c)||c.CI_NAME==="codeship"?1:a;if("TEAMCITY_VERSION"in c)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(c.TEAMCITY_VERSION)?1:0;if(c.COLORTERM==="truecolor"||c.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in c){let s=Number.parseInt((c.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(c.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(c.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(c.TERM)||"COLORTERM"in c?1:a}function Z(e,t={}){let o=Ae(e,{streamIsTTY:e&&e.isTTY,...t});return we(o)}var Ee={stdout:Z({isTTY:Q.isatty(1)}),stderr:Z({isTTY:Q.isatty(2)})},ee=Ee;function te(e,t,o){let r=e.indexOf(t);if(r===-1)return e;let n=t.length,a=0,s="";do s+=e.slice(a,r)+t+o,a=r+n,r=e.indexOf(t,a);while(r!==-1);return s+=e.slice(a),s}function oe(e,t,o,r){let n=0,a="";do{let s=e[r-1]==="\r";a+=e.slice(n,s?r-1:r)+t+(s?`\r
|
|
2
2
|
`:`
|
|
3
|
-
`)+
|
|
4
|
-
`,n)}while(
|
|
5
|
-
`);return a!==-1&&(
|
|
6
|
-
|
|
3
|
+
`)+o,n=r+1,r=e.indexOf(`
|
|
4
|
+
`,n)}while(r!==-1);return a+=e.slice(n),a}var{stdout:re,stderr:ne}=ee,_=Symbol("GENERATOR"),y=Symbol("STYLER"),b=Symbol("IS_EMPTY"),ae=["ansi","ansi","ansi256","ansi16m"],T=Object.create(null),ve=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let o=re?re.level:0;e.level=t.level===void 0?o:t.level};var xe=e=>{let t=(...o)=>o.join(" ");return ve(t,e),Object.setPrototypeOf(t,P.prototype),t};function P(e){return xe(e)}Object.setPrototypeOf(P.prototype,Function.prototype);for(let[e,t]of Object.entries(u))T[e]={get(){let o=N(this,$(t.open,t.close,this[y]),this[b]);return Object.defineProperty(this,e,{value:o}),o}};T.visible={get(){let e=N(this,this[y],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var B=(e,t,o,...r)=>e==="rgb"?t==="ansi16m"?u[o].ansi16m(...r):t==="ansi256"?u[o].ansi256(u.rgbToAnsi256(...r)):u[o].ansi(u.rgbToAnsi(...r)):e==="hex"?B("rgb",t,o,...u.hexToRgb(...r)):u[o][e](...r),Ne=["rgb","hex","ansi256"];for(let e of Ne){T[e]={get(){let{level:o}=this;return function(...r){let n=$(B(e,ae[o],"color",...r),u.color.close,this[y]);return N(this,n,this[b])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);T[t]={get(){let{level:o}=this;return function(...r){let n=$(B(e,ae[o],"bgColor",...r),u.bgColor.close,this[y]);return N(this,n,this[b])}}}}var Re=Object.defineProperties(()=>{},{...T,level:{enumerable:!0,get(){return this[_].level},set(e){this[_].level=e}}}),$=(e,t,o)=>{let r,n;return o===void 0?(r=e,n=t):(r=o.openAll+e,n=t+o.closeAll),{open:e,close:t,openAll:r,closeAll:n,parent:o}},N=(e,t,o)=>{let r=(...n)=>Ie(r,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(r,Re),r[_]=e,r[y]=t,r[b]=o,r},Ie=(e,t)=>{if(e.level<=0||!t)return e[b]?"":t;let o=e[y];if(o===void 0)return t;let{openAll:r,closeAll:n}=o;if(t.includes("\x1B"))for(;o!==void 0;)t=te(t,o.close,o.open),o=o.parent;let a=t.indexOf(`
|
|
5
|
+
`);return a!==-1&&(t=oe(t,n,r,a)),r+t+n};Object.defineProperties(P.prototype,T);var Me=P(),ft=P({level:ne?ne.level:0});var l=Me;import We from"gradient-string";import{intro as Se,text as je,outro as Fe,select as Le,password as _e,log as Be}from"@clack/prompts";var se="my-arcgis-app";function R(){Se("initialize a new arcgis project")}async function I(){return await je({message:"What is the name of your project?",initialValue:se,placeholder:se,validate(e){if(e.length===0)return"Value is required!"}})}async function ie(){return await Le({message:"Which template would you like to use?",options:Object.entries(f).map(([,e])=>({value:e,label:e}))})}function M(){Fe(l.greenBright("Your new project is ready!"))}async function ce(e){return Be.info(`
|
|
6
|
+
This command requires a ${e} personal access token with the 'repo' scope.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
See https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic
|
|
9
|
+
|
|
10
|
+
for step-by-step instructions.
|
|
11
|
+
`),await _e({message:`Please enter your personal access token for ${e}`,mask:"*",validate(t){if(t.length===0)return"Value is required!"}})}function S(e){return{name:e.name,shouldCleanup:!1,async doCleanup(o){if(console.error(l.bgRed(o)),this.shouldCleanup&&this.name)try{await J(this.name)}catch(r){console.error(l.bgRed(r))}throw o}}}import{spinner as $e}from"@clack/prompts";async function j(e,t,o){let{startMsg:r,successMsg:n,failureMsg:a}=e,s=$e();return s.start(r),await t().then(()=>s.stop(n)).catch(p=>{s.stop(l.bgRed(a),1),o(p,s)})}async function le(e){let t=S(e);try{R();let o=await De({projectName:e.name?async()=>await Promise.resolve(e.name):I,projectTemplate:e.template?async()=>await Promise.resolve(e.template):ie},{onCancel:()=>{Ue("Operation cancelled."),process.exit(0)}});t.name=o.projectName;let r=k[o.projectTemplate],n=v(o.projectTemplate,e);await j({startMsg:"Downloading project template...",successMsg:"Project template downloaded successfully",failureMsg:"Error downloading project template"},async()=>{await w(o.projectName,n,r),t.shouldCleanup=!0},g=>{throw Ge(l.bgRed("Please ensure git is installed and try again.")),g});let a=await A(o.projectName);if(await He({message:"Would you like to add any additional components?",initialValue:!1})){let g=e.packages?e.packages:await Ve({message:"Would you like to add any additional components? (select multiple)",options:Object.entries(h).map(([,C])=>({value:C,label:C}))});Y(a,g,o.projectTemplate),await E(o.projectName,a)}let p=W(a);M(),console.log(l.magenta(`To get started, run the following commands:
|
|
12
|
+
`)),console.log(l.grey(`$ cd ${o.projectName}`)),console.log(l.grey("$ npm install")),console.log(l.grey(`$ npm run ${p}`)),console.log(We.vice(`
|
|
13
|
+
|
|
14
|
+
Happy mapping!`))}catch(o){await t.doCleanup(o)}}import{outro as U}from"@clack/prompts";async function pe(e){let{template:t}=e;t!=="lumina-components"&&(U(l.red("Template is not a code sample")),process.exit(1)),e.host||(U(l.red("Host option is required for the lumina-components template")),process.exit(1));let o=S(e);try{R();let r=e.name??await I();o.name=r;let n=k[t],a=await ce(e.host),s=v(t,{...e,accessToken:a});await j({startMsg:"Downloading project template...",successMsg:"Project template downloaded successfully",failureMsg:"Error downloading project template"},async()=>{await w(r,s,n),o.shouldCleanup=!0},ue=>{throw U(l.bgRed("Please ensure git is installed and try again.")),ue});let p=await A(r),g=p["acme:scripts"];delete p["acme:scripts"];let C={...p,name:r,version:"0.0.1",description:"A new Lumina components project",scripts:g??{}};await E(r,C),M(),console.log(l.magenta(`To get started, run the following commands:
|
|
15
|
+
`)),console.log(l.grey(`$ cd ${r}`)),console.log(l.grey("$ yarn set version 4.0.2")),console.log(l.grey("$ yarn install")),console.log(l.grey("$ yarn run start"))}catch(r){await o.doCleanup(r)}}var me=e=>{let t=new Ye;return e?.exitOverride&&t.exitOverride(),e?.suppressOutput&&t.configureOutput({writeOut:()=>"",writeErr:()=>""}),t.version(G),t.option("-n, --name <name>","Name of the project").option("-t, --template <template>","Template to use").option("-p, --packages <packages>","Additional packages to add").option("--host <host>","Host to use for the source control repository"),t.command("init").description("Initialize a new ArcGIS project").action(async()=>{let o=K(t.opts());if(o.template&&H[o.template]==="CODE_SAMPLE"){await pe(o);return}await le(o)}),t},Ke={makeProgram:me};process.env.NODE_ENV!=="test"&&(Ke=void 0,me().parse());export{Ke as exportsForTests};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcgis/create",
|
|
3
|
-
"version": "4.31.0-next.
|
|
3
|
+
"version": "4.31.0-next.90",
|
|
4
4
|
"description": "ArcGIS command line tool to create new web GIS projects and applications",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ArcGIS",
|
|
@@ -43,10 +43,12 @@
|
|
|
43
43
|
"@commander-js/extra-typings": "^11.1.0",
|
|
44
44
|
"commander": "^11.1.0",
|
|
45
45
|
"gradient-string": "^2.0.2",
|
|
46
|
-
"normalize-package-data": "^6.0.0"
|
|
46
|
+
"normalize-package-data": "^6.0.0",
|
|
47
|
+
"tslib": "^2.7.0"
|
|
47
48
|
},
|
|
48
49
|
"devDependencies": {
|
|
49
|
-
"@
|
|
50
|
+
"@arcgis/components-build-utils": "4.31.0-next.90",
|
|
51
|
+
"@swc/core": "^1.7.23",
|
|
50
52
|
"@swc/jest": "^0.2.36",
|
|
51
53
|
"@types/gradient-string": "^1.1.5",
|
|
52
54
|
"@types/node": "^20.2.5",
|
|
@@ -54,12 +56,12 @@
|
|
|
54
56
|
"chalk": "^5.3.0",
|
|
55
57
|
"eslint": "^8.55.0",
|
|
56
58
|
"jest": "^29.5.0",
|
|
57
|
-
"tsup": "^8.0
|
|
58
|
-
"tsx": "^4.
|
|
59
|
+
"tsup": "^8.1.0",
|
|
60
|
+
"tsx": "^4.19.0",
|
|
59
61
|
"typescript": "~5.4.0"
|
|
60
62
|
},
|
|
61
63
|
"engines": {
|
|
62
64
|
"node": ">=18.0.0"
|
|
63
65
|
},
|
|
64
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "a9a0d57b58ffabca05a7c03a2d0516b7174cf939"
|
|
65
67
|
}
|