home-assistant-custom-lovelace-modules: modernize (#460501)

This commit is contained in:
Martin Weinelt
2025-11-11 00:20:25 +00:00
committed by GitHub
10 changed files with 77 additions and 436 deletions
@@ -1,142 +0,0 @@
{
"name": "atomic-calendar-revive",
"version": "10.0.0",
"description": "Calendar Card for Home Assistant",
"main": "atomic-calendar-revive.js",
"scripts": {
"lint": "eslint src/*.ts | more ",
"lintindex": "eslint src/index.ts | more",
"lintindexfix": "eslint src/index.ts --fix",
"lintfixall": "eslint src/*.ts --fix",
"linteditor": "eslint src/index-editor.ts",
"babel": "babel dist/index.js --out-file dist/atomic-calendar-revive.js",
"rollup": "rollup -c",
"start": "rollup -c --watch --bundleConfigAsCjs",
"build": "rollup -c --bundleConfigAsCjs",
"watch": "rollup -c rollup-dev.config.mjs --bundleConfigAsCjs",
"commit": "cz"
},
"repository": {
"type": "git",
"url": "git+https://github.com/totaldebug/atomic-calendar-revive.git"
},
"author": "Steven Marks",
"license": "ISC",
"devDependencies": {
"@babel/cli": "^7.24.7",
"@babel/core": "^7.24.7",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-decorators": "^7.24.7",
"@babel/plugin-transform-template-literals": "^7.24.7",
"@babel/preset-env": "^7.24.7",
"@rollup/plugin-babel": "^6.0.4",
"@rollup/plugin-commonjs": "^26.0.1",
"@rollup/plugin-eslint": "^9.0.5",
"@rollup/plugin-json": "^6.1.0",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-terser": "^0.4.4",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/exec": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"@typescript-eslint/eslint-plugin": "^7.13.1",
"@typescript-eslint/parser": "^7.13.1",
"babel-preset-minify": "^0.5.2",
"commitizen": "^4.3.0",
"conventional-changelog-conventionalcommits": "^8.0.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^9.5.0",
"eslint-config-prettier": "^9.1.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-prettier": "^5.1.3",
"prettier": "^3.3.2",
"rollup": "^4.18.0",
"rollup-plugin-serve": "^2.0.3",
"rollup-plugin-typescript2": "^0.36.0",
"semantic-release": "^24.0.0"
},
"dependencies": {
"@formatjs/icu-messageformat-parser": "^2.7.8",
"@lit-labs/scoped-registry-mixin": "^1.0.3",
"@lit/reactive-element": "2.0.4",
"@material/mwc-formfield": "^0.27.0",
"@material/mwc-icon-button": "^0.27.0",
"@material/mwc-linear-progress": "^0.27.0",
"@material/mwc-list": "^0.27.0",
"@material/mwc-menu": "^0.27.0",
"@material/mwc-notched-outline": "^0.27.0",
"@material/mwc-ripple": "^0.27.0",
"@material/mwc-select": "^0.27.0",
"@material/mwc-switch": "^0.27.0",
"@material/mwc-textfield": "^0.27.0",
"@mdi/js": "^7.4.47",
"@webcomponents/webcomponentsjs": "^2.8.0",
"dayjs": "^1.11.11",
"home-assistant-js-websocket": "^9.4.0",
"lit": "^3.1.4",
"memoize-one": "^6.0.0",
"npm": "^10.8.1",
"typescript": "^5.5.2"
},
"resolutions": {
"lit": "^3.0.2",
"@lit/reactive-element": "2.0.1"
},
"bugs": {
"url": "https://github.com/totaldebug/atomic-calendar-revive/issues"
},
"homepage": "https://github.com/totaldebug/atomic-calendar-revive#readme",
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
},
"release": {
"plugins": [
[
"@semantic-release/commit-analyzer",
{
"preset": "conventionalcommits"
}
],
[
"@semantic-release/release-notes-generator",
{
"preset": "conventionalcommits"
}
],
[
"@semantic-release/npm",
{
"npmPublish": false
}
],
[
"@semantic-release/exec",
{
"prepareCmd": "yarn run build"
}
],
[
"@semantic-release/git",
{
"assets": [
"package.json"
],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
],
[
"@semantic-release/github",
{
"assets": [
{
"path": "dist/atomic-calendar-revive.js"
}
]
}
],
"@semantic-release/changelog"
]
}
}
@@ -1,56 +1,53 @@
{
lib,
mkYarnPackage,
stdenv,
fetchYarnDeps,
fetchFromGitHub,
yarnBuildHook,
yarnConfigHook,
nodejs,
nix-update-script,
}:
mkYarnPackage rec {
stdenv.mkDerivation (finalAttrs: {
pname = "atomic-calendar-revive";
version = "10.0.0";
src = fetchFromGitHub {
owner = "totaldebug";
repo = "atomic-calendar-revive";
rev = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-TaxvxAUcewQH0IMJ0/VjW4+T6squ1tuZIFGn3PE3jhU=";
};
packageJSON = ./package.json;
offlineCache = fetchYarnDeps {
name = "${pname}-yarn-offline-cache";
yarnLock = src + "/yarn.lock";
inherit (finalAttrs) src;
hash = "sha256-d3lk3mwgaWMPFl/EDUWH/tUlAC7OfhNycOLbi1GzkfM=";
};
buildPhase = ''
runHook preBuild
yarn run build
runHook postBuild
'';
nativeBuildInputs = [
yarnConfigHook
yarnBuildHook
nodejs
];
installPhase = ''
runHook preInstall
mkdir $out
cp ./deps/atomic-calendar-revive/dist/atomic-calendar-revive.js $out
cp ./dist/atomic-calendar-revive.js $out
runHook postInstall
'';
doDist = false;
passthru.updateScript = nix-update-script { };
passthru.updateScript = ./update.sh;
meta = with lib; {
changelog = "https://github.com/totaldebug/atomic-calendar-revive/releases/tag/v${src.rev}";
meta = {
changelog = "https://github.com/totaldebug/atomic-calendar-revive/releases/tag/v${finalAttrs.version}";
description = "Advanced calendar card for Home Assistant Lovelace";
homepage = "https://github.com/totaldebug/atomic-calendar-revive";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
platforms = platforms.all;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ hexa ];
platforms = lib.platforms.all;
};
}
})
@@ -1,42 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-update git jq
# shellcheck shell=bash
ROOT=$(git rev-parse --show-toplevel)
ATTR=home-assistant-custom-lovelace-modules.atomic-calendar-revive
cd "$ROOT" || exit 1
# get current version in nixpkgs
CURRENT_VERSION=$(nix eval -f ./default.nix --raw "$ATTR")
# get latest release tag
LATEST_RELEASE=$(curl https://api.github.com/repos/totaldebug/atomic-calendar-revive/releases | jq "[.[] | select(.prerelease == false)][0].tag_name")
# strip version prefix
LATEST_VERSION=${LATEST_RELEASE//"v"}
# strip quotes
LATEST_VERSION=${LATEST_VERSION%\"}
LATEST_VERSION=${LATEST_VERSION#\"}
if [ "$CURRENT_VERSION" = "$LATEST_VERSION" ];
then
echo Already on latest version
exit 0
fi
echo "Updating to ${LATEST_VERSION}"
PKGDIR=$(dirname "$0")
# change to package directory
cd "$PKGDIR" || exit 1
# update package.json
echo "https://raw.githubusercontent.com/totaldebug/atomic-calendar-revive/v${LATEST_VERSION}/package.json"
curl -o ./package.json "https://raw.githubusercontent.com/totaldebug/atomic-calendar-revive/v${LATEST_VERSION}/package.json"
# update package
cd "$ROOT" || exit 1
nix-update --version "$LATEST_VERSION" "$ATTR"
@@ -1,78 +0,0 @@
{
"name": "button-card",
"version": "4.1.2",
"description": "Button card for lovelace",
"main": "dist/button-card.js",
"scripts": {
"build": "npm run lint && npm run rollup",
"rollup": "rollup -c",
"babel": "babel dist/button-card.js --out-file dist/button-card.js",
"lint": "eslint src/*.ts",
"watch": "rollup -c --watch",
"postversion": "npm run build",
"audit-fix": "npx yarn-audit-fix"
},
"repository": {
"type": "git",
"url": "git+https://github.com/custom-cards/button-card.git"
},
"keywords": [
"lovelace"
],
"author": "kuuji",
"contributors": [
"Ian Richardson (https://github.com/iantrich)",
"Jérôme Wiedemann (https://github.com/RomRider)"
],
"license": "MIT",
"bugs": {
"url": "https://github.com/custom-cards/button-card/issues"
},
"homepage": "https://github.com/custom-cards/button-card#readme",
"devDependencies": {
"@babel/core": "^7.12.3",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-proposal-decorators": "^7.12.1",
"@rollup/plugin-babel": "^5.2.1",
"@rollup/plugin-commonjs": "^16.0.0",
"@rollup/plugin-json": "^4.0.2",
"@rollup/plugin-node-resolve": "^10.0.0",
"@semantic-release/changelog": "^5.0.1",
"@semantic-release/commit-analyzer": "^8.0.1",
"@semantic-release/exec": "^5.0.0",
"@semantic-release/git": "^9.0.0",
"@semantic-release/npm": "^7.0.10",
"@semantic-release/release-notes-generator": "^9.0.1",
"@typescript-eslint/eslint-plugin": "^6.1.0",
"@typescript-eslint/parser": "^6.1.0",
"conventional-changelog-conventionalcommits": "^4.5.0",
"eslint": "7.12.1",
"eslint-config-airbnb-base": "^14.1.0",
"eslint-config-prettier": "^6.15.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-prettier": "^3.1.2",
"npm": "^6.14.3",
"prettier": "^2.1.2",
"prettier-eslint": "^11.0.0",
"rollup": "^2.33.1",
"rollup-plugin-cleanup": "^3.2.1",
"rollup-plugin-serve": "^1.1.0",
"rollup-plugin-terser": "^7.0.2",
"rollup-plugin-typescript2": "^0.29.0",
"semantic-release": "^17.3.8",
"ts-lit-plugin": "^1.1.10",
"typescript": "^4.0.5",
"typescript-styled-plugin": "^0.15.0",
"yarn-audit-fix": "^9.3.10"
},
"dependencies": {
"@ctrl/tinycolor": "^3.1.6",
"@material/mwc-ripple": "^0.19.1",
"fast-copy": "^2.1.0",
"home-assistant-js-websocket": "^8.2.0",
"lit": "^2.7.6",
"lit-element": "^3.3.2",
"lit-html": "^2.7.5",
"memoize-one": "^6.0.0"
}
}
@@ -1,53 +1,50 @@
{
lib,
mkYarnPackage,
stdenv,
fetchYarnDeps,
fetchFromGitHub,
yarnBuildHook,
yarnConfigHook,
nodejs,
}:
mkYarnPackage rec {
stdenv.mkDerivation (finalAttrs: {
pname = "button-card";
version = "4.1.2";
src = fetchFromGitHub {
owner = "custom-cards";
repo = "button-card";
rev = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-Ntg1sNgAehcL2fT0rP0YHzV5q6rB5p1TyFXtbZyB3Vo=";
};
packageJSON = ./package.json;
offlineCache = fetchYarnDeps {
yarnLock = src + "/yarn.lock";
inherit (finalAttrs) src;
hash = "sha256-OFnsRR9zA9D22xBdh4XfLueGVA2ERXmGEp54x0OFDFY=";
};
buildPhase = ''
runHook preBuild
yarn build
runHook postBuild
'';
nativeBuildInputs = [
yarnConfigHook
yarnBuildHook
nodejs
];
installPhase = ''
runHook preInstall
mkdir $out
cp ./deps/button-card/dist/button-card.js $out
cp ./dist/button-card.js $out
runHook postInstall
'';
doDist = false;
meta = with lib; {
meta = {
description = "Lovelace button-card for home assistant";
homepage = "https://github.com/custom-cards/button-card";
changelog = "https://github.com/custom-cards/button-card/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ k900 ];
platforms = platforms.all;
changelog = "https://github.com/custom-cards/button-card/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ k900 ];
platforms = lib.platforms.all;
};
}
})
@@ -1,39 +0,0 @@
{
"name": "multiple-entity-row",
"version": "4.5.1",
"description": "Show multiple entity states, attributes and icons on entity rows in Home Assistant's Lovelace UI",
"keywords": [
"home-assistant",
"homeassistant",
"lovelace",
"custom-cards",
"multiple",
"entity",
"row"
],
"module": "multiple-entity-row.js",
"repository": "https://github.com/benct/lovelace-multiple-entity-row.git",
"author": "benct <ben@tomlin.no>",
"license": "MIT",
"dependencies": {
"custom-card-helpers": "1.8.0",
"lit": "^2.7.4",
"memoize-one": "^6.0.0"
},
"devDependencies": {
"@babel/core": "^7.22.1",
"@babel/preset-env": "^7.22.4",
"babel-loader": "^9.1.2",
"eslint": "^8.41.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-prettier": "^4.2.1",
"prettier": "^2.8.8",
"webpack": "^5.84.1",
"webpack-cli": "^5.1.1"
},
"scripts": {
"lint": "eslint src/**/*.js",
"dev": "webpack -c webpack.config.js",
"build": "yarn lint && webpack -c webpack.config.js"
}
}
@@ -1,52 +1,49 @@
{
lib,
mkYarnPackage,
stdenv,
fetchFromGitHub,
fetchYarnDeps,
yarnConfigHook,
yarnBuildHook,
nodejs,
}:
mkYarnPackage rec {
stdenv.mkDerivation (finalAttrs: {
pname = "multiple-entity-row";
version = "4.5.1";
src = fetchFromGitHub {
owner = "benct";
repo = "lovelace-multiple-entity-row";
rev = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-CXRgXyH1NUg7ssQhenqP0tXr1m2qOkHna3Rf30K3SjI=";
};
packageJSON = ./package.json;
offlineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
inherit (finalAttrs) src;
hash = "sha256-8YIcQhbYf0e2xO620zVHEk/0sssBmzF/jCq+2za+D6E=";
};
buildPhase = ''
runHook preBuild
yarn --offline build
runHook postBuild
'';
nativeBuildInputs = [
yarnBuildHook
yarnConfigHook
nodejs
];
installPhase = ''
runHook preInstall
mkdir $out
install -m0644 ./deps/multiple-entity-row/multiple-entity-row.js $out
install -m0644 ./multiple-entity-row.js $out
runHook postInstall
'';
doDist = false;
meta = with lib; {
meta = {
description = "Show multiple entity states and attributes on entity rows in Home Assistant's Lovelace UI";
homepage = "https://github.com/benct/lovelace-multiple-entity-row";
changelog = "https://github.com/benct/lovelace-multiple-entity-row/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
changelog = "https://github.com/benct/lovelace-multiple-entity-row/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ hexa ];
};
}
})
@@ -1,25 +0,0 @@
{
"name": "zigbee2mqtt-networkmap",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"vue": "^2.7.15"
},
"devDependencies": {
"@babel/core": "^7.26.0",
"@babel/eslint-parser": "^7.25.9",
"@material/mwc-button": "^0.27.0",
"@vue/cli-plugin-eslint": "^5.0.8",
"@vue/cli-service": "^5.0.8",
"@vue/eslint-config-standard": "^8.0.1",
"eslint": "^8.57.1",
"eslint-plugin-vue": "^9.32.0",
"lodash.isequal": "^4.5.0",
"vue-d3-network": "^0.1.28"
}
}
@@ -1,44 +1,35 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchYarnDeps,
mkYarnPackage,
yarnConfigHook,
yarnBuildHook,
nodejs,
nix-update-script,
}:
mkYarnPackage rec {
stdenv.mkDerivation (finalAttrs: {
pname = "zigbee2mqtt-networkmap";
version = "0.10.0";
src = fetchFromGitHub {
owner = "azuwis";
repo = "zigbee2mqtt-networkmap";
rev = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-S4iUTjI+pFfa8hg1/lJSI1tl2nEIh+LO2WTYhWWLh/s=";
};
packageJSON = ./package.json;
offlineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
inherit (finalAttrs) src;
hash = "sha256-yo+K3vUJH6WwyNj/UuvbhhmhdqzJ3XUzX+cKUueutjE=";
};
configurePhase = ''
runHook preConfigure
cp -r $node_modules node_modules
chmod +w node_modules
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
yarn --offline build
runHook postBuild
'';
nativeBuildInputs = [
yarnConfigHook
yarnBuildHook
nodejs
];
installPhase = ''
runHook preInstall
@@ -51,16 +42,14 @@ mkYarnPackage rec {
dontFixup = true;
doDist = false;
passthru.entrypoint = "zigbee2mqtt-networkmap.js";
passthru.updateScript = ./update.sh;
passthru.updateScript = nix-update-script { };
meta = with lib; {
changelog = "https://github.com/azuwis/zigbee2mqtt-networkmap/releases/tag/v${version}";
meta = {
changelog = "https://github.com/azuwis/zigbee2mqtt-networkmap/releases/tag/v${finalAttrs.version}";
description = "Home Assistant Custom Card to show Zigbee2mqtt network map";
homepage = "https://github.com/azuwis/zigbee2mqtt-networkmap";
maintainers = with maintainers; [ azuwis ];
license = licenses.mit;
maintainers = with lib.maintainers; [ azuwis ];
license = lib.licenses.mit;
};
}
})
@@ -1,13 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-update
set -xe
dirname="$(dirname "$0")"
# nix-update picks the wrong file `pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix`
nix-update --override-filename "$dirname/package.nix" home-assistant-custom-lovelace-modules.zigbee2mqtt-networkmap
# update package.json
source=$(nix-build -A home-assistant-custom-lovelace-modules.zigbee2mqtt-networkmap.src)
cp "$source/package.json" "$dirname/package.json"