AMPTemplates/nodeupdates.json
IceOfWraith aa2eda565a
Add Node JS Generic (#374)
* Add Node JS Generic

This creates a generic template that can be used for Node JS applications.

There are no known limitations at this time. Feature requests are welcome.

* PATH step for scripts that need it.

* Greelan's review

* One day, glasses will be used.
2023-05-20 11:27:34 -05:00

146 lines
7.1 KiB
JSON

[
{
"UpdateStageName":"App Directory Creation",
"UpdateSourcePlatform":"All",
"UpdateSource":"CreateDirectory",
"UpdateSourceArgs":"{{$FullBaseDir}}app"
},
{
"UpdateStageName":"Application Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"GitRepo",
"UpdateSourceData":"{{DownloadSource}}",
"UpdateSourceTarget":"{{$FullBaseDir}}app",
"UpdateSourceConditionSetting":"DownloadType",
"UpdateSourceConditionValue":"GitRepo"
},
{
"UpdateStageName":"Application Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"GithubRelease",
"UpdateSourceArgs":"{{DownloadSource}}",
"UpdateSourceData":"{{DownloadFilename}}",
"UpdateSourceVersion":"{{DownloadVersion}}",
"UpdateSourceTarget":"{{$FullBaseDir}}app",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true,
"UpdateSourceConditionSetting":"DownloadType",
"UpdateSourceConditionValue":"GithubRelease"
},
{
"UpdateStageName":"Application Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"FetchURL",
"UpdateSourceData":"{{DownloadSource}}",
"UpdateSourceTarget":"{{$FullBaseDir}}app",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true,
"UpdateSourceConditionSetting":"DownloadType",
"UpdateSourceConditionValue":"DownloadURL"
},
{
"UpdateStageName":"Node.js Download",
"UpdateSourcePlatform":"Linux",
"UpdateSourceArch":"x86_64",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-linux-x64.tar.gz",
"UpdateSourceTarget":"{{$FullBaseDir}}"
},
{
"UpdateStageName":"Node.js Extract",
"UpdateSourcePlatform":"Linux",
"UpdateSourceArch":"x86_64",
"UpdateSource":"Executable",
"UpdateSourceData":"/bin/bash",
"UpdateSourceArgs":"-c 'cd \"{{$FullBaseDir}}\" && rm -Rf \"{{$FullBaseDir}}node/\" && tar xfv node-{{NodeVersion}}-linux-x64.tar.gz > {{$FullBaseDir}}AMPSetupLog.txt 2>&1 && mv -v node-{{NodeVersion}}-linux-x64 node >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1 && rm node-{{NodeVersion}}-linux-x64.tar.gz'"
},
{
"UpdateStageName":"Node.js Download",
"UpdateSourcePlatform":"Linux",
"UpdateSourceArch":"aarch64",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-linux-arm64.tar.gz",
"UpdateSourceTarget":"{{$FullBaseDir}}"
},
{
"UpdateStageName":"Node.js Extract",
"UpdateSourcePlatform":"Linux",
"UpdateSourceArch":"aarch64",
"UpdateSource":"Executable",
"UpdateSourceData":"/bin/bash",
"UpdateSourceArgs":"-c 'cd \"{{$FullBaseDir}}\" && rm -Rf \"{{$FullBaseDir}}node/\" && tar xfv node-{{NodeVersion}}-linux-arm64.tar.gz > {{$FullBaseDir}}AMPSetupLog.txt 2>&1 && mv -v node-{{NodeVersion}}-linux-arm64 node >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1 && rm node-{{NodeVersion}}-linux-arm64.tar.gz'"
},
{
"UpdateStageName":"Node.js Download",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-win-x64.zip",
"UpdateSourceTarget":"{{$FullBaseDir}}",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true
},
{
"UpdateStageName":"Node.js Extract",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"Executable",
"UpdateSourceData":"cmd.exe",
"UpdateSourceArgs":"/C cd \"{{$FullBaseDir}}\" & rmdir /S /Q \"{{$FullBaseDir}}node/\" & rename node-{{NodeVersion}}-win-x64 node > {{$FullBaseDir}}AMPSetupLog.txt 2>&1"
},
{
"UpdateStageName":"npm Packages",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"Executable",
"UpdateSourceData":"/bin/bash",
"UpdateSourceArgs":"-c 'export PATH=$PATH:{{$FullBaseDir}}node/bin && cd \"{{$FullBaseDir}}app/{{ApplicationLocation}}/\" && \"{{$FullBaseDir}}node/bin/node\" \"{{$FullBaseDir}}node/bin/npm\" i {{NpmPackages}} >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1'",
"UpdateSourceConditionSetting":"NpmInstallType",
"UpdateSourceConditionValue":"specify"
},
{
"UpdateStageName":"npm Packages",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"Executable",
"UpdateSourceData":"cmd.exe",
"UpdateSourceArgs":"/C set PATH={{$FullBaseDir}}node;%PATH% && cd \"{{$FullBaseDir}}app\\{{ApplicationLocation}}\\\" && \"{{$FullBaseDir}}node\\node\" \"{{$FullBaseDir}}node\\node_modules\\npm\\bin\\npm-cli.js\" i {{NpmPackages}} >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1",
"UpdateSourceConditionSetting":"NpmInstallType",
"UpdateSourceConditionValue":"specify"
},
{
"UpdateStageName":"npm Packages",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"Executable",
"UpdateSourceData":"/bin/bash",
"UpdateSourceArgs":"-c 'export PATH=$PATH:{{$FullBaseDir}}node/bin && cd \"{{$FullBaseDir}}app/{{ApplicationLocation}}/\" && \"{{$FullBaseDir}}node/bin/node\" \"{{$FullBaseDir}}node/bin/npm\" i >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1'",
"UpdateSourceConditionSetting":"NpmInstallType",
"UpdateSourceConditionValue":"npmi"
},
{
"UpdateStageName":"npm Packages",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"Executable",
"UpdateSourceData":"cmd.exe",
"UpdateSourceArgs":"/C set PATH={{$FullBaseDir}}node;%PATH% && cd \"{{$FullBaseDir}}app\\{{ApplicationLocation}}\\\" && \"{{$FullBaseDir}}node\\node\" \"{{$FullBaseDir}}node\\node_modules\\npm\\bin\\npm-cli.js\" i >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1",
"UpdateSourceConditionSetting":"NpmInstallType",
"UpdateSourceConditionValue":"npmi"
},
{
"UpdateStageName":"npm Packages",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"Executable",
"UpdateSourceData":"/bin/bash",
"UpdateSourceArgs":"-c 'export PATH=$PATH:{{$FullBaseDir}}node/bin && cd \"{{$FullBaseDir}}app/{{ApplicationLocation}}/\" && \"{{$FullBaseDir}}node/bin/node\" \"{{$FullBaseDir}}node/bin/npm\" ci >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1'",
"UpdateSourceConditionSetting":"NpmInstallType",
"UpdateSourceConditionValue":"npmci"
},
{
"UpdateStageName":"npm Packages",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"Executable",
"UpdateSourceData":"cmd.exe",
"UpdateSourceArgs":"/C set PATH={{$FullBaseDir}}node;%PATH% && cd \"{{$FullBaseDir}}app\\{{ApplicationLocation}}\\\" && \"{{$FullBaseDir}}node\\node\" \"{{$FullBaseDir}}node\\node_modules\\npm\\bin\\npm-cli.js\" ci >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1",
"UpdateSourceConditionSetting":"NpmInstallType",
"UpdateSourceConditionValue":"npmci"
}
]