Installation

  • NodeJS 18 (Minimum)

NPX

node_modules
npm init
npm i sqd-cli sqd-serve

npx sqd init  # --serve-only
npx sqd serve
local (dev)
npm init
npm i sqd-cli sqd-serve

npx sqd init --public --local-serve
node serve.js
without sqd-cli
npm init
npm i squared sqd-serve

mkdir dist html
cp -r ./node_modules/squared/dist/* ./dist
cp ./node_modules/squared/html/* ./html     # optional
cp ./node_modules/sqd-serve/config/json/* . # yaml

npx serve

GitHub

prod - master
git clone https://github.com/anpham6/squared
cd squared
git checkout master

npm install
npm run prod

cd ..

git clone https://github.com/anpham6/squared-express
cd squared-express
git checkout master

npm install
npm run prod
npm run deploy # deploy:yaml

cd ../squared

# squared.json
node serve.js
dev - 5.8.0
git clone https://github.com/anpham6/squared
cd squared
git checkout 5.8.0

npm install
npm run build:dev

cd ..

git clone https://github.com/anpham6/squared-express
cd squared-express
git checkout 4.2.0

npm install
npm run dev
npm run deploy:config # deploy:config:yaml

cd ../squared

# squared.json
node serve.js

Repo

Install [1]
export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo

# OR
scripts/repo-install.sh ~/bin/repo
Usage [2]
mkdir workspaces
cd workspaces

repo init -u https://github.com/anpham6/squared-repo -m latest.xml
repo sync -j4
Ruby (alternate) [3]
mkdir workspaces
cd workspaces           # REPO_ROOT

curl -o Rakefile https://raw.githubusercontent.com/anpham6/squared-repo/master/Rakefile

rake -T                 # List tasks

# REPO_BUILD={dev,prod}
# NODE_INSTALL={yarn,pnpm@8}
rake repo:init          # nightly
# OR
rake repo:init[latest]  # REPO_MANIFEST=latest

# Docker
BUILD_DOCKER_OPTS="NODE_TAG=20" rake docker:build
rake docker-test:bake:build[node-release]
~/workspaces
android-docs  chrome-docs  e-mc  pi-r  squared  squared-express

Docker

curl -L -o Dockerfile https://unpkg.com/squared/Dockerfile

# NODE_TAG=latest
# RUBY_VERSION=2.5.0-4.0.0
# PIPE_FAIL={0,1}
# DOCS=any
docker build -t squared --build-arg MANIFEST=prod --build-arg BUILD=prod .

# Express
docker run -it --name express --rm -p 80:80 \
  --mount type=bind,src=${PWD},dst=/workspaces/squared/.config \
  --mount type=bind,src=${PWD}/html,dst=/workspaces/squared/www \
  squared

# Terminal
docker run -it --name debian squared /bin/bash # irb

GitHub Codespaces

sudo ./scripts/repo-install.sh

# NODE_INSTALL=yarn
REPO_ROOT=/workspaces rake repo:init[0.14.x]

rake repo:sync
# OR
rake emc:checkout:branch[0.14.0]    # once
rake pir:checkout:branch[0.12.0]
rake express:checkout:branch[4.2.0]
rake pull