UI Component CLI

Billy3
Tera Expert
Does anyone know how to get past the following error? Node version 20.8.1
 
Created scope "x_ausot_billy_te_0"
/Users/billy/.snc/.extensions/ui-component/node_modules/macos-release/index.js:27
const [name, version] = nameMap.get(release);
                        ^
 
TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))
    at macosRelease (/Users/billy/.snc/.extensions/ui-component/node_modules/macos-release/index.js:27:26)
    at osName (/Users/billy/.snc/.extensions/ui-component/node_modules/os-name/index.js:21:18)
    at new Insight (/Users/billy/.snc/.extensions/ui-component/node_modules/insight/lib/index.js:37:13)
    at Object.<anonymous> (/Users/billy/.snc/.extensions/ui-component/node_modules/yo/lib/cli.js:54:17)
1 ACCEPTED SOLUTION

So I eventually did figure this out, though it required changing some of SN's code to fix.

 

What I found was that inside `/.snc/.extensions/ui-component/node_modules/macos-release/index.js`

there is a map called "nameMap" where they list all the expected MacOS release versions. However it stopped at Monterey v12 and I was running Ventura v13. I added a new entry for Ventura and the issue went away and I was able to install.

My new nameMap looked like the following:

const nameMap = new Map([
[22, ['Ventura', '13']],
[21, ['Monterey', '12']],
[20, ['Big Sur', '11']],
[19, ['Catalina', '10.15']],
[18, ['Mojave', '10.14']],
[17, ['High Sierra', '10.13']],
[16, ['Sierra', '10.12']],
[15, ['El Capitan', '10.11']],
[14, ['Yosemite', '10.10']],
[13, ['Mavericks', '10.9']],
[12, ['Mountain Lion', '10.8']],
[11, ['Lion', '10.7']],
[10, ['Snow Leopard', '10.6']],
[9, ['Leopard', '10.5']],
[8, ['Tiger', '10.4']],
[7, ['Panther', '10.3']],
[6, ['Jaguar', '10.2']],
[5, ['Puma', '10.1']]
]);

 

View solution in original post

4 REPLIES 4

Jesalyn S
Kilo Sage

Hi Billy,

 

Currently, the snc CLI does not support Node version 20.8.1. Try to change to version 14 if using Vancouver, or version 12.16.1 if not.

 

Thanks!

Thanks, Jesalyn

 

I used nvm to install both v14 and v12, however I'm still getting the same result:

 

Now using node v12.16.1 (npm v6.13.4)
 ~/D/R/now-cli-2> snc ui-component project --name billy-test --description "a description" -p test1       12:25:13
Created scope "x_ausot_billy_te_3"
/Users/billy/.snc/.extensions/ui-component/node_modules/macos-release/index.js:27
	const [name, version] = nameMap.get(release);
	                        ^

TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))
    at macosRelease (/Users/billy/.snc/.extensions/ui-component/node_modules/macos-release/index.js:27:26)
    at osName (/Users/billy/.snc/.extensions/ui-component/node_modules/os-name/index.js:21:18)
    at new Insight (/Users/billy/.snc/.extensions/ui-component/node_modules/insight/lib/index.js:37:13)
    at Object.<anonymous> (/Users/billy/.snc/.extensions/ui-component/node_modules/yo/lib/cli.js:54:17)

So I eventually did figure this out, though it required changing some of SN's code to fix.

 

What I found was that inside `/.snc/.extensions/ui-component/node_modules/macos-release/index.js`

there is a map called "nameMap" where they list all the expected MacOS release versions. However it stopped at Monterey v12 and I was running Ventura v13. I added a new entry for Ventura and the issue went away and I was able to install.

My new nameMap looked like the following:

const nameMap = new Map([
[22, ['Ventura', '13']],
[21, ['Monterey', '12']],
[20, ['Big Sur', '11']],
[19, ['Catalina', '10.15']],
[18, ['Mojave', '10.14']],
[17, ['High Sierra', '10.13']],
[16, ['Sierra', '10.12']],
[15, ['El Capitan', '10.11']],
[14, ['Yosemite', '10.10']],
[13, ['Mavericks', '10.9']],
[12, ['Mountain Lion', '10.8']],
[11, ['Lion', '10.7']],
[10, ['Snow Leopard', '10.6']],
[9, ['Leopard', '10.5']],
[8, ['Tiger', '10.4']],
[7, ['Panther', '10.3']],
[6, ['Jaguar', '10.2']],
[5, ['Puma', '10.1']]
]);

 

Whole day fighting errors and moving to node 14 fixed it. Is a shame manual says 12 or higher