Compare commits

..

No commits in common. "20ea94910285842b2683cee3be4f97333118a56a" and "8abab3d5340d53286e2a3e01870f199257269fc6" have entirely different histories.

8 changed files with 52 additions and 70 deletions

15
.eslintrc.cjs Normal file
View file

@ -0,0 +1,15 @@
// SPDX-FileCopyrightText: 2021 Johannes Loher
//
// SPDX-License-Identifier: MIT
module.exports = {
parser: "@typescript-eslint/parser",
parserOptions: { ecmaVersion: 2020, sourceType: "module" },
env: { browser: true },
extends: ["plugin:@typescript-eslint/recommended", "prettier"],
plugins: ["@typescript-eslint"],
overrides: [
{ files: ["./*.cjs"], rules: { "@typescript-eslint/no-var-requires": "off" } },
{ files: ["./spec/**/*"], env: { browser: false } },
],
};

View file

@ -2,11 +2,6 @@
// //
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
// @ts-check
/**
* @type {import("prettier").Config}
*/
export default { export default {
semi: true, semi: true,
trailingComma: "all", trailingComma: "all",

View file

@ -23,17 +23,6 @@ variables:
- ${CI_REPO_NAME}/system.json - ${CI_REPO_NAME}/system.json
api_key: api_key:
from_secret: forge_token from_secret: forge_token
- &publish_manifest_base
image: alpine:latest
environment:
FORGE_TOKEN:
from_secret: forge_token
commands:
- apk update
- apk add curl
- export RELEASE_CHANNEL=$(cat .RELEASE_CHANNEL)
- 'curl --header "Authorization: token $${FORGE_TOKEN}" -X "DELETE" "${CI_FORGE_URL}/api/packages/${CI_REPO_OWNER}/generic/${CI_REPO_NAME}/$${RELEASE_CHANNEL}/system.json"'
- 'curl --fail --header "Authorization: token $${FORGE_TOKEN}" --upload-file ${CI_REPO_NAME}/system.json "${CI_FORGE_URL}/api/packages/${CI_REPO_OWNER}/generic/${CI_REPO_NAME}/$${RELEASE_CHANNEL}/system.json"'
when: when:
event: tag event: tag
@ -49,7 +38,6 @@ steps:
- <<: *enable_pnpm - <<: *enable_pnpm
- pnpm install --frozen-lockfile - pnpm install --frozen-lockfile
build: build:
depends_on: install
image: *node_image image: *node_image
environment: environment:
NODE_ENV: production NODE_ENV: production
@ -58,7 +46,7 @@ steps:
- <<: *enable_pnpm - <<: *enable_pnpm
- pnpm build - pnpm build
package: package:
depends_on: build group: prepare-release
image: alpine:latest image: alpine:latest
commands: commands:
- apk update - apk update
@ -66,67 +54,61 @@ steps:
- mv dist ${CI_REPO_NAME} - mv dist ${CI_REPO_NAME}
- zip -r ${CI_REPO_NAME}.zip ${CI_REPO_NAME}/* - zip -r ${CI_REPO_NAME}.zip ${CI_REPO_NAME}/*
changelog: changelog:
depends_on: build group: prepare-release
image: *node_image image: *node_image
commands: commands:
- <<: *enable_pnpm - <<: *enable_pnpm
- pnpm changelog - pnpm changelog
choose-latest-channel: choose-latest-channel:
depends_on: build group: prepare-release
image: alpine:latest image: alpine:latest
commands: commands:
- echo latest > .RELEASE_CHANNEL - echo latest > .RELEASE_CHANNEL
when: when:
<<: *is_latest_channel <<: *is_latest_channel
choose-beta-channel: choose-beta-channel:
depends_on: build group: prepare-release
image: alpine:latest image: alpine:latest
commands: commands:
- echo beta > .RELEASE_CHANNEL - echo beta > .RELEASE_CHANNEL
when: when:
<<: *is_beta_channel <<: *is_beta_channel
release-latest: release-latest:
depends_on:
- package
- changelog
- choose-latest-channel
image: *release_plugin image: *release_plugin
settings: settings:
<<: *release_base_settings <<: *release_base_settings
when: when:
<<: *is_latest_channel <<: *is_latest_channel
release-beta: release-beta:
depends_on:
- package
- changelog
- choose-beta-channel
image: *release_plugin image: *release_plugin
settings: settings:
<<: *release_base_settings <<: *release_base_settings
prerelease: true prerelease: true
when: when:
<<: *is_beta_channel <<: *is_beta_channel
publish-manifest-latest: publish-manifest:
<<: *publish_manifest_base group: publish
depends_on: release-latest image: alpine:latest
when: commands:
<<: *is_latest_channel - apk update
publish-manifest-beta: - apk add curl
<<: *publish_manifest_base - export RELEASE_CHANNEL=$(cat .RELEASE_CHANNEL)
depends_on: release-beta - 'curl --header "Authorization: token $${FORGE_TOKEN}" -X "DELETE" "${CI_FORGE_URL}/api/packages/${CI_REPO_OWNER}/generic/${CI_REPO_NAME}/$${RELEASE_CHANNEL}/system.json"'
when: - 'curl --fail --header "Authorization: token $${FORGE_TOKEN}" --upload-file ${CI_REPO_NAME}/system.json "${CI_FORGE_URL}/api/packages/${CI_REPO_OWNER}/generic/${CI_REPO_NAME}/$${RELEASE_CHANNEL}/system.json"'
<<: *is_beta_channel secrets:
- forge_token
publish-to-foundry-admin: publish-to-foundry-admin:
depends_on: release-latest group: publish
image: johannesloher/foundry-publish:v4.0.0 image: johannesloher/foundry-publish
environment: environment:
FVTT_PACKAGE_ID: FVTT_DELETE_OBSOLETE_VERSIONS: "true"
from_secret: fvtt_package_id
FVTT_TOKEN:
from_secret: fvtt_token
commands: commands:
- export FVTT_MANIFEST_PATH=${CI_REPO_NAME}/system.json - export FVTT_MANIFEST_PATH=${CI_REPO_NAME}/system.json
- export FVTT_MANIFEST_URL=${CI_REPO_URL}/releases/download/${CI_COMMIT_TAG}/system.json - export FVTT_MANIFEST_URL=${CI_REPO_URL}/releases/download/${CI_COMMIT_TAG}/system.json
- foundry-publish - foundry-publish
secrets:
- fvtt_package_id
- fvtt_username
- fvtt_password
when: when:
<<: *is_latest_channel <<: *is_latest_channel

View file

@ -25,11 +25,6 @@ steps:
- pnpm install --frozen-lockfile - pnpm install --frozen-lockfile
release: release:
image: *node_image image: *node_image
environment:
FORGE_TOKEN_NAME:
from_secret: forge_token_name
FORGE_TOKEN:
from_secret: forge_token
commands: commands:
- <<: *enable_pnpm - <<: *enable_pnpm
- apt-get update - apt-get update
@ -47,3 +42,6 @@ steps:
- git tag -f $${RELEASE_VERSION} - git tag -f $${RELEASE_VERSION}
- git push origin ${CI_COMMIT_BRANCH} - git push origin ${CI_COMMIT_BRANCH}
- git push origin $${RELEASE_VERSION} - git push origin $${RELEASE_VERSION}
secrets:
- forge_token_name
- forge_token

5
commitlint.config.cjs Normal file
View file

@ -0,0 +1,5 @@
// SPDX-FileCopyrightText: 2021 Johannes Loher
//
// SPDX-License-Identifier: MIT
module.exports = { extends: ["@commitlint/config-conventional"] };

View file

@ -1,8 +0,0 @@
// SPDX-FileCopyrightText: 2021 Johannes Loher
//
// SPDX-License-Identifier: MIT
/**
* @type {import("@commitlint/types").UserConfig}
*/
export default { extends: ["@commitlint/config-conventional"] };

View file

@ -2,7 +2,7 @@
"private": true, "private": true,
"name": "dungeonslayers4", "name": "dungeonslayers4",
"description": "An implementation of the Dungeonslayers 4 game system for Foundry Virtual Tabletop.", "description": "An implementation of the Dungeonslayers 4 game system for Foundry Virtual Tabletop.",
"version": "2.0.5", "version": "2.0.0",
"license": "https://git.f3l.de/dungeonslayers/ds4#licensing", "license": "https://git.f3l.de/dungeonslayers/ds4#licensing",
"homepage": "https://git.f3l.de/dungeonslayers/ds4", "homepage": "https://git.f3l.de/dungeonslayers/ds4",
"repository": { "repository": {
@ -93,10 +93,5 @@
"vitest": "3.0.6", "vitest": "3.0.6",
"yargs": "17.7.2" "yargs": "17.7.2"
}, },
"packageManager": "pnpm@10.4.1", "packageManager": "pnpm@10.4.1"
"pnpm": {
"onlyBuiltDependencies": [
"@swc/core"
]
}
} }

