commit
d1a9594c37
8 changed files with 36019 additions and 0 deletions
1
.github/workflows/build.yml
vendored
1
.github/workflows/build.yml
vendored
|
@ -11,6 +11,7 @@ jobs:
|
||||||
- akkoma
|
- akkoma
|
||||||
- pleroma-fe
|
- pleroma-fe
|
||||||
- admin-fe
|
- admin-fe
|
||||||
|
- fedibird-fe
|
||||||
- emoji-lotte
|
- emoji-lotte
|
||||||
- emoji-volpeon-blobfox
|
- emoji-volpeon-blobfox
|
||||||
- emoji-volpeon-blobfox-flip
|
- emoji-volpeon-blobfox-flip
|
||||||
|
|
74
akkoma/fedibird-fe/default.nix
Normal file
74
akkoma/fedibird-fe/default.nix
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
mkYarnPackage,
|
||||||
|
fetchFromGitea,
|
||||||
|
fetchYarnDeps,
|
||||||
|
fixup_yarn_lock,
|
||||||
|
yarn,
|
||||||
|
nodejs,
|
||||||
|
jpegoptim,
|
||||||
|
oxipng,
|
||||||
|
nodePackages,
|
||||||
|
writeScript,
|
||||||
|
applyPatches,
|
||||||
|
callPackage,
|
||||||
|
}: let
|
||||||
|
source = builtins.fromJSON (builtins.readFile ./source.json);
|
||||||
|
src = applyPatches {
|
||||||
|
src = fetchFromGitea {
|
||||||
|
domain = "akkoma.dev";
|
||||||
|
owner = "AkkomaGang";
|
||||||
|
repo = "fedibird-fe";
|
||||||
|
inherit (source) rev sha256;
|
||||||
|
};
|
||||||
|
patches = [./fedibird-fe.patch];
|
||||||
|
};
|
||||||
|
nodeOptions = callPackage ../../lib/opensslLegacyProvider.nix {};
|
||||||
|
in
|
||||||
|
mkYarnPackage rec {
|
||||||
|
pname = "fedibird-fe";
|
||||||
|
version = source.date;
|
||||||
|
inherit src;
|
||||||
|
packageJSON = ./package.json;
|
||||||
|
yarnLock = ./yarn.lock;
|
||||||
|
yarnNix = ./yarn.nix;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
jpegoptim
|
||||||
|
oxipng
|
||||||
|
nodePackages.svgo
|
||||||
|
];
|
||||||
|
patchPhase = ''
|
||||||
|
'';
|
||||||
|
configurePhase = "cp -r $node_modules node_modules";
|
||||||
|
buildPhase = ''
|
||||||
|
export NODE_OPTIONS="${nodeOptions}"
|
||||||
|
yarn run build:production --offline
|
||||||
|
'';
|
||||||
|
installPhase = ''
|
||||||
|
cp -rv dist $out
|
||||||
|
cp -rv public/packs $out/packs
|
||||||
|
cp -rv public/emoji $out/emoji
|
||||||
|
'';
|
||||||
|
distPhase = ''
|
||||||
|
# (Losslessly) optimise compression of image artifacts
|
||||||
|
find $out -type f -name '*.jpg' -execdir ${jpegoptim}/bin/jpegoptim -w$NIX_BUILD_CORES {} \;
|
||||||
|
find $out -type f -name '*.png' -execdir ${oxipng}/bin/oxipng -o max -t $NIX_BUILD_CORES {} \;
|
||||||
|
find $out -type f -name '*.svg' -execdir ${nodePackages.svgo}/bin/svgo {} \;
|
||||||
|
'';
|
||||||
|
passthru = {
|
||||||
|
updateScript = writeScript "update-fedibird-fe" ''
|
||||||
|
${../../scripts/update-git.sh} https://akkoma.dev/AkkomaGang/fedibird-fe.git akkoma/fedibird-fe/source.json
|
||||||
|
if [ "$(git diff -- akkoma/fedibird-fe/source.json)" ]; then
|
||||||
|
SRC_PATH=$(nix-build -E '(import ./. {}).${pname}.src')
|
||||||
|
${../../scripts/update-yarn.sh} $SRC_PATH akkoma/fedibird-fe
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Fedibird frontend for Akkoma and Pleroma";
|
||||||
|
homepage = "https://akkoma.dev/AkkomaGang/fedibird-fe/";
|
||||||
|
license = licenses.agpl3;
|
||||||
|
};
|
||||||
|
}
|
11143
akkoma/fedibird-fe/fedibird-fe.patch
Normal file
11143
akkoma/fedibird-fe/fedibird-fe.patch
Normal file
File diff suppressed because it is too large
Load diff
200
akkoma/fedibird-fe/package.json
Normal file
200
akkoma/fedibird-fe/package.json
Normal file
|
@ -0,0 +1,200 @@
|
||||||
|
{
|
||||||
|
"name": "@mastodon/mastodon",
|
||||||
|
"license": "AGPL-3.0-or-later",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"postversion": "git push --tags",
|
||||||
|
"build:development": "cross-env NODE_ENV=development webpack --config config/webpack/development.js",
|
||||||
|
"build:production": "cross-env NODE_ENV=production webpack --config config/webpack/production.js",
|
||||||
|
"manage:translations": "node ./config/webpack/translationRunner.js",
|
||||||
|
"start": "node ./streaming/index.js",
|
||||||
|
"test": "${npm_execpath} run test:lint:js && ${npm_execpath} run test:jest",
|
||||||
|
"test:lint": "${npm_execpath} run test:lint:js && ${npm_execpath} run test:lint:sass",
|
||||||
|
"test:lint:js": "eslint --ext=js . --cache",
|
||||||
|
"test:lint:sass": "sass-lint -v",
|
||||||
|
"test:jest": "cross-env NODE_ENV=test jest --coverage"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://akkoma.dev/AkkomaGang/fedibird-fe"
|
||||||
|
},
|
||||||
|
"browserslist": [
|
||||||
|
"last 2 versions",
|
||||||
|
"not IE 11",
|
||||||
|
"iOS >= 9",
|
||||||
|
"not dead"
|
||||||
|
],
|
||||||
|
"jest": {
|
||||||
|
"projects": [
|
||||||
|
"<rootDir>/app/javascript/mastodon"
|
||||||
|
],
|
||||||
|
"testPathIgnorePatterns": [
|
||||||
|
"<rootDir>/node_modules/",
|
||||||
|
"<rootDir>/vendor/",
|
||||||
|
"<rootDir>/config/",
|
||||||
|
"<rootDir>/log/",
|
||||||
|
"<rootDir>/public/",
|
||||||
|
"<rootDir>/tmp/"
|
||||||
|
],
|
||||||
|
"setupFiles": [
|
||||||
|
"raf/polyfill"
|
||||||
|
],
|
||||||
|
"setupFilesAfterEnv": [
|
||||||
|
"<rootDir>/app/javascript/mastodon/test_setup.js"
|
||||||
|
],
|
||||||
|
"collectCoverageFrom": [
|
||||||
|
"app/javascript/mastodon/**/*.js",
|
||||||
|
"!app/javascript/mastodon/features/emoji/emoji_compressed.js",
|
||||||
|
"!app/javascript/mastodon/locales/locale-data/*.js",
|
||||||
|
"!app/javascript/mastodon/service_worker/entry.js",
|
||||||
|
"!app/javascript/mastodon/test_setup.js"
|
||||||
|
],
|
||||||
|
"coverageDirectory": "<rootDir>/coverage",
|
||||||
|
"moduleDirectories": [
|
||||||
|
"<rootDir>/node_modules",
|
||||||
|
"<rootDir>/app/javascript"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"private": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/core": "^7.14.8",
|
||||||
|
"@babel/plugin-proposal-decorators": "^7.14.5",
|
||||||
|
"@babel/plugin-transform-react-inline-elements": "^7.14.5",
|
||||||
|
"@babel/plugin-transform-runtime": "^7.14.5",
|
||||||
|
"@babel/preset-env": "^7.15.0",
|
||||||
|
"@babel/preset-react": "^7.14.5",
|
||||||
|
"@babel/runtime": "^7.14.8",
|
||||||
|
"@gamestdio/websocket": "^0.3.2",
|
||||||
|
"@github/webauthn-json": "^0.5.7",
|
||||||
|
"@rails/ujs": "^6.1.4",
|
||||||
|
"array-includes": "^3.1.3",
|
||||||
|
"arrow-key-navigation": "^1.2.0",
|
||||||
|
"autoprefixer": "^9.8.6",
|
||||||
|
"axios": "^0.21.1",
|
||||||
|
"babel-loader": "^8.2.2",
|
||||||
|
"babel-plugin-lodash": "^3.3.4",
|
||||||
|
"babel-plugin-preval": "^5.0.0",
|
||||||
|
"babel-plugin-react-intl": "^6.2.0",
|
||||||
|
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
|
||||||
|
"babel-runtime": "^6.26.0",
|
||||||
|
"blurhash": "^1.1.3",
|
||||||
|
"classnames": "^2.3.1",
|
||||||
|
"color-blend": "^3.0.1",
|
||||||
|
"compression-webpack-plugin": "^6.1.1",
|
||||||
|
"cross-env": "^7.0.3",
|
||||||
|
"css-loader": "^5.2.7",
|
||||||
|
"cssnano": "^4.1.11",
|
||||||
|
"detect-passive-events": "^2.0.3",
|
||||||
|
"dotenv": "^10.0.0",
|
||||||
|
"emoji-mart": "^3.0.1",
|
||||||
|
"es6-symbol": "^3.1.3",
|
||||||
|
"escape-html": "^1.0.3",
|
||||||
|
"exif-js": "^2.3.0",
|
||||||
|
"express": "^4.17.1",
|
||||||
|
"file-loader": "^6.2.0",
|
||||||
|
"font-awesome": "^4.7.0",
|
||||||
|
"glob": "^7.1.7",
|
||||||
|
"history": "^4.10.1",
|
||||||
|
"http-link-header": "^1.0.3",
|
||||||
|
"immutable": "^3.8.2",
|
||||||
|
"imports-loader": "^1.2.0",
|
||||||
|
"intersection-observer": "^0.12.0",
|
||||||
|
"intl": "^1.2.5",
|
||||||
|
"intl-messageformat": "^2.2.0",
|
||||||
|
"intl-relativeformat": "^6.4.3",
|
||||||
|
"is-nan": "^1.3.2",
|
||||||
|
"js-yaml": "^4.1.0",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
|
"mark-loader": "^0.1.6",
|
||||||
|
"marky": "^1.2.2",
|
||||||
|
"mini-css-extract-plugin": "^1.6.2",
|
||||||
|
"mkdirp": "^1.0.4",
|
||||||
|
"npmlog": "^5.0.0",
|
||||||
|
"object-assign": "^4.1.1",
|
||||||
|
"object-fit-images": "^3.2.3",
|
||||||
|
"object.values": "^1.1.3",
|
||||||
|
"offline-plugin": "^5.0.7",
|
||||||
|
"path-complete-extname": "^1.0.0",
|
||||||
|
"pg": "^8.5.0",
|
||||||
|
"postcss-loader": "^3.0.0",
|
||||||
|
"postcss-object-fit-images": "^1.1.2",
|
||||||
|
"promise.prototype.finally": "^3.1.2",
|
||||||
|
"prop-types": "^15.5.10",
|
||||||
|
"punycode": "^2.1.0",
|
||||||
|
"react": "^16.14.0",
|
||||||
|
"react-datepicker": "^4.1.1",
|
||||||
|
"react-dom": "^16.14.0",
|
||||||
|
"react-hotkeys": "^1.1.4",
|
||||||
|
"react-immutable-proptypes": "^2.2.0",
|
||||||
|
"react-immutable-pure-component": "^2.2.2",
|
||||||
|
"react-intl": "^2.9.0",
|
||||||
|
"react-masonry-infinite": "^1.2.2",
|
||||||
|
"react-motion": "^0.5.2",
|
||||||
|
"react-notification": "^6.8.5",
|
||||||
|
"react-overlays": "^0.9.3",
|
||||||
|
"react-redux": "^7.2.4",
|
||||||
|
"react-redux-loading-bar": "^4.0.8",
|
||||||
|
"react-router-dom": "^4.1.1",
|
||||||
|
"react-router-scroll-4": "^1.0.0-beta.1",
|
||||||
|
"react-select": "^4.3.1",
|
||||||
|
"react-sparklines": "^1.7.0",
|
||||||
|
"react-swipeable-views": "^0.14.0",
|
||||||
|
"react-textarea-autosize": "^8.3.3",
|
||||||
|
"react-toggle": "^4.1.2",
|
||||||
|
"redis": "^3.1.2",
|
||||||
|
"redux": "^4.1.0",
|
||||||
|
"redux-immutable": "^4.0.0",
|
||||||
|
"redux-thunk": "^2.2.0",
|
||||||
|
"regenerator-runtime": "^0.13.9",
|
||||||
|
"rellax": "^1.12.1",
|
||||||
|
"requestidlecallback": "^0.3.0",
|
||||||
|
"reselect": "^4.0.0",
|
||||||
|
"rimraf": "^3.0.2",
|
||||||
|
"s-age": "^1.1.2",
|
||||||
|
"sass": "^1.37.0",
|
||||||
|
"sass-loader": "^10.2.0",
|
||||||
|
"stacktrace-js": "^2.0.2",
|
||||||
|
"stringz": "^2.1.0",
|
||||||
|
"substring-trie": "^1.0.2",
|
||||||
|
"terser-webpack-plugin": "^4.2.3",
|
||||||
|
"tesseract.js": "^2.1.1",
|
||||||
|
"throng": "^4.0.0",
|
||||||
|
"tiny-queue": "^0.2.1",
|
||||||
|
"twitter-text": "3.1.0",
|
||||||
|
"uuid": "^8.3.1",
|
||||||
|
"webpack": "^4.46.0",
|
||||||
|
"webpack-assets-manifest": "^4.0.6",
|
||||||
|
"webpack-bundle-analyzer": "^4.4.2",
|
||||||
|
"webpack-cli": "^3.3.12",
|
||||||
|
"webpack-merge": "^5.8.0",
|
||||||
|
"wicg-inert": "^3.1.1",
|
||||||
|
"ws": "^8.0.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@testing-library/jest-dom": "^5.14.1",
|
||||||
|
"@testing-library/react": "^11.2.7",
|
||||||
|
"babel-eslint": "^10.1.0",
|
||||||
|
"babel-jest": "^27.0.6",
|
||||||
|
"eslint": "^7.32.0",
|
||||||
|
"eslint-plugin-import": "~2.23.4",
|
||||||
|
"eslint-plugin-jsx-a11y": "~6.4.1",
|
||||||
|
"eslint-plugin-promise": "~5.1.0",
|
||||||
|
"eslint-plugin-react": "~7.24.0",
|
||||||
|
"jest": "^26.6.3",
|
||||||
|
"raf": "^3.4.1",
|
||||||
|
"react-intl-translations-manager": "^5.0.3",
|
||||||
|
"react-test-renderer": "^16.14.0",
|
||||||
|
"sass-lint": "^1.13.1",
|
||||||
|
"webpack-dev-server": "^3.11.2",
|
||||||
|
"yargs": "^17.0.1"
|
||||||
|
},
|
||||||
|
"resolutions": {
|
||||||
|
"kind-of": "^6.0.3"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"bufferutil": "^4.0.3",
|
||||||
|
"utf-8-validate": "^5.0.5"
|
||||||
|
}
|
||||||
|
}
|
11
akkoma/fedibird-fe/source.json
Normal file
11
akkoma/fedibird-fe/source.json
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"url": "https://akkoma.dev/AkkomaGang/fedibird-fe.git",
|
||||||
|
"rev": "0a64eb70d71f2800f37c3e39f184616d87ab6f59",
|
||||||
|
"date": "2022-08-21T17:30:39+01:00",
|
||||||
|
"path": "/nix/store/dnmyrwrfc2n37sdbrbhglps57gx1yfjh-fedibird-fe",
|
||||||
|
"sha256": "1b1qzqn762iyi3sdf4cwdch74zcskan3cv097picsmprdpr4ni7y",
|
||||||
|
"fetchLFS": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"deepClone": false,
|
||||||
|
"leaveDotGit": false
|
||||||
|
}
|
11946
akkoma/fedibird-fe/yarn.lock
Normal file
11946
akkoma/fedibird-fe/yarn.lock
Normal file
File diff suppressed because it is too large
Load diff
12643
akkoma/fedibird-fe/yarn.nix
Normal file
12643
akkoma/fedibird-fe/yarn.nix
Normal file
File diff suppressed because it is too large
Load diff
|
@ -14,6 +14,7 @@
|
||||||
akkoma = pkgs.callPackage ./akkoma {};
|
akkoma = pkgs.callPackage ./akkoma {};
|
||||||
pleroma-fe = pkgs.callPackage ./akkoma/pleroma-fe {};
|
pleroma-fe = pkgs.callPackage ./akkoma/pleroma-fe {};
|
||||||
admin-fe = pkgs.callPackage ./akkoma/admin-fe {};
|
admin-fe = pkgs.callPackage ./akkoma/admin-fe {};
|
||||||
|
fedibird-fe = pkgs.callPackage ./akkoma/fedibird-fe {};
|
||||||
emoji-lotte = pkgs.callPackage ./art/emoji/lotte {};
|
emoji-lotte = pkgs.callPackage ./art/emoji/lotte {};
|
||||||
emoji-volpeon-blobfox = pkgs.callPackage ./art/emoji/volpeon/blobfox.nix {};
|
emoji-volpeon-blobfox = pkgs.callPackage ./art/emoji/volpeon/blobfox.nix {};
|
||||||
emoji-volpeon-blobfox-flip = pkgs.callPackage ./art/emoji/volpeon/blobfox_flip.nix {};
|
emoji-volpeon-blobfox-flip = pkgs.callPackage ./art/emoji/volpeon/blobfox_flip.nix {};
|
||||||
|
|
Reference in a new issue