Hack in a package.yaml instead of package.json
json is just incredibly tedious to use for this, especially because of lack of comments. Upstream has been informed of this many times apparently, npm won't change it. Just hack it downstream. npm will never get better, will it...
This commit is contained in:
parent
f9bd128a02
commit
594e9bcbfd
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -3,3 +3,4 @@
|
|||
/dist/
|
||||
/node_modules
|
||||
/result
|
||||
/package.json
|
||||
|
|
13
README.md
13
README.md
|
@ -4,12 +4,15 @@ Website templates bundled with parcel.
|
|||
|
||||
## Updating
|
||||
|
||||
When adding/removing packages from `package.json`, the corresponding
|
||||
`package-lock.json` needs to be updated. Use `nix/update-lockfile` for
|
||||
this.
|
||||
When adding/removing packages from `package.yaml`, the corresponding
|
||||
`package.json` and `package-lock.json` need to be updated. Use:
|
||||
|
||||
```console
|
||||
nix run .#update-lockfile
|
||||
```
|
||||
|
||||
When ignoring semver is desired, use:
|
||||
|
||||
```sh
|
||||
npm-check-updates -u
|
||||
```console
|
||||
nix run .#update-lockfile -- --ignore-semver
|
||||
```
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
nix-filter = nix-filter.lib;
|
||||
};
|
||||
in {
|
||||
apps.${system} = import ./nix/utilities {inherit pkgs;};
|
||||
|
||||
packages.${system} = rec {
|
||||
tlaternet-templates = package.package;
|
||||
default = tlaternet-templates;
|
||||
|
|
|
@ -5,7 +5,21 @@
|
|||
}: let
|
||||
inherit (pkgs.lib) cleanSource;
|
||||
|
||||
packageJson =
|
||||
pkgs.runCommand "package.json" {
|
||||
nativeBuildInputs = with pkgs; [yj];
|
||||
src = "";
|
||||
} ''
|
||||
cat ${self}/package.yaml | yj > $out
|
||||
'';
|
||||
|
||||
prePatch = ''
|
||||
ln -s ${packageJson} package.json;
|
||||
'';
|
||||
|
||||
node_modules_attrs = {
|
||||
packageJson = "${packageJson}";
|
||||
|
||||
# Dependencies that should be available in the node build
|
||||
buildInputs = with pkgs; [
|
||||
pkg-config
|
||||
|
@ -21,7 +35,7 @@
|
|||
];
|
||||
in {
|
||||
package = pkgs.npmlock2nix.build {
|
||||
inherit buildInputs node_modules_attrs;
|
||||
inherit buildInputs prePatch node_modules_attrs;
|
||||
|
||||
src = cleanSource self;
|
||||
|
||||
|
@ -33,14 +47,22 @@ in {
|
|||
};
|
||||
|
||||
shell = pkgs.npmlock2nix.shell {
|
||||
inherit buildInputs node_modules_attrs;
|
||||
inherit buildInputs prePatch node_modules_attrs;
|
||||
|
||||
src = nix-filter {
|
||||
root = self;
|
||||
include = [
|
||||
"package.json"
|
||||
"package.yaml"
|
||||
"package-lock.json"
|
||||
];
|
||||
};
|
||||
|
||||
shellHook = ''
|
||||
if [ -e package.json ]; then
|
||||
unlink package.json
|
||||
fi
|
||||
|
||||
ln -s ${packageJson} package.json
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
#!/usr/bin/env -S nix run 'github:clhodapp/nix-runner/32a984cfa14e740a34d14fad16fc479dec72bf07'
|
||||
#!pure
|
||||
#!package nixpkgs#bash
|
||||
#!package nixpkgs#coreutils
|
||||
#!package nixpkgs#direnv
|
||||
#!package nixpkgs#git
|
||||
#!package nixpkgs#nodejs-14_x
|
||||
#!command bash
|
||||
# shellcheck shell=bash
|
||||
|
||||
set -eu
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)"
|
||||
unlink node_modules
|
||||
npm install --package-lock-only
|
||||
rm -rf node_modules
|
||||
direnv reload
|
20
nix/utilities/default.nix
Normal file
20
nix/utilities/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{pkgs}: let
|
||||
inherit (builtins) readFile;
|
||||
|
||||
update-lockfile = pkgs.writeShellApplication {
|
||||
name = "update-lockfile";
|
||||
runtimeInputs = with pkgs; [
|
||||
git
|
||||
yj
|
||||
nodejs-14_x
|
||||
direnv
|
||||
nodePackages.npm-check-updates
|
||||
];
|
||||
text = readFile ./update-lockfile;
|
||||
};
|
||||
in {
|
||||
update-lockfile = {
|
||||
type = "app";
|
||||
program = "${update-lockfile}/bin/update-lockfile";
|
||||
};
|
||||
}
|
25
nix/utilities/update-lockfile
Normal file
25
nix/utilities/update-lockfile
Normal file
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -eu
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)"
|
||||
|
||||
if [ -L node_modules ]; then
|
||||
unlink node_modules
|
||||
fi
|
||||
|
||||
if [ -L package.json ]; then
|
||||
unlink package.json
|
||||
fi
|
||||
|
||||
yj < package.yaml > package.json
|
||||
|
||||
if [ "${1}" == "--ignore-semver" ]; then
|
||||
npm-check-updates -u
|
||||
fi
|
||||
|
||||
npm install --package-lock-only
|
||||
rm -rf node_modules
|
||||
rm package.json
|
||||
|
||||
direnv reload
|
312
package-lock.json
generated
312
package-lock.json
generated
|
@ -1049,6 +1049,23 @@
|
|||
"to-fast-properties": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"@choojs/findup": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz",
|
||||
"integrity": "sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"commander": "^2.15.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"commander": {
|
||||
"version": "2.20.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"@eslint/eslintrc": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz",
|
||||
|
@ -2540,6 +2557,17 @@
|
|||
"nullthrows": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"@parcel/transformer-glsl": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/transformer-glsl/-/transformer-glsl-2.6.2.tgz",
|
||||
"integrity": "sha512-s9XhYqBupDwPYN3FwJilFvmg4UmmdCa4Ai5tsOaDW7f1kQGOF7KRbMZNpRO+tl4ADcFc/WKlY0XaA1tkItycfQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@parcel/plugin": "2.6.2",
|
||||
"glslify-bundle": "^5.1.1",
|
||||
"glslify-deps": "^1.3.2"
|
||||
}
|
||||
},
|
||||
"@parcel/transformer-html": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.6.2.tgz",
|
||||
|
@ -2838,6 +2866,17 @@
|
|||
"config-chain": "^1.1.11"
|
||||
}
|
||||
},
|
||||
"@reduxjs/toolkit": {
|
||||
"version": "1.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.8.3.tgz",
|
||||
"integrity": "sha512-lU/LDIfORmjBbyDLaqFN2JB9YmAT1BElET9y0ZszwhSBa5Ef3t6o5CrHupw5J1iOXwd+o92QfQZ8OJpwXvsssg==",
|
||||
"requires": {
|
||||
"immer": "^9.0.7",
|
||||
"redux": "^4.1.2",
|
||||
"redux-thunk": "^2.4.1",
|
||||
"reselect": "^4.1.5"
|
||||
}
|
||||
},
|
||||
"@sindresorhus/is": {
|
||||
"version": "5.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.3.0.tgz",
|
||||
|
@ -2958,6 +2997,18 @@
|
|||
"@types/react": "*"
|
||||
}
|
||||
},
|
||||
"@types/react-redux": {
|
||||
"version": "7.1.24",
|
||||
"resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.24.tgz",
|
||||
"integrity": "sha512-7FkurKcS1k0FHZEtdbbgN8Oc6b+stGSfZYjQGicofJ0j4U0qIn/jaSvnP2pLwZKiai3/17xqqxkkrxTgN8UNbQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/hoist-non-react-statics": "^3.3.0",
|
||||
"@types/react": "*",
|
||||
"hoist-non-react-statics": "^3.3.0",
|
||||
"redux": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"@types/responselike": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
|
||||
|
@ -2972,26 +3023,11 @@
|
|||
"resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
|
||||
"integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
|
||||
},
|
||||
"@types/three": {
|
||||
"version": "0.141.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/three/-/three-0.141.0.tgz",
|
||||
"integrity": "sha512-OJdKDgTPVBUgc+s74DYoy4aLznbFFC38Xm4ElmU1YwGNgR7GGFVvFCX7lpVgOsT6S1zSJtGdajTsOYE8/xY9nA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/webxr": "*"
|
||||
}
|
||||
},
|
||||
"@types/use-sync-external-store": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
|
||||
"integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA=="
|
||||
},
|
||||
"@types/webxr": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.4.0.tgz",
|
||||
"integrity": "sha512-LQvrACV3Pj17GpkwHwXuTd733gfY+D7b9mKdrTmLdO7vo7P/o6209Qqtk63y/FCv/lspdmi0pWz6Qe/ull9kQg==",
|
||||
"dev": true
|
||||
},
|
||||
"@typescript-eslint/eslint-plugin": {
|
||||
"version": "5.32.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.32.0.tgz",
|
||||
|
@ -4677,6 +4713,12 @@
|
|||
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
|
||||
"dev": true
|
||||
},
|
||||
"events": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
||||
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
|
||||
"dev": true
|
||||
},
|
||||
"exif-parser": {
|
||||
"version": "0.1.12",
|
||||
"resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz",
|
||||
|
@ -4973,6 +5015,11 @@
|
|||
"integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
|
||||
"dev": true
|
||||
},
|
||||
"gl-matrix": {
|
||||
"version": "3.4.3",
|
||||
"resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz",
|
||||
"integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA=="
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.2.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||
|
@ -5043,6 +5090,183 @@
|
|||
"slash": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"glsl-inject-defines": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz",
|
||||
"integrity": "sha512-W49jIhuDtF6w+7wCMcClk27a2hq8znvHtlGnrYkSWEr8tHe9eA2dcnohlcAmxLYBSpSSdzOkRdyPTrx9fw49+A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glsl-token-inject-block": "^1.0.0",
|
||||
"glsl-token-string": "^1.0.1",
|
||||
"glsl-tokenizer": "^2.0.2"
|
||||
}
|
||||
},
|
||||
"glsl-resolve": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz",
|
||||
"integrity": "sha512-xxFNsfnhZTK9NBhzJjSBGX6IOqYpvBHxxmo+4vapiljyGNCY0Bekzn0firQkQrazK59c1hYxMDxYS8MDlhw4gA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"resolve": "^0.6.1",
|
||||
"xtend": "^2.1.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"resolve": {
|
||||
"version": "0.6.3",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz",
|
||||
"integrity": "sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==",
|
||||
"dev": true
|
||||
},
|
||||
"xtend": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz",
|
||||
"integrity": "sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"glsl-token-assignments": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz",
|
||||
"integrity": "sha512-OwXrxixCyHzzA0U2g4btSNAyB2Dx8XrztY5aVUCjRSh4/D0WoJn8Qdps7Xub3sz6zE73W3szLrmWtQ7QMpeHEQ==",
|
||||
"dev": true
|
||||
},
|
||||
"glsl-token-defines": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/glsl-token-defines/-/glsl-token-defines-1.0.0.tgz",
|
||||
"integrity": "sha512-Vb5QMVeLjmOwvvOJuPNg3vnRlffscq2/qvIuTpMzuO/7s5kT+63iL6Dfo2FYLWbzuiycWpbC0/KV0biqFwHxaQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glsl-tokenizer": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"glsl-token-depth": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glsl-token-depth/-/glsl-token-depth-1.1.2.tgz",
|
||||
"integrity": "sha512-eQnIBLc7vFf8axF9aoi/xW37LSWd2hCQr/3sZui8aBJnksq9C7zMeUYHVJWMhFzXrBU7fgIqni4EhXVW4/krpg==",
|
||||
"dev": true
|
||||
},
|
||||
"glsl-token-descope": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/glsl-token-descope/-/glsl-token-descope-1.0.2.tgz",
|
||||
"integrity": "sha512-kS2PTWkvi/YOeicVjXGgX5j7+8N7e56srNDEHDTVZ1dcESmbmpmgrnpjPcjxJjMxh56mSXYoFdZqb90gXkGjQw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glsl-token-assignments": "^2.0.0",
|
||||
"glsl-token-depth": "^1.1.0",
|
||||
"glsl-token-properties": "^1.0.0",
|
||||
"glsl-token-scope": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"glsl-token-inject-block": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/glsl-token-inject-block/-/glsl-token-inject-block-1.1.0.tgz",
|
||||
"integrity": "sha512-q/m+ukdUBuHCOtLhSr0uFb/qYQr4/oKrPSdIK2C4TD+qLaJvqM9wfXIF/OOBjuSA3pUoYHurVRNao6LTVVUPWA==",
|
||||
"dev": true
|
||||
},
|
||||
"glsl-token-properties": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/glsl-token-properties/-/glsl-token-properties-1.0.1.tgz",
|
||||
"integrity": "sha512-dSeW1cOIzbuUoYH0y+nxzwK9S9O3wsjttkq5ij9ZGw0OS41BirKJzzH48VLm8qLg+au6b0sINxGC0IrGwtQUcA==",
|
||||
"dev": true
|
||||
},
|
||||
"glsl-token-scope": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glsl-token-scope/-/glsl-token-scope-1.1.2.tgz",
|
||||
"integrity": "sha512-YKyOMk1B/tz9BwYUdfDoHvMIYTGtVv2vbDSLh94PT4+f87z21FVdou1KNKgF+nECBTo0fJ20dpm0B1vZB1Q03A==",
|
||||
"dev": true
|
||||
},
|
||||
"glsl-token-string": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/glsl-token-string/-/glsl-token-string-1.0.1.tgz",
|
||||
"integrity": "sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==",
|
||||
"dev": true
|
||||
},
|
||||
"glsl-token-whitespace-trim": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/glsl-token-whitespace-trim/-/glsl-token-whitespace-trim-1.0.0.tgz",
|
||||
"integrity": "sha512-ZJtsPut/aDaUdLUNtmBYhaCmhIjpKNg7IgZSfX5wFReMc2vnj8zok+gB/3Quqs0TsBSX/fGnqUUYZDqyuc2xLQ==",
|
||||
"dev": true
|
||||
},
|
||||
"glsl-tokenizer": {
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz",
|
||||
"integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"through2": "^0.6.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"isarray": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
|
||||
"dev": true
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "1.0.34",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
|
||||
"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.1",
|
||||
"isarray": "0.0.1",
|
||||
"string_decoder": "~0.10.x"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
|
||||
"dev": true
|
||||
},
|
||||
"through2": {
|
||||
"version": "0.6.5",
|
||||
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
|
||||
"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"readable-stream": ">=1.0.33-1 <1.1.0-0",
|
||||
"xtend": ">=4.0.0 <4.1.0-0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"glslify-bundle": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/glslify-bundle/-/glslify-bundle-5.1.1.tgz",
|
||||
"integrity": "sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glsl-inject-defines": "^1.0.1",
|
||||
"glsl-token-defines": "^1.0.0",
|
||||
"glsl-token-depth": "^1.1.1",
|
||||
"glsl-token-descope": "^1.0.2",
|
||||
"glsl-token-scope": "^1.1.1",
|
||||
"glsl-token-string": "^1.0.1",
|
||||
"glsl-token-whitespace-trim": "^1.0.0",
|
||||
"glsl-tokenizer": "^2.0.2",
|
||||
"murmurhash-js": "^1.0.0",
|
||||
"shallow-copy": "0.0.1"
|
||||
}
|
||||
},
|
||||
"glslify-deps": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/glslify-deps/-/glslify-deps-1.3.2.tgz",
|
||||
"integrity": "sha512-7S7IkHWygJRjcawveXQjRXLO2FTjijPDYC7QfZyAQanY+yGLCFHYnPtsGT9bdyHiwPTw/5a1m1M9hamT2aBpag==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@choojs/findup": "^0.2.0",
|
||||
"events": "^3.2.0",
|
||||
"glsl-resolve": "0.0.1",
|
||||
"glsl-tokenizer": "^2.0.0",
|
||||
"graceful-fs": "^4.1.2",
|
||||
"inherits": "^2.0.1",
|
||||
"map-limit": "0.0.1",
|
||||
"resolve": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"got": {
|
||||
"version": "12.3.0",
|
||||
"resolved": "https://registry.npmjs.org/got/-/got-12.3.0.tgz",
|
||||
|
@ -5345,10 +5569,10 @@
|
|||
"queue": "6.0.1"
|
||||
}
|
||||
},
|
||||
"immutability-helper": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/immutability-helper/-/immutability-helper-3.1.1.tgz",
|
||||
"integrity": "sha512-Q0QaXjPjwIju/28TsugCHNEASwoCcJSyJV3uO1sOIQGI0jKgm9f41Lvz0DZj3n46cNCyAZTsEYoY4C2bVRUzyQ=="
|
||||
"immer": {
|
||||
"version": "9.0.15",
|
||||
"resolved": "https://registry.npmjs.org/immer/-/immer-9.0.15.tgz",
|
||||
"integrity": "sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ=="
|
||||
},
|
||||
"immutable": {
|
||||
"version": "4.1.0",
|
||||
|
@ -5905,6 +6129,26 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"map-limit": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz",
|
||||
"integrity": "sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"once": "~1.3.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"once": {
|
||||
"version": "1.3.3",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
|
||||
"integrity": "sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"markdown-it": {
|
||||
"version": "12.3.2",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
|
||||
|
@ -6123,6 +6367,12 @@
|
|||
"node-gyp-build-optional-packages": "5.0.3"
|
||||
}
|
||||
},
|
||||
"murmurhash-js": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz",
|
||||
"integrity": "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==",
|
||||
"dev": true
|
||||
},
|
||||
"napi-build-utils": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
|
||||
|
@ -7663,10 +7913,10 @@
|
|||
"@babel/runtime": "^7.9.2"
|
||||
}
|
||||
},
|
||||
"redux-act": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/redux-act/-/redux-act-1.8.0.tgz",
|
||||
"integrity": "sha512-xW3FIco/VwJGMW3eCD3JGAxyozNC4k35qrWM5lEQf9T2pfv3leDC+3vQ8WdHZjcrol/jjWAeJ+ULqrscuDqlKg=="
|
||||
"redux-thunk": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.1.tgz",
|
||||
"integrity": "sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q=="
|
||||
},
|
||||
"regenerate": {
|
||||
"version": "1.4.2",
|
||||
|
@ -7822,6 +8072,11 @@
|
|||
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
|
||||
"dev": true
|
||||
},
|
||||
"reselect": {
|
||||
"version": "4.1.6",
|
||||
"resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.6.tgz",
|
||||
"integrity": "sha512-ZovIuXqto7elwnxyXbBtCPo9YFEr3uJqj2rRbcOOog1bmu2Ag85M4hixSwFWyaBMKXNgvPaJ9OSu9SkBPIeJHQ=="
|
||||
},
|
||||
"resize-img": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/resize-img/-/resize-img-1.1.2.tgz",
|
||||
|
@ -8064,6 +8319,12 @@
|
|||
"integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
|
||||
"dev": true
|
||||
},
|
||||
"shallow-copy": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz",
|
||||
"integrity": "sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==",
|
||||
"dev": true
|
||||
},
|
||||
"sharp": {
|
||||
"version": "0.28.3",
|
||||
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.28.3.tgz",
|
||||
|
@ -8484,11 +8745,6 @@
|
|||
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
|
||||
"dev": true
|
||||
},
|
||||
"three": {
|
||||
"version": "0.142.0",
|
||||
"resolved": "https://registry.npmjs.org/three/-/three-0.142.0.tgz",
|
||||
"integrity": "sha512-ESjPO+3geFr+ZUfVMpMnF/eVU2uJPOh0e2ZpMFqjNca1wApS9lJb7E4MjwGIczgt9iuKd8PEm6Pfgp2bJ92Xtg=="
|
||||
},
|
||||
"through2": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
|
||||
|
|
55
package.json
55
package.json
|
@ -1,55 +0,0 @@
|
|||
{
|
||||
"name": "tlaternet",
|
||||
"version": "1.0.0",
|
||||
"description": "tlaternet web interface",
|
||||
"author": "Tristan Maat <tm@tlater.net>",
|
||||
"license": "MIT",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@fontsource/arimo": "^4.5.8",
|
||||
"@fontsource/nunito": "^4.5.9",
|
||||
"@fortawesome/fontawesome-free": "^6.1.1",
|
||||
"bulma": "^0.9.4",
|
||||
"hack-font": "^3.3.0",
|
||||
"three": "^0.142.0",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-redux": "^8.0.2",
|
||||
"classnames": "^2.3.1",
|
||||
"redux-act": "^1.8.0",
|
||||
"redux": "4.2.0",
|
||||
"immutability-helper": "3.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-env": "^7.18.6",
|
||||
"@parcel/transformer-sass": "^2.6.2",
|
||||
"@types/react-dom": "^18.0.6",
|
||||
"@types/three": "^0.141.0",
|
||||
"@typescript-eslint/parser": "^5.32.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.32.0",
|
||||
"eslint": "^8.21.0",
|
||||
"prettier": "^2.7.1",
|
||||
"parcel": "^2.6.2",
|
||||
"posthtml-extend": "^0.6.3",
|
||||
"posthtml-favicons": "^1.4.0",
|
||||
"posthtml-include": "^1.7.4",
|
||||
"posthtml-markdownit": "^1.3.0",
|
||||
"sass": "^1.53.0",
|
||||
"typescript": "^4.7.4",
|
||||
"typescript-language-server": "^0.11.2",
|
||||
"typescript-eslint-language-service": "^5.0.0",
|
||||
"vscode-langservers-extracted": "^4.2.1",
|
||||
"npm-check-updates": "^16.0.5"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "parcel build --no-autoinstall",
|
||||
"serve": "parcel serve --no-autoinstall",
|
||||
"watch": "parcel watch --no-autoinstall",
|
||||
"build-dist": "parcel build --no-cache --no-autoinstall && rename '.html' '.html.hbs' dist/*.html",
|
||||
"check": "tsc --noEmit",
|
||||
"style": "prettier --check src",
|
||||
"lint": "eslint --format unix src"
|
||||
},
|
||||
"source": "src/index.html",
|
||||
"browserslist": "> 1%, not dead"
|
||||
}
|
81
package.yaml
Normal file
81
package.yaml
Normal file
|
@ -0,0 +1,81 @@
|
|||
name: tlaternet
|
||||
version: 1.0.0
|
||||
description: tlaternet web interface
|
||||
author: Tristan Maat <tm@tlater.net>
|
||||
license: MIT
|
||||
private: true
|
||||
|
||||
dependencies:
|
||||
# Libraries
|
||||
gl-matrix: ^3.4.3 # To help with 3D math in WebGL code
|
||||
classnames: ^2.3.1 # To manage CSS class names in react code
|
||||
|
||||
# Fonts
|
||||
hack-font: ^3.3.0
|
||||
'@fontsource/arimo': ^4.5.8
|
||||
'@fontsource/nunito': ^4.5.9
|
||||
'@fortawesome/fontawesome-free': ^6.1.1
|
||||
|
||||
# Frameworks for static content
|
||||
bulma: ^0.9.4
|
||||
|
||||
# React-redux stuff
|
||||
react: ^18.2.0
|
||||
react-dom: ^18.2.0
|
||||
redux: ^4.2.0
|
||||
'@reduxjs/toolkit': ^1.8.3
|
||||
react-redux: ^8.0.2
|
||||
|
||||
devDependencies:
|
||||
# Parcel & plugins
|
||||
parcel: ^2.6.2
|
||||
'@parcel/transformer-sass': ^2.6.2
|
||||
'@parcel/transformer-glsl': 2.6.2
|
||||
|
||||
# Build tools
|
||||
typescript: ^4.7.4
|
||||
|
||||
sass: ^1.53.0
|
||||
|
||||
posthtml-extend: ^0.6.3
|
||||
posthtml-favicons: ^1.4.0
|
||||
posthtml-include: ^1.7.4
|
||||
posthtml-markdownit: ^1.3.0
|
||||
|
||||
'@babel/preset-env': ^7.18.6
|
||||
|
||||
# Type shims
|
||||
'@types/react-dom': ^18.0.6
|
||||
'@types/react-redux': ^7.1.24
|
||||
|
||||
# Dev tools
|
||||
npm-check-updates: ^16.0.5
|
||||
|
||||
prettier: ^2.7.1
|
||||
|
||||
typescript-language-server: ^0.11.2
|
||||
typescript-eslint-language-service: ^5.0.0
|
||||
|
||||
eslint: ^8.21.0
|
||||
'@typescript-eslint/parser': ^5.32.0
|
||||
'@typescript-eslint/eslint-plugin': ^5.32.0
|
||||
|
||||
vscode-langservers-extracted: ^4.2.1
|
||||
|
||||
scripts:
|
||||
# Dev workflow
|
||||
build: parcel build --no-autoinstall
|
||||
serve: parcel serve --no-autoinstall
|
||||
watch: parcel watch --no-autoinstall
|
||||
|
||||
# Production build
|
||||
build-dist: parcel build --no-cache --no-autoinstall && rename '.html' '.html.hbs' dist/*.html
|
||||
|
||||
# Checks
|
||||
check: tsc --noEmit
|
||||
style: prettier --check src
|
||||
lint: eslint --format unix src
|
||||
|
||||
# Parcel config
|
||||
source: src/index.html
|
||||
browserslist: '> 1%, not dead'
|
Reference in a new issue