View file

@ -28,11 +28,11 @@
"name": "Sascha Martens" "name": "Sascha Martens"
} }
], ],
"license": "https://git.f3l.de/dungeonslayers/ds4/raw/tag/2.0.5/LICENSE.md", "license": "https://git.f3l.de/dungeonslayers/ds4/raw/tag/2.0.0/LICENSE.md",
"readme": "https://git.f3l.de/dungeonslayers/ds4/raw/tag/2.0.5/README.md", "readme": "https://git.f3l.de/dungeonslayers/ds4/raw/tag/2.0.0/README.md",
"bugs": "https://git.f3l.de/dungeonslayers/ds4/issues", "bugs": "https://git.f3l.de/dungeonslayers/ds4/issues",
"changelog": "https://git.f3l.de/dungeonslayers/ds4/releases/tag/2.0.5", "changelog": "https://git.f3l.de/dungeonslayers/ds4/releases/tag/2.0.0",
"version": "2.0.5", "version": "2.0.0",
"flags": { "flags": {
"hotReload": { "hotReload": {
"extensions": ["css", "hbs", "json"], "extensions": ["css", "hbs", "json"],
@ -116,7 +116,7 @@
} }
], ],
"manifest": "https://git.f3l.de/api/packages/dungeonslayers/generic/ds4/latest/system.json", "manifest": "https://git.f3l.de/api/packages/dungeonslayers/generic/ds4/latest/system.json",
"download": "https://git.f3l.de/dungeonslayers/ds4/releases/download/2.0.5/ds4.zip", "download": "https://git.f3l.de/dungeonslayers/ds4/releases/download/2.0.0/ds4.zip",
"initiative": "@combatValues.initiative.total", "initiative": "@combatValues.initiative.total",
"grid": { "grid": {
"distance": 1, "distance": 1,