@muhammedaksam/easiarr 0.7.4 → 0.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/config/homepage-config.ts +41 -41
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@muhammedaksam/easiarr",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.6",
|
|
4
4
|
"description": "TUI tool for generating docker-compose files for the *arr media ecosystem with 41 apps, TRaSH Guides best practices, VPN routing, and Traefik reverse proxy support",
|
|
5
5
|
"module": "src/index.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -104,34 +104,34 @@ export async function generateServicesYaml(config: EasiarrConfig): Promise<strin
|
|
|
104
104
|
let yaml = "---\n# Auto-generated by Easiarr\n# https://github.com/muhammedaksam/easiarr\n\n"
|
|
105
105
|
|
|
106
106
|
// Add Easiarr info section with two widgets - one for installed, one for latest
|
|
107
|
-
yaml +=
|
|
107
|
+
yaml += `- Easiarr:\n`
|
|
108
108
|
// Installed version from local easiarr-status container
|
|
109
|
-
yaml += `
|
|
110
|
-
yaml += `
|
|
111
|
-
yaml += `
|
|
112
|
-
yaml += `
|
|
113
|
-
yaml += `
|
|
114
|
-
yaml += `
|
|
115
|
-
yaml += `
|
|
116
|
-
yaml += `
|
|
117
|
-
yaml += `
|
|
118
|
-
yaml += `
|
|
119
|
-
yaml += `
|
|
109
|
+
yaml += ` - Installed:\n`
|
|
110
|
+
yaml += ` href: https://github.com/muhammedaksam/easiarr\n`
|
|
111
|
+
yaml += ` icon: mdi-docker\n`
|
|
112
|
+
yaml += ` description: Your current version\n`
|
|
113
|
+
yaml += ` widget:\n`
|
|
114
|
+
yaml += ` type: customapi\n`
|
|
115
|
+
yaml += ` url: http://easiarr-status:8080/config.json\n`
|
|
116
|
+
yaml += ` refreshInterval: 3600000\n` // 1 hour
|
|
117
|
+
yaml += ` mappings:\n`
|
|
118
|
+
yaml += ` - field: version\n`
|
|
119
|
+
yaml += ` label: Version\n`
|
|
120
120
|
// Latest version from GitHub API
|
|
121
|
-
yaml += `
|
|
122
|
-
yaml += `
|
|
123
|
-
yaml += `
|
|
124
|
-
yaml += `
|
|
125
|
-
yaml += `
|
|
126
|
-
yaml += `
|
|
127
|
-
yaml += `
|
|
128
|
-
yaml += `
|
|
129
|
-
yaml += `
|
|
130
|
-
yaml += `
|
|
131
|
-
yaml += `
|
|
132
|
-
yaml += `
|
|
133
|
-
yaml += `
|
|
134
|
-
yaml += `
|
|
121
|
+
yaml += ` - Latest:\n`
|
|
122
|
+
yaml += ` href: https://github.com/muhammedaksam/easiarr/releases\n`
|
|
123
|
+
yaml += ` icon: mdi-github\n`
|
|
124
|
+
yaml += ` description: Check for updates\n`
|
|
125
|
+
yaml += ` widget:\n`
|
|
126
|
+
yaml += ` type: customapi\n`
|
|
127
|
+
yaml += ` url: https://api.github.com/repos/muhammedaksam/easiarr/releases/latest\n`
|
|
128
|
+
yaml += ` refreshInterval: 86400000\n` // 24 hours
|
|
129
|
+
yaml += ` mappings:\n`
|
|
130
|
+
yaml += ` - field: tag_name\n`
|
|
131
|
+
yaml += ` label: Version\n`
|
|
132
|
+
yaml += ` - field: published_at\n`
|
|
133
|
+
yaml += ` label: Released\n`
|
|
134
|
+
yaml += ` format: relativeDate\n`
|
|
135
135
|
yaml += `\n`
|
|
136
136
|
|
|
137
137
|
// Use CATEGORY_ORDER for consistent ordering
|
|
@@ -140,31 +140,31 @@ export async function generateServicesYaml(config: EasiarrConfig): Promise<strin
|
|
|
140
140
|
if (!services || services.length === 0) continue
|
|
141
141
|
|
|
142
142
|
const categoryName = APP_CATEGORIES[category]
|
|
143
|
-
yaml +=
|
|
143
|
+
yaml += `- ${categoryName}:\n`
|
|
144
144
|
|
|
145
145
|
for (const { name, service } of services) {
|
|
146
|
-
yaml += `
|
|
147
|
-
yaml += `
|
|
146
|
+
yaml += ` - ${name}:\n`
|
|
147
|
+
yaml += ` href: ${service.href}\n`
|
|
148
148
|
|
|
149
149
|
if (service.icon) {
|
|
150
|
-
yaml += `
|
|
150
|
+
yaml += ` icon: ${service.icon}\n`
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
if (service.description) {
|
|
154
|
-
yaml += `
|
|
154
|
+
yaml += ` description: ${service.description}\n`
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
if (service.ping) {
|
|
158
|
-
yaml += `
|
|
158
|
+
yaml += ` ping: ${service.ping}\n`
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
if (service.widget) {
|
|
162
|
-
yaml += `
|
|
163
|
-
yaml += `
|
|
164
|
-
yaml += `
|
|
162
|
+
yaml += ` widget:\n`
|
|
163
|
+
yaml += ` type: ${service.widget.type}\n`
|
|
164
|
+
yaml += ` url: ${service.widget.url}\n`
|
|
165
165
|
|
|
166
166
|
if (service.widget.key) {
|
|
167
|
-
yaml += `
|
|
167
|
+
yaml += ` key: ${service.widget.key}\n`
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
// Add any other widget fields
|
|
@@ -174,17 +174,17 @@ export async function generateServicesYaml(config: EasiarrConfig): Promise<strin
|
|
|
174
174
|
if (key === "mappings") {
|
|
175
175
|
const mappings = typeof value === "string" ? JSON.parse(value) : value
|
|
176
176
|
if (Array.isArray(mappings)) {
|
|
177
|
-
yaml += `
|
|
177
|
+
yaml += ` mappings:\n`
|
|
178
178
|
for (const mapping of mappings) {
|
|
179
|
-
yaml += `
|
|
180
|
-
yaml += `
|
|
179
|
+
yaml += ` - field: ${mapping.field}\n`
|
|
180
|
+
yaml += ` label: ${mapping.label}\n`
|
|
181
181
|
if (mapping.format) {
|
|
182
|
-
yaml += `
|
|
182
|
+
yaml += ` format: ${mapping.format}\n`
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
} else {
|
|
187
|
-
yaml += `
|
|
187
|
+
yaml += ` ${key}: ${value}\n`
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
}
|