NodeJS
Install NVM
bash
sudo adduser --gecos "" --disabled-password node
echo "node:asdf" | sudo chpasswd
:::code-groups
bash
# nvm
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
# reset shell (bash)
nvm install --lts
nvm ls
nvm use --lts
# /home/node/.nvm/versions/node/v18.16.1/bin/node
bash
# nvm
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
# reset shell (bash)
nvm install 18
nvm ls
nvm use 18
/home/node/.nvm/versions/node/v18.16.1/bin/node
:::
Node CLI Arguments
- makes more sense to just make a ps1 script? and bash script?
js
import {win32ToWin32WSL2} from "##/src/index.mjs";
/**
* pnpm install has-flag -D
* https://github.com/sindresorhus/has-flag
* if flags are needed
*/
const args = process.argv;
const [nodePath,scriptPath,...scriptArgs] = args;
// console.log(scriptArgs);
/* lazy validation*/
if(scriptArgs.length !== 1){
console.error('error: invalid args');
process.exit(1);
}
const wslPath = win32ToWin32WSL2(scriptArgs[0])
console.log(wslPath);//returns \n, might not want that
PKG / Build
bash
Try Catch Finally
Fast Glob
Window Powershell Paths
powershell
c:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe
c:/progra~1/PowerShell/7/pwsh.exe
c:/cygwin64/bin/bash.exe
c:/Windows/System32/cmd.exe
GitHub Actions PNPM
yaml
PNPM Packages
bash
corepack enable
corepack enable pnpm
corepack enable yarn
# yarn has built in ssh
pnpm i -g lerna
pnpm i -g rollup
pnpm i -g typescript
# also pkg
Node Import Require
js
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
Node Imports / Exports / Alias
- also vite has alias
jsonc
// package.json
"imports": {
"##/*": {
"default": "./*"
},
},
Websocketd
- websocketd
- nock / mock proxy
- axios cache
- apt
- https://github.com/codeforwings/node-nock-mock-axios-fetch.git