diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index d454dec..0eb90b4 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -25,6 +25,9 @@ jobs: - run: pnpm install --frozen-lockfile + - name: Build core packages + run: pnpm -r --filter '!@ns/web' build + - run: pnpm run check - run: pnpm run lint - run: pnpm run fmt --check diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index efbf740..005db59 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -35,13 +35,16 @@ jobs: - name: Install dependencies run: pnpm install --frozen-lockfile - - name: Build - run: GITHUB_PAGES=true pnpm run build + - name: Build core packages + run: pnpm -r --filter '!@ns/web' build + + - name: Build web app + run: GITHUB_PAGES=true pnpm run build:web - name: Upload artifact uses: actions/upload-pages-artifact@v4 with: - path: dist + path: packages/web/dist deploy: needs: build diff --git a/.gitignore b/.gitignore index fa5c039..9134a04 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,7 @@ +# Nix /.direnv/ -/node_modules/ -/dist/ -/result*/ +/result* + +# pnpm +**/node_modules/ +**/dist/ diff --git a/.prettierignore b/.prettierignore index e8733b5..6e1a34d 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,7 +1,7 @@ -/node_modules/ -/dist/ /.direnv .eslintcache *.md *.yml .DS_Store +**/node_modules +**/dist diff --git a/docs/README.md b/docs/README.md index 916a9db..df40f19 100644 --- a/docs/README.md +++ b/docs/README.md @@ -30,6 +30,11 @@ regressions in subsequent exports. ## Usage +NS provides both a web application for pretty visuals, and a terminal client (a +TUI) for rendering the statistics from your terminal. + +### Web + Usage instructions are provided in the initial page. Simply navigate to the site and provide the JSON export (or a file) to render the statistics. The number of rendered fields might differ based on your Nix version or implementation (Lix, @@ -61,7 +66,7 @@ analysis you may compare two _named_ analyses at a time. > UI bugs or areas where UI polish is very clearly missing. Please crate an > issue if the generated graph or the site UI looks off. Thanks :) -### Snapshots +#### Snapshots Snapshots are an "experimental" (just means they're new and unpolished) feature that lets you save an analysis in your browser storage with a name to be used @@ -72,9 +77,12 @@ You can save an analysis as a snapshot from the save button on the bottom right. ## Hacking -This project is built with Vite, using Typescript-React (`.tsx`) and SolidJS. A -Nix shell is provided, and dependencies can be fetched with `pnpm` while inside -the dev shell. +This project is built with various web technologies. Namely we use Vite, +Typescript-React (`.tsx`) and SolidJS for most of our user interfaces. + +The recommended approach for resolving dependencies is using Nix; a Nix shell is +provided, and dependencies can be fetched with `pnpm` while inside the dev +shell. ```bash # Run the live server diff --git a/nix/package.nix b/nix/package.nix index de8a552..6b065c5 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname src; - hash = "sha256-5u2FmPYLRadLZeH6dRuoiXVejic7Z6JM4IzIdwLif/A="; + hash = "sha256-zhdgC+sjIUAUsStG3H8RfVSrbhQG62a3zXeIPTUoGbI="; fetcherVersion = 3; # https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion };