@arcgis/create 4.33.0-next.7 → 4.33.0-next.71
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/bin/index.js +1 -1
- package/dist/init.js +8255 -0
- package/package.json +1 -10
- package/dist/esm/init.d.ts +0 -23
- package/dist/esm/init.js +0 -15
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcgis/create",
|
|
3
|
-
"version": "4.33.0-next.
|
|
3
|
+
"version": "4.33.0-next.71",
|
|
4
4
|
"description": "ArcGIS command line tool to create new web GIS projects and applications",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ArcGIS",
|
|
@@ -29,15 +29,6 @@
|
|
|
29
29
|
"create-arcgis": "./bin/index.js"
|
|
30
30
|
},
|
|
31
31
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
32
|
-
"dependencies": {
|
|
33
|
-
"@arcgis/components-build-utils": "4.33.0-next.7",
|
|
34
|
-
"@clack/prompts": "^0.7.0",
|
|
35
|
-
"@commander-js/extra-typings": "^11.1.0",
|
|
36
|
-
"commander": "^11.1.0",
|
|
37
|
-
"gradient-string": "^2.0.2",
|
|
38
|
-
"normalize-package-data": "^6.0.0",
|
|
39
|
-
"tslib": "^2.7.0"
|
|
40
|
-
},
|
|
41
32
|
"engines": {
|
|
42
33
|
"node": ">=18.0.0"
|
|
43
34
|
}
|
package/dist/esm/init.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Command } from '@commander-js/extra-typings';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Commander program code
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* wraps the commander program in a function to allow for fresh instances while testing
|
|
9
|
-
* @returns a commander program
|
|
10
|
-
*/
|
|
11
|
-
declare const makeProgram: (options?: {
|
|
12
|
-
exitOverride?: boolean;
|
|
13
|
-
suppressOutput?: boolean;
|
|
14
|
-
}) => Command;
|
|
15
|
-
/***********************
|
|
16
|
-
* module exports
|
|
17
|
-
***********************/
|
|
18
|
-
type ExportsForTests = {
|
|
19
|
-
makeProgram: typeof makeProgram;
|
|
20
|
-
};
|
|
21
|
-
declare let exportsForTests: ExportsForTests | undefined;
|
|
22
|
-
|
|
23
|
-
export { exportsForTests };
|
package/dist/esm/init.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import{Command as Xe}from"@commander-js/extra-typings";var H="4.33.0-next.7";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 _="github.com",B={"vanilla JS":"Esri/jsapi-resources",vite:"Esri/jsapi-resources",react:"Esri/jsapi-resources",angular:"Esri/jsapi-resources",vue:"Esri/jsapi-resources",webpack:"Esri/jsapi-resources","lumina-components":"WebGIS/arcgis-web-components"},k={"vanilla JS":"component-samples/map-components/samples/vite",vite:"component-samples/map-components/samples/vite",react:"component-samples/map-components/samples/react",angular:"component-samples/map-components/samples/angular",vue:"component-samples/map-components/samples/vue",webpack:"component-samples/map-components/samples/webpack","lumina-components":"packages/starter-packages/lumina-components"},K={"vanilla JS":"APP_SAMPLE",vite:"APP_SAMPLE",react:"APP_SAMPLE",angular:"APP_SAMPLE",vue:"APP_SAMPLE",webpack:"APP_SAMPLE","lumina-components":"CODE_SAMPLE"};import g from"fs/promises";import A from"path";import $ from"process";import Pe from"child_process";import{promisify as be}from"util";import Ce from"normalize-package-data";var y=be(Pe.exec);async function E(e,t,o){let r=$.cwd();try{await g.mkdir(e)}catch(n){throw new Error(`could not create new directory in file system, details: ${String(n)}`)}$.chdir(e),await y("git init"),await y(`git remote add origin ${t}`),await y("git config core.sparseCheckout true"),await y(`git sparse-checkout set --no-cone ${o}/*`),await y("git pull origin main"),await Oe(o,"."),await g.rm(".git",{recursive:!0}),$.chdir(r)}async function Oe(e,t){if(!(e==="."||e===""||["./","/"].includes(e.split("/")[0])))try{let o=await g.readdir(e);await Promise.all(o.map(async n=>{let s=A.join(e,n),a=A.join(t,n);await g.rename(s,a)}));let r=e.split("/")[0];await g.rm(r,{recursive:!0})}catch(o){console.error("Error:",o)}}async function v(e){let t=await g.readFile(A.join(e,"package.json"),"utf-8"),o=JSON.parse(t);return Ce(o,n=>{console.error(n)}),o}async function x(e,t){await g.writeFile(A.join(e,"package.json"),JSON.stringify(t,null,2))}function J(e){return e.scripts?.start?"start":"dev"}function z(e,t,o){let r="@arcgis/map-components",n=["react","angular"].some(a=>a===o);n&&(r=`@arcgis/map-components-${o.toLowerCase()}`);let s=e.dependencies[r];e.dependencies={...e.dependencies,...t.reduce((a,p)=>{let m=`@arcgis/${p}-components${n?`-${o.toLowerCase()}`:""}`;return{...a,[m]:s}},{})}}var q=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((s,a)=>{if(!(a.toUpperCase()in h))throw new Error(`Invalid package: ${a}`);return s.push(h[a.toUpperCase()]),s},[]);break}case"host":t.host=e.host;break;default:throw Error(`Invalid option: ${r}`)}}),t};async function X(e){await g.stat(e)&&await g.rm(e,{recursive:!0})}async function Q(e,t){let o=B[e],r=_;t.host&&(r=t.host);let n=`git@${r}:${o}.git`;try{await y(`git ls-remote ${n}`)}catch(s){return console.error(s),!1}return!0}function N(e,t){let o=B[e],r=_;t.host&&(r=t.host);let n=t.ssh?"git@":"https://",s=t.accessToken?`${t.accessToken}@`:"",a=t.ssh?":":"/";return`${n}${s}${r}${a}${o}`}function Z(e,t){["dependencies","devDependencies","peerDependencies"].forEach(r=>{if(t[r]){let n=t[r];Object.keys(n).forEach(s=>{n[s].match(/workspace:.*/u)&&(n[s]=e)})}})}import{cancel as Ye,outro as He,multiselect as Ke,group as Je,confirm as ze}from"@clack/prompts";var ee=(e=0)=>t=>`\x1B[${t+e}m`,te=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,oe=(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]}},lt=Object.keys(i.modifier),we=Object.keys(i.color),ke=Object.keys(i.bgColor),pt=[...we,...ke];function Ae(){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=ee(),i.color.ansi256=te(),i.color.ansi16m=oe(),i.bgColor.ansi=ee(10),i.bgColor.ansi256=te(10),i.bgColor.ansi16m=oe(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(s=>s+s).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 s=Math.max(o,r,n)*2;if(s===0)return 30;let a=30+(Math.round(n)<<2|Math.round(r)<<1|Math.round(o));return s===2&&(a+=60),a},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 Ee=Ae(),d=Ee;import G from"node:process";import ve from"node:os";import re from"node:tty";function u(e,t=globalThis.Deno?globalThis.Deno.args:G.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}=G,R;u("no-color")||u("no-colors")||u("color=false")||u("color=never")?R=0:(u("color")||u("colors")||u("color=true")||u("color=always"))&&(R=1);function xe(){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 Ne(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Re(e,{streamIsTTY:t,sniffFlags:o=!0}={}){let r=xe();r!==void 0&&(R=r);let n=o?R:r;if(n===0)return 0;if(o){if(u("color=16m")||u("color=full")||u("color=truecolor"))return 3;if(u("color=256"))return 2}if("TF_BUILD"in c&&"AGENT_NAME"in c)return 1;if(e&&!t&&n===void 0)return 0;let s=n||0;if(c.TERM==="dumb")return s;if(G.platform==="win32"){let a=ve.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in c)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(a=>a in c)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(a=>a in c)||c.CI_NAME==="codeship"?1:s;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 a=Number.parseInt((c.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(c.TERM_PROGRAM){case"iTerm.app":return a>=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:s}function ne(e,t={}){let o=Re(e,{streamIsTTY:e&&e.isTTY,...t});return Ne(o)}var Ie={stdout:ne({isTTY:re.isatty(1)}),stderr:ne({isTTY:re.isatty(2)})},se=Ie;function ae(e,t,o){let r=e.indexOf(t);if(r===-1)return e;let n=t.length,s=0,a="";do a+=e.slice(s,r)+t+o,s=r+n,r=e.indexOf(t,s);while(r!==-1);return a+=e.slice(s),a}function ie(e,t,o,r){let n=0,s="";do{let a=e[r-1]==="\r";s+=e.slice(n,a?r-1:r)+t+(a?`\r
|
|
2
|
-
`:`
|
|
3
|
-
`)+o,n=r+1,r=e.indexOf(`
|
|
4
|
-
`,n)}while(r!==-1);return s+=e.slice(n),s}var{stdout:ce,stderr:le}=se,U=Symbol("GENERATOR"),T=Symbol("STYLER"),b=Symbol("IS_EMPTY"),pe=["ansi","ansi","ansi256","ansi16m"],P=Object.create(null),Se=(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=ce?ce.level:0;e.level=t.level===void 0?o:t.level};var Me=e=>{let t=(...o)=>o.join(" ");return Se(t,e),Object.setPrototypeOf(t,C.prototype),t};function C(e){return Me(e)}Object.setPrototypeOf(C.prototype,Function.prototype);for(let[e,t]of Object.entries(d))P[e]={get(){let o=I(this,V(t.open,t.close,this[T]),this[b]);return Object.defineProperty(this,e,{value:o}),o}};P.visible={get(){let e=I(this,this[T],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var D=(e,t,o,...r)=>e==="rgb"?t==="ansi16m"?d[o].ansi16m(...r):t==="ansi256"?d[o].ansi256(d.rgbToAnsi256(...r)):d[o].ansi(d.rgbToAnsi(...r)):e==="hex"?D("rgb",t,o,...d.hexToRgb(...r)):d[o][e](...r),je=["rgb","hex","ansi256"];for(let e of je){P[e]={get(){let{level:o}=this;return function(...r){let n=V(D(e,pe[o],"color",...r),d.color.close,this[T]);return I(this,n,this[b])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);P[t]={get(){let{level:o}=this;return function(...r){let n=V(D(e,pe[o],"bgColor",...r),d.bgColor.close,this[T]);return I(this,n,this[b])}}}}var Fe=Object.defineProperties(()=>{},{...P,level:{enumerable:!0,get(){return this[U].level},set(e){this[U].level=e}}}),V=(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}},I=(e,t,o)=>{let r=(...n)=>Le(r,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(r,Fe),r[U]=e,r[T]=t,r[b]=o,r},Le=(e,t)=>{if(e.level<=0||!t)return e[b]?"":t;let o=e[T];if(o===void 0)return t;let{openAll:r,closeAll:n}=o;if(t.includes("\x1B"))for(;o!==void 0;)t=ae(t,o.close,o.open),o=o.parent;let s=t.indexOf(`
|
|
5
|
-
`);return s!==-1&&(t=ie(t,n,r,s)),r+t+n};Object.defineProperties(C.prototype,P);var _e=C(),bt=C({level:le?le.level:0});var l=_e;import qe from"gradient-string";import{intro as Be,text as $e,outro as Ge,select as Ue,password as De,log as Ve}from"@clack/prompts";var me="my-arcgis-app";function S(){Be("initialize a new arcgis project")}async function M(){return await $e({message:"What is the name of your project?",initialValue:me,placeholder:me,validate(e){if(e.length===0)return"Value is required!"}})}async function ue(){return await Ue({message:"Which template would you like to use?",options:Object.entries(f).map(([,e])=>({value:e,label:e}))})}function j(){Ge(l.greenBright("Your new project is ready!"))}async function de(e){return Ve.info(`
|
|
6
|
-
This command requires a ${e} personal access token with the 'repo' scope.
|
|
7
|
-
|
|
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 De({message:`Please enter your personal access token for ${e}`,mask:"*",validate(t){if(t.length===0)return"Value is required!"}})}function F(e){return{name:e.name,shouldCleanup:!1,async doCleanup(o){if(console.error(l.bgRed(o)),this.shouldCleanup&&this.name)try{await X(this.name)}catch(r){console.error(l.bgRed(r))}throw o}}}import{spinner as We}from"@clack/prompts";async function L(e,t,o){let{startMsg:r,successMsg:n,failureMsg:s}=e,a=We();a.start(r),await t().then(()=>a.stop(n)).catch(p=>{a.stop(l.bgRed(s),1),o(p,a)})}async function ge(e){let t=F(e);try{S();let o=await Je({projectName:e.name?async()=>await Promise.resolve(e.name):M,projectTemplate:e.template?async()=>await Promise.resolve(e.template):ue},{onCancel:()=>{Ye("Operation cancelled."),process.exit(0)}});t.name=o.projectName;let r=k[o.projectTemplate],n=N(o.projectTemplate,e);await L({startMsg:"Downloading project template...",successMsg:"Project template downloaded successfully",failureMsg:"Error downloading project template"},async()=>{await E(o.projectName,n,r),t.shouldCleanup=!0},m=>{throw He(l.bgRed("Please ensure git is installed and try again.")),m});let s=await v(o.projectName);if(await ze({message:"Would you like to add any additional components?",initialValue:!1})){let m=e.packages?e.packages:await Ke({message:"Would you like to add any additional components? (select multiple)",options:Object.entries(h).map(([,O])=>({value:O,label:O}))});z(s,m,o.projectTemplate),await x(o.projectName,s)}let p=J(s);j(),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(qe.vice(`
|
|
13
|
-
|
|
14
|
-
Happy mapping!`))}catch(o){await t.doCleanup(o)}}import{outro as W}from"@clack/prompts";async function fe(e){let{template:t}=e;t!=="lumina-components"&&(W(l.red("Template is not a code sample")),process.exit(1)),e.host||(W(l.red("Host option is required for the lumina-components template")),process.exit(1));let o=F(e);try{S();let r=e.name??await M();o.name=r;let n=k[t],s=await Q(t,e),a="";s||(a=await de(e.host));let p=N(t,{...e,ssh:s,accessToken:a});await L({startMsg:"Downloading project template...",successMsg:"Project template downloaded successfully",failureMsg:"Error downloading project template"},async()=>{await E(r,p,n),o.shouldCleanup=!0},w=>{throw W(l.bgRed("Please ensure git is installed and try again.")),w});let m=await v(r),O=m.version,ye=m["acme:scripts"];delete m["acme:scripts"],m.files=m.files?.filter(w=>w!=="*"&&!w.includes("Publishing source code for demo purposes only"));let Y={...m,name:r,version:"0.0.1",description:"A new Lumina components project",scripts:ye??{}};Z(O,Y),await x(r,Y),j(),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.5.1")),console.log(l.grey("$ yarn install")),console.log(l.grey("$ yarn start"))}catch(r){await o.doCleanup(r)}}var he=e=>{let t=new Xe;return e?.exitOverride&&t.exitOverride(),e?.suppressOutput&&t.configureOutput({writeOut:()=>"",writeErr:()=>""}),t.version(H),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=q(t.opts());if(o.template&&K[o.template]==="CODE_SAMPLE"){await fe(o);return}await ge(o)}),t},Qe={makeProgram:he};process.env.NODE_ENV!=="test"&&(Qe=void 0,he().parse());export{Qe as exportsForTests};
|