synapse-admin: 0.10.0 -> 0.10.3, add updateScript (#395273)
This commit is contained in:
@@ -1,91 +0,0 @@
|
||||
{
|
||||
"name": "synapse-admin",
|
||||
"version": "0.10.0",
|
||||
"description": "Admin GUI for the Matrix.org server Synapse",
|
||||
"type": "module",
|
||||
"author": "Awesome Technologies Innovationslabor GmbH",
|
||||
"license": "Apache-2.0",
|
||||
"homepage": ".",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Awesome-Technologies/synapse-admin"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-env": "^7.24.4",
|
||||
"@babel/preset-react": "^7.24.1",
|
||||
"@testing-library/jest-dom": "^6.0.0",
|
||||
"@testing-library/react": "^15.0.2",
|
||||
"@testing-library/user-event": "^14.5.2",
|
||||
"@vitejs/plugin-react": "^4.0.0",
|
||||
"babel-jest": "^29.7.0",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-config-react-app": "^7.0.1",
|
||||
"eslint-plugin-prettier": "^5.1.3",
|
||||
"jest": "^29.7.0",
|
||||
"jest-environment-jsdom": "^29.7.0",
|
||||
"jest-fetch-mock": "^3.0.3",
|
||||
"prettier": "^3.2.5",
|
||||
"react-test-renderer": "^18.2.0",
|
||||
"vite": "^5.0.0",
|
||||
"vite-plugin-version-mark": "^0.0.13"
|
||||
},
|
||||
"dependencies": {
|
||||
"@haleos/ra-language-german": "^1.0.0",
|
||||
"@haxqer/ra-language-chinese": "^4.16.2",
|
||||
"@mui/icons-material": "^5.15.15",
|
||||
"@mui/material": "^5.15.15",
|
||||
"@mui/styles": "^5.15.15",
|
||||
"papaparse": "^5.4.1",
|
||||
"ra-language-farsi": "^4.2.0",
|
||||
"ra-language-french": "^4.16.15",
|
||||
"ra-language-italian": "^3.13.1",
|
||||
"react": "^18.0.0",
|
||||
"react-admin": "^4.16.15",
|
||||
"react-dom": "^18.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "vite serve",
|
||||
"build": "vite build",
|
||||
"fix:other": "yarn prettier --write",
|
||||
"fix:code": "yarn test:lint --fix",
|
||||
"fix": "yarn fix:code && yarn fix:other",
|
||||
"prettier": "prettier --ignore-path .gitignore \"**/*.{js,jsx,json,md,scss,yaml,yml}\"",
|
||||
"test:code": "jest",
|
||||
"test:lint": "eslint --ignore-path .gitignore --ext .js,.jsx .",
|
||||
"test:style": "yarn prettier --list-different",
|
||||
"test": "yarn test:style && yarn test:lint && yarn test:code"
|
||||
},
|
||||
"babel": {
|
||||
"presets": [
|
||||
"@babel/preset-env",
|
||||
[
|
||||
"@babel/preset-react",
|
||||
{
|
||||
"runtime": "automatic"
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"eslintConfig": {
|
||||
"extends": "react-app"
|
||||
},
|
||||
"jest": {
|
||||
"testEnvironment": "jsdom",
|
||||
"setupFilesAfterEnv": [
|
||||
"<rootDir>/src/setupTests.js"
|
||||
]
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
">0.2%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 1 chrome version",
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,67 +1,145 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchYarnDeps,
|
||||
mkYarnPackage,
|
||||
nodejs,
|
||||
yarn-berry,
|
||||
cacert,
|
||||
nix-update-script,
|
||||
formats,
|
||||
baseUrl ? null,
|
||||
writeShellScriptBin,
|
||||
}:
|
||||
|
||||
mkYarnPackage rec {
|
||||
let
|
||||
config = lib.optionalAttrs (baseUrl != null) { restrictBaseUrl = baseUrl; };
|
||||
configFormat = formats.json { };
|
||||
configFile = configFormat.generate "synapse-admin-config" config;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "synapse-admin";
|
||||
version = "0.10.0";
|
||||
version = "0.10.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Awesome-Technologies";
|
||||
repo = "synapse-admin";
|
||||
tag = version;
|
||||
sha256 = "sha256-3MC5PCEwYfZzJy9AW9nHTpvU49Lk6wbYC4Rcv9J9MEg=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-o2HzGuKjmIeJ+Kxd9KiFWmQgGVtvRdydiQJlr6P0+s8=";
|
||||
};
|
||||
|
||||
packageJSON = ./package.json;
|
||||
# we cannot use fetchYarnDeps because that doesn't support yarn 2/berry lockfiles
|
||||
yarnOfflineCache = stdenv.mkDerivation {
|
||||
pname = "yarn-deps";
|
||||
inherit (finalAttrs) version src;
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/yarn.lock";
|
||||
hash = "sha256-vpCwPL1B+hbIaVSHtlkGjPAteu9BFNNmCTE66CSyFkg=";
|
||||
nativeBuildInputs = [ yarn-berry ];
|
||||
|
||||
dontInstall = true;
|
||||
|
||||
env = {
|
||||
YARN_ENABLE_TELEMETRY = 0;
|
||||
NODE_EXTRA_CA_CERTS = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
};
|
||||
|
||||
supportedArchitectures = builtins.toJSON {
|
||||
os = [
|
||||
"darwin"
|
||||
"linux"
|
||||
];
|
||||
cpu = [
|
||||
"arm"
|
||||
"arm64"
|
||||
"ia32"
|
||||
"x64"
|
||||
];
|
||||
libc = [
|
||||
"glibc"
|
||||
"musl"
|
||||
];
|
||||
};
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
export HOME="$NIX_BUILD_TOP"
|
||||
yarn config set enableGlobalCache false
|
||||
yarn config set cacheFolder $out
|
||||
yarn config set --json supportedArchitectures "$supportedArchitectures"
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
mkdir -p $out
|
||||
yarn install --immutable --mode skip-build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
outputHash = "sha256-hIz+tWaDiq9qslEKjRyNzC0z1zA5TFgVr/hf3/T6YGw=";
|
||||
outputHashMode = "recursive";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
(writeShellScriptBin "git" "echo ${version}")
|
||||
nodejs
|
||||
yarn-berry
|
||||
];
|
||||
|
||||
NODE_ENV = "production";
|
||||
${if baseUrl != null then "REACT_APP_SERVER" else null} = baseUrl;
|
||||
env = {
|
||||
NODE_ENV = "production";
|
||||
};
|
||||
|
||||
# error:0308010C:digital envelope routines::unsupported
|
||||
NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
postPatch = ''
|
||||
substituteInPlace vite.config.ts \
|
||||
--replace-fail "git describe --tags" "echo ${finalAttrs.version}"
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
export HOME="$NIX_BUILD_TOP"
|
||||
yarn config set enableGlobalCache false
|
||||
yarn config set cacheFolder $yarnOfflineCache
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
yarn --offline run build
|
||||
yarn install --immutable --immutable-cache
|
||||
yarn build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
distPhase = ''
|
||||
runHook preDist
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cp -r deps/synapse-admin/dist $out
|
||||
cp -r dist $out
|
||||
cp ${configFile} $out/config.json
|
||||
|
||||
runHook postDist
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
dontFixup = true;
|
||||
dontInstall = true;
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Admin UI for Synapse Homeservers";
|
||||
homepage = "https://github.com/Awesome-Technologies/synapse-admin";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [
|
||||
changelog = "https://github.com/Awesome-Technologies/synapse-admin/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
maintainers = with lib.maintainers; [
|
||||
mkg20001
|
||||
ma27
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user