mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-05-02 05:05:54 +02:00
Compare commits
3 Commits
copilot/re
...
2025.12.0-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d9c9b95fc0 | ||
|
|
613900598a | ||
|
|
1facca1ac5 |
@@ -319,10 +319,10 @@ remoteUserCaution: "Para el usuario remoto, la información está incompleta"
|
|||||||
activity: "Actividad"
|
activity: "Actividad"
|
||||||
images: "Imágenes"
|
images: "Imágenes"
|
||||||
image: "Imágenes"
|
image: "Imágenes"
|
||||||
birthday: "Fecha de nacimiento"
|
birthday: "Cumpleaños"
|
||||||
yearsOld: "{age} años"
|
yearsOld: "{age} años"
|
||||||
registeredDate: "Fecha de registro"
|
registeredDate: "Fecha de registro"
|
||||||
location: "Lugar"
|
location: "Ubicación"
|
||||||
theme: "Tema"
|
theme: "Tema"
|
||||||
themeForLightMode: "Tema para usar en Modo Linterna"
|
themeForLightMode: "Tema para usar en Modo Linterna"
|
||||||
themeForDarkMode: "Tema para usar en Modo Oscuro"
|
themeForDarkMode: "Tema para usar en Modo Oscuro"
|
||||||
@@ -579,7 +579,7 @@ objectStorageSetPublicRead: "Seleccionar \"public-read\" al subir "
|
|||||||
s3ForcePathStyleDesc: "Si s3ForcePathStyle esta habilitado el nombre del bucket debe ser especificado como parte de la URL en lugar del nombre de host en la URL. Puede ser necesario activar esta opción cuando se utilice, por ejemplo, Minio en un servidor propio."
|
s3ForcePathStyleDesc: "Si s3ForcePathStyle esta habilitado el nombre del bucket debe ser especificado como parte de la URL en lugar del nombre de host en la URL. Puede ser necesario activar esta opción cuando se utilice, por ejemplo, Minio en un servidor propio."
|
||||||
serverLogs: "Registros del servidor"
|
serverLogs: "Registros del servidor"
|
||||||
deleteAll: "Eliminar todos"
|
deleteAll: "Eliminar todos"
|
||||||
showFixedPostForm: "Mostrar el formulario de las entradas encima de la línea de tiempo"
|
showFixedPostForm: "Visualizar la ventana de publicación en la parte superior de la línea de tiempo."
|
||||||
showFixedPostFormInChannel: "Mostrar el formulario de publicación por encima de la cronología (Canales)"
|
showFixedPostFormInChannel: "Mostrar el formulario de publicación por encima de la cronología (Canales)"
|
||||||
withRepliesByDefaultForNewlyFollowed: "Incluir por defecto respuestas de usuarios recién seguidos en la línea de tiempo"
|
withRepliesByDefaultForNewlyFollowed: "Incluir por defecto respuestas de usuarios recién seguidos en la línea de tiempo"
|
||||||
newNoteRecived: "Tienes una nota nueva"
|
newNoteRecived: "Tienes una nota nueva"
|
||||||
@@ -844,7 +844,7 @@ jumpToSpecifiedDate: "Saltar a una fecha específica"
|
|||||||
showingPastTimeline: "Mostrar líneas de tiempo antiguas"
|
showingPastTimeline: "Mostrar líneas de tiempo antiguas"
|
||||||
clear: "Limpiar"
|
clear: "Limpiar"
|
||||||
markAllAsRead: "Marcar todo como leído"
|
markAllAsRead: "Marcar todo como leído"
|
||||||
goBack: "Deseleccionar"
|
goBack: "Anterior"
|
||||||
unlikeConfirm: "¿Quitar como favorito?"
|
unlikeConfirm: "¿Quitar como favorito?"
|
||||||
fullView: "Vista completa"
|
fullView: "Vista completa"
|
||||||
quitFullView: "quitar vista completa"
|
quitFullView: "quitar vista completa"
|
||||||
@@ -1511,7 +1511,7 @@ _emojiPalette:
|
|||||||
palettes: "Paleta\n"
|
palettes: "Paleta\n"
|
||||||
enableSyncBetweenDevicesForPalettes: "Activar la sincronización de paletas entre dispositivos"
|
enableSyncBetweenDevicesForPalettes: "Activar la sincronización de paletas entre dispositivos"
|
||||||
paletteForMain: "Paleta principal"
|
paletteForMain: "Paleta principal"
|
||||||
paletteForReaction: "Paleta de reacción"
|
paletteForReaction: "Paleta utilizada para las reacciones"
|
||||||
_settings:
|
_settings:
|
||||||
driveBanner: "Puedes gestionar y configurar la unidad, comprobar su uso y configurar los ajustes de carga de archivos."
|
driveBanner: "Puedes gestionar y configurar la unidad, comprobar su uso y configurar los ajustes de carga de archivos."
|
||||||
pluginBanner: "Puedes ampliar las funciones del cliente con plugins. Puedes instalar plugins, configurarlos y gestionarlos individualmente."
|
pluginBanner: "Puedes ampliar las funciones del cliente con plugins. Puedes instalar plugins, configurarlos y gestionarlos individualmente."
|
||||||
@@ -1523,7 +1523,7 @@ _settings:
|
|||||||
accountData: "Datos de la cuenta"
|
accountData: "Datos de la cuenta"
|
||||||
accountDataBanner: "Exportación e importación para gestionar los datos de la cuenta."
|
accountDataBanner: "Exportación e importación para gestionar los datos de la cuenta."
|
||||||
muteAndBlockBanner: "Puedes configurar y gestionar ajustes para ocultar contenidos y restringir acciones a usuarios específicos."
|
muteAndBlockBanner: "Puedes configurar y gestionar ajustes para ocultar contenidos y restringir acciones a usuarios específicos."
|
||||||
accessibilityBanner: "Puedes personalizar los visuales y el comportamiento del cliente, y configurar los ajustes para optimizar el uso."
|
accessibilityBanner: "Puedes personalizar el aspecto y el comportamiento del cliente y configurar los ajustes para optimizar su uso."
|
||||||
privacyBanner: "Puedes configurar opciones relacionadas con la privacidad de la cuenta, como la visibilidad del contenido, la posibilidad de descubrir la cuenta y la aprobación de seguimiento."
|
privacyBanner: "Puedes configurar opciones relacionadas con la privacidad de la cuenta, como la visibilidad del contenido, la posibilidad de descubrir la cuenta y la aprobación de seguimiento."
|
||||||
securityBanner: "Puedes configurar opciones relacionadas con la seguridad de la cuenta, como la contraseña, los métodos de inicio de sesión, las aplicaciones de autenticación y Passkeys."
|
securityBanner: "Puedes configurar opciones relacionadas con la seguridad de la cuenta, como la contraseña, los métodos de inicio de sesión, las aplicaciones de autenticación y Passkeys."
|
||||||
preferencesBanner: "Puedes configurar el comportamiento general del cliente según tus preferencias."
|
preferencesBanner: "Puedes configurar el comportamiento general del cliente según tus preferencias."
|
||||||
@@ -1540,7 +1540,7 @@ _settings:
|
|||||||
ifOff: "Si está desactivado"
|
ifOff: "Si está desactivado"
|
||||||
enableSyncThemesBetweenDevices: "Sincronizar los temas instalados entre dispositivos."
|
enableSyncThemesBetweenDevices: "Sincronizar los temas instalados entre dispositivos."
|
||||||
enablePullToRefresh: "Tirar para actualizar"
|
enablePullToRefresh: "Tirar para actualizar"
|
||||||
enablePullToRefresh_description: "Si utiliza un ratón, arrastre mientras pulsa la rueda de desplazamiento."
|
enablePullToRefresh_description: "Si utilizas un ratón, arrastra mientras pulsas la rueda de desplazamiento."
|
||||||
realtimeMode_description: "Establece una conexión con el servidor y actualiza el contenido en tiempo real. Esto puede aumentar el tráfico y el consumo de memoria."
|
realtimeMode_description: "Establece una conexión con el servidor y actualiza el contenido en tiempo real. Esto puede aumentar el tráfico y el consumo de memoria."
|
||||||
contentsUpdateFrequency: "Frecuencia de adquisición del contenido."
|
contentsUpdateFrequency: "Frecuencia de adquisición del contenido."
|
||||||
contentsUpdateFrequency_description: "Cuanto mayor sea el valor, más se actualiza el contenido, pero disminuye el rendimiento y aumenta el tráfico y el consumo de memoria."
|
contentsUpdateFrequency_description: "Cuanto mayor sea el valor, más se actualiza el contenido, pero disminuye el rendimiento y aumenta el tráfico y el consumo de memoria."
|
||||||
@@ -2156,7 +2156,7 @@ _accountDelete:
|
|||||||
started: "El proceso de eliminación ha comenzado."
|
started: "El proceso de eliminación ha comenzado."
|
||||||
inProgress: "La eliminación está en proceso."
|
inProgress: "La eliminación está en proceso."
|
||||||
_ad:
|
_ad:
|
||||||
back: "Deseleccionar"
|
back: "Anterior"
|
||||||
reduceFrequencyOfThisAd: "Mostrar menos este anuncio."
|
reduceFrequencyOfThisAd: "Mostrar menos este anuncio."
|
||||||
hide: "No mostrar"
|
hide: "No mostrar"
|
||||||
timezoneinfo: "El día de la semana está determidado por la zona horaria del servidor."
|
timezoneinfo: "El día de la semana está determidado por la zona horaria del servidor."
|
||||||
@@ -2610,10 +2610,10 @@ _profile:
|
|||||||
name: "Nombre"
|
name: "Nombre"
|
||||||
username: "Nombre de usuario"
|
username: "Nombre de usuario"
|
||||||
description: "Descripción"
|
description: "Descripción"
|
||||||
youCanIncludeHashtags: "Puedes añadir hashtags"
|
youCanIncludeHashtags: "También puedes incluir hashtags en tu biografía"
|
||||||
metadata: "información adicional"
|
metadata: "información adicional"
|
||||||
metadataEdit: "Editar información adicional"
|
metadataEdit: "Editar información adicional"
|
||||||
metadataDescription: "Muestra la información adicional en el perfil"
|
metadataDescription: "Usando esto puedes mostrar campos de información adicionales en tu perfil."
|
||||||
metadataLabel: "Etiqueta"
|
metadataLabel: "Etiqueta"
|
||||||
metadataContent: "Contenido"
|
metadataContent: "Contenido"
|
||||||
changeAvatar: "Cambiar avatar"
|
changeAvatar: "Cambiar avatar"
|
||||||
|
|||||||
@@ -83,6 +83,8 @@ files: "Allegati"
|
|||||||
download: "Scarica"
|
download: "Scarica"
|
||||||
driveFileDeleteConfirm: "Vuoi davvero eliminare il file \"{name}\", e le Note a cui è stato allegato?"
|
driveFileDeleteConfirm: "Vuoi davvero eliminare il file \"{name}\", e le Note a cui è stato allegato?"
|
||||||
unfollowConfirm: "Vuoi davvero togliere il Following a {name}?"
|
unfollowConfirm: "Vuoi davvero togliere il Following a {name}?"
|
||||||
|
cancelFollowRequestConfirm: "Vuoi annullare la tua richiesta di follow inviata a {name}?"
|
||||||
|
rejectFollowRequestConfirm: "Vuoi rifiutare la richiesta di follow ricevuta da {name}?"
|
||||||
exportRequested: "Hai richiesto un'esportazione, e potrebbe volerci tempo. Quando sarà compiuta, il file verrà aggiunto direttamente al Drive."
|
exportRequested: "Hai richiesto un'esportazione, e potrebbe volerci tempo. Quando sarà compiuta, il file verrà aggiunto direttamente al Drive."
|
||||||
importRequested: "Hai richiesto un'importazione. Potrebbe richiedere un po' di tempo."
|
importRequested: "Hai richiesto un'importazione. Potrebbe richiedere un po' di tempo."
|
||||||
lists: "Liste"
|
lists: "Liste"
|
||||||
@@ -2350,13 +2352,13 @@ _ago:
|
|||||||
yearsAgo: "{n} anni fa"
|
yearsAgo: "{n} anni fa"
|
||||||
invalid: "Niente da visualizzare"
|
invalid: "Niente da visualizzare"
|
||||||
_timeIn:
|
_timeIn:
|
||||||
seconds: "Dopo {n} secondi"
|
seconds: "Tra {n} secondi"
|
||||||
minutes: "Dopo {n} minuti"
|
minutes: "Tra {n} minuti"
|
||||||
hours: "Dopo {n} ore"
|
hours: "Tra {n} ore"
|
||||||
days: "Dopo {n} giorni"
|
days: "Tra {n} giorni"
|
||||||
weeks: "Dopo {n} settimane"
|
weeks: "Tra {n} settimane"
|
||||||
months: "Dopo {n} mesi"
|
months: "Tra {n} mesi"
|
||||||
years: "Dopo {n} anni"
|
years: "Tra {n} anni"
|
||||||
_time:
|
_time:
|
||||||
second: "s"
|
second: "s"
|
||||||
minute: "min"
|
minute: "min"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"version": "2025.12.0-alpha.0",
|
"version": "2025.12.0-alpha.1",
|
||||||
"codename": "nasubi",
|
"codename": "nasubi",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -27,9 +27,9 @@
|
|||||||
"build": "pnpm build-pre && pnpm -r build && pnpm build-assets",
|
"build": "pnpm build-pre && pnpm -r build && pnpm build-assets",
|
||||||
"build-storybook": "pnpm --filter frontend build-storybook",
|
"build-storybook": "pnpm --filter frontend build-storybook",
|
||||||
"build-misskey-js-with-types": "pnpm build-pre && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json --no-build && ncp packages/backend/built/api.json packages/misskey-js/generator/api.json && pnpm --filter misskey-js update-autogen-code && pnpm --filter misskey-js build && pnpm --filter misskey-js api",
|
"build-misskey-js-with-types": "pnpm build-pre && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json --no-build && ncp packages/backend/built/api.json packages/misskey-js/generator/api.json && pnpm --filter misskey-js update-autogen-code && pnpm --filter misskey-js build && pnpm --filter misskey-js api",
|
||||||
"start": "pnpm check:connect && cd packages/backend && node ./built/boot/entry.js",
|
"start": "pnpm check:connect && cd packages/backend && pnpm convert:config && node ./built/boot/entry.js",
|
||||||
"start:inspect": "cd packages/backend && node --inspect ./built/boot/entry.js",
|
"start:inspect": "cd packages/backend && pnpm convert:config && node --inspect ./built/boot/entry.js",
|
||||||
"start:test": "ncp ./.github/misskey/test.yml ./.config/test.yml && cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js",
|
"start:test": "ncp ./.github/misskey/test.yml ./.config/test.yml && cd packages/backend && pnpm convert:config && cross-env NODE_ENV=test node ./built/boot/entry.js",
|
||||||
"cli": "cd packages/backend && pnpm cli",
|
"cli": "cd packages/backend && pnpm cli",
|
||||||
"init": "pnpm migrate",
|
"init": "pnpm migrate",
|
||||||
"migrate": "cd packages/backend && pnpm migrate",
|
"migrate": "cd packages/backend && pnpm migrate",
|
||||||
|
|||||||
@@ -7,36 +7,37 @@
|
|||||||
"node": "^22.15.0 || ^24.10.0"
|
"node": "^22.15.0 || ^24.10.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node ./built/boot/entry.js",
|
"start": "pnpm convert:config && node ./built/boot/entry.js",
|
||||||
"start:inspect": "node --inspect ./built/boot/entry.js",
|
"start:inspect": "pnpm convert:config && node --inspect ./built/boot/entry.js",
|
||||||
"start:test": "cross-env NODE_ENV=test node ./built/boot/entry.js",
|
"start:test": "pnpm convert:config && cross-env NODE_ENV=test node ./built/boot/entry.js",
|
||||||
"migrate": "pnpm typeorm migration:run -d ormconfig.js",
|
"migrate": "pnpm convert:config && pnpm typeorm migration:run -d ormconfig.js",
|
||||||
"revert": "pnpm typeorm migration:revert -d ormconfig.js",
|
"revert": "pnpm convert:config && pnpm typeorm migration:revert -d ormconfig.js",
|
||||||
"cli": "node ./built/boot/cli.js",
|
"cli": "pnpm convert:config && node ./built/boot/cli.js",
|
||||||
"check:connect": "node ./scripts/check_connect.js",
|
"check:connect": "pnpm convert:config && node ./scripts/check_connect.js",
|
||||||
|
"convert:config": "node ./scripts/convert_config.js",
|
||||||
"build": "swc src -d built -D --strip-leading-paths",
|
"build": "swc src -d built -D --strip-leading-paths",
|
||||||
"build:test": "swc test-server -d built-test -D --config-file test-server/.swcrc --strip-leading-paths",
|
"build:test": "swc test-server -d built-test -D --config-file test-server/.swcrc --strip-leading-paths",
|
||||||
"watch:swc": "swc src -d built -D -w --strip-leading-paths",
|
"watch:swc": "swc src -d built -D -w --strip-leading-paths",
|
||||||
"build:tsc": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json",
|
"build:tsc": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json",
|
||||||
"watch": "node ./scripts/watch.mjs",
|
"watch": "pnpm convert:config && node ./scripts/watch.mjs",
|
||||||
"restart": "pnpm build && pnpm start",
|
"restart": "pnpm build && pnpm start",
|
||||||
"dev": "node ./scripts/dev.mjs",
|
"dev": "pnpm convert:config && node ./scripts/dev.mjs",
|
||||||
"typecheck": "tsc --noEmit && tsc -p test --noEmit && tsc -p test-federation --noEmit",
|
"typecheck": "tsc --noEmit && tsc -p test --noEmit && tsc -p test-federation --noEmit",
|
||||||
"eslint": "eslint --quiet \"{src,test-federation}/**/*.ts\"",
|
"eslint": "eslint --quiet \"{src,test-federation}/**/*.ts\"",
|
||||||
"lint": "pnpm typecheck && pnpm eslint",
|
"lint": "pnpm typecheck && pnpm eslint",
|
||||||
"jest": "cross-env NODE_ENV=test node ./jest.js --forceExit --config jest.config.unit.cjs",
|
"jest": "pnpm convert:config && cross-env NODE_ENV=test node ./jest.js --forceExit --config jest.config.unit.cjs",
|
||||||
"jest:e2e": "cross-env NODE_ENV=test node ./jest.js --forceExit --config jest.config.e2e.cjs",
|
"jest:e2e": "pnpm convert:config && cross-env NODE_ENV=test node ./jest.js --forceExit --config jest.config.e2e.cjs",
|
||||||
"jest:fed": "node ./jest.js --forceExit --config jest.config.fed.cjs",
|
"jest:fed": "pnpm convert:config && node ./jest.js --forceExit --config jest.config.fed.cjs",
|
||||||
"jest-and-coverage": "cross-env NODE_ENV=test node ./jest.js --coverage --forceExit --config jest.config.unit.cjs",
|
"jest-and-coverage": "pnpm convert:config && cross-env NODE_ENV=test node ./jest.js --coverage --forceExit --config jest.config.unit.cjs",
|
||||||
"jest-and-coverage:e2e": "cross-env NODE_ENV=test node ./jest.js --coverage --forceExit --config jest.config.e2e.cjs",
|
"jest-and-coverage:e2e": "pnpm convert:config && cross-env NODE_ENV=test node ./jest.js --coverage --forceExit --config jest.config.e2e.cjs",
|
||||||
"jest-clear": "cross-env NODE_ENV=test node ./jest.js --clearCache",
|
"jest-clear": "pnpm convert:config && cross-env NODE_ENV=test node ./jest.js --clearCache",
|
||||||
"test": "pnpm jest",
|
"test": "pnpm jest",
|
||||||
"test:e2e": "pnpm build && pnpm build:test && pnpm jest:e2e",
|
"test:e2e": "pnpm build && pnpm build:test && pnpm jest:e2e",
|
||||||
"test:fed": "pnpm jest:fed",
|
"test:fed": "pnpm jest:fed",
|
||||||
"test-and-coverage": "pnpm jest-and-coverage",
|
"test-and-coverage": "pnpm jest-and-coverage",
|
||||||
"test-and-coverage:e2e": "pnpm build && pnpm build:test && pnpm jest-and-coverage:e2e",
|
"test-and-coverage:e2e": "pnpm build && pnpm build:test && pnpm jest-and-coverage:e2e",
|
||||||
"check-migrations": "node scripts/check_migrations_clean.js",
|
"check-migrations": "node scripts/check_migrations_clean.js",
|
||||||
"generate-api-json": "node ./scripts/generate_api_json.js"
|
"generate-api-json": "pnpm convert:config && node ./scripts/generate_api_json.js"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@swc/core-android-arm64": "1.3.11",
|
"@swc/core-android-arm64": "1.3.11",
|
||||||
@@ -128,7 +129,6 @@
|
|||||||
"ip-cidr": "4.0.2",
|
"ip-cidr": "4.0.2",
|
||||||
"ipaddr.js": "2.2.0",
|
"ipaddr.js": "2.2.0",
|
||||||
"is-svg": "6.1.0",
|
"is-svg": "6.1.0",
|
||||||
"js-yaml": "4.1.1",
|
|
||||||
"json5": "2.2.3",
|
"json5": "2.2.3",
|
||||||
"jsonld": "9.0.0",
|
"jsonld": "9.0.0",
|
||||||
"jsrsasign": "11.1.0",
|
"jsrsasign": "11.1.0",
|
||||||
@@ -198,7 +198,6 @@
|
|||||||
"@types/fluent-ffmpeg": "2.1.28",
|
"@types/fluent-ffmpeg": "2.1.28",
|
||||||
"@types/http-link-header": "1.0.7",
|
"@types/http-link-header": "1.0.7",
|
||||||
"@types/jest": "29.5.14",
|
"@types/jest": "29.5.14",
|
||||||
"@types/js-yaml": "4.0.9",
|
|
||||||
"@types/jsonld": "1.5.15",
|
"@types/jsonld": "1.5.15",
|
||||||
"@types/jsrsasign": "10.5.15",
|
"@types/jsrsasign": "10.5.15",
|
||||||
"@types/mime-types": "3.0.1",
|
"@types/mime-types": "3.0.1",
|
||||||
@@ -233,6 +232,7 @@
|
|||||||
"jest": "29.7.0",
|
"jest": "29.7.0",
|
||||||
"jest-mock": "29.7.0",
|
"jest-mock": "29.7.0",
|
||||||
"jest-util": "29.7.0",
|
"jest-util": "29.7.0",
|
||||||
|
"js-yaml": "4.1.1",
|
||||||
"nodemon": "3.1.11",
|
"nodemon": "3.1.11",
|
||||||
"pid-port": "2.0.0",
|
"pid-port": "2.0.0",
|
||||||
"simple-oauth2": "5.1.0",
|
"simple-oauth2": "5.1.0",
|
||||||
|
|||||||
56
packages/backend/scripts/convert_config.js
Normal file
56
packages/backend/scripts/convert_config.js
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: syuilo and misskey-project
|
||||||
|
* SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* YAMLファイルをJSONファイルに変換するスクリプト
|
||||||
|
* ビルド前に実行し、ランタイムにjs-yamlを含まないようにする
|
||||||
|
*/
|
||||||
|
|
||||||
|
import fs from 'node:fs';
|
||||||
|
import { resolve, dirname } from 'node:path';
|
||||||
|
import { fileURLToPath } from 'node:url';
|
||||||
|
import yaml from 'js-yaml';
|
||||||
|
|
||||||
|
const _filename = fileURLToPath(import.meta.url);
|
||||||
|
const _dirname = dirname(_filename);
|
||||||
|
|
||||||
|
const configDir = resolve(_dirname, '../../../.config');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* YAMLファイルをJSONファイルに変換
|
||||||
|
* @param {string} ymlPath - YAMLファイルのパス
|
||||||
|
* @param {string} jsonPath - JSONファイルの出力パス
|
||||||
|
*/
|
||||||
|
function convertYamlToJson(ymlPath, jsonPath) {
|
||||||
|
if (!fs.existsSync(ymlPath)) {
|
||||||
|
console.log(`${ymlPath} が見つからないためスキップします`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const yamlContent = fs.readFileSync(ymlPath, 'utf-8');
|
||||||
|
const jsonContent = yaml.load(yamlContent);
|
||||||
|
fs.writeFileSync(jsonPath, JSON.stringify(jsonContent, null, 2), 'utf-8');
|
||||||
|
console.log(`✓ ${ymlPath} → ${jsonPath}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// default.yml と test.yml を変換
|
||||||
|
convertYamlToJson(
|
||||||
|
resolve(configDir, 'default.yml'),
|
||||||
|
resolve(configDir, 'default.json'),
|
||||||
|
);
|
||||||
|
|
||||||
|
convertYamlToJson(
|
||||||
|
resolve(configDir, 'test.yml'),
|
||||||
|
resolve(configDir, 'test.json'),
|
||||||
|
);
|
||||||
|
|
||||||
|
// MISSKEY_CONFIG_YML 環境変数が指定されている場合も変換
|
||||||
|
if (process.env.MISSKEY_CONFIG_YML) {
|
||||||
|
const customYmlPath = resolve(configDir, process.env.MISSKEY_CONFIG_YML);
|
||||||
|
const customJsonPath = customYmlPath.replace(/\.ya?ml$/i, '.json');
|
||||||
|
convertYamlToJson(customYmlPath, customJsonPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('設定ファイルの変換が完了しました');
|
||||||
@@ -6,7 +6,6 @@
|
|||||||
import * as fs from 'node:fs';
|
import * as fs from 'node:fs';
|
||||||
import { fileURLToPath } from 'node:url';
|
import { fileURLToPath } from 'node:url';
|
||||||
import { dirname, resolve } from 'node:path';
|
import { dirname, resolve } from 'node:path';
|
||||||
import * as yaml from 'js-yaml';
|
|
||||||
import { type FastifyServerOptions } from 'fastify';
|
import { type FastifyServerOptions } from 'fastify';
|
||||||
import type * as Sentry from '@sentry/node';
|
import type * as Sentry from '@sentry/node';
|
||||||
import type * as SentryVue from '@sentry/vue';
|
import type * as SentryVue from '@sentry/vue';
|
||||||
@@ -227,10 +226,10 @@ const dir = `${_dirname}/../../../.config`;
|
|||||||
* Path of configuration file
|
* Path of configuration file
|
||||||
*/
|
*/
|
||||||
export const path = process.env.MISSKEY_CONFIG_YML
|
export const path = process.env.MISSKEY_CONFIG_YML
|
||||||
? resolve(dir, process.env.MISSKEY_CONFIG_YML)
|
? resolve(dir, process.env.MISSKEY_CONFIG_YML).replace(/\.ya?ml$/i, '.json')
|
||||||
: process.env.NODE_ENV === 'test'
|
: process.env.NODE_ENV === 'test'
|
||||||
? resolve(dir, 'test.yml')
|
? resolve(dir, 'test.json')
|
||||||
: resolve(dir, 'default.yml');
|
: resolve(dir, 'default.json');
|
||||||
|
|
||||||
export function loadConfig(): Config {
|
export function loadConfig(): Config {
|
||||||
const meta = JSON.parse(fs.readFileSync(`${_dirname}/../../../built/meta.json`, 'utf-8'));
|
const meta = JSON.parse(fs.readFileSync(`${_dirname}/../../../built/meta.json`, 'utf-8'));
|
||||||
@@ -244,7 +243,7 @@ export function loadConfig(): Config {
|
|||||||
JSON.parse(fs.readFileSync(`${_dirname}/../../../built/_frontend_embed_vite_/manifest.json`, 'utf-8'))
|
JSON.parse(fs.readFileSync(`${_dirname}/../../../built/_frontend_embed_vite_/manifest.json`, 'utf-8'))
|
||||||
: { 'src/boot.ts': { file: null } };
|
: { 'src/boot.ts': { file: null } };
|
||||||
|
|
||||||
const config = yaml.load(fs.readFileSync(path, 'utf-8')) as Source;
|
const config = JSON.parse(fs.readFileSync(path, 'utf-8')) as Source;
|
||||||
|
|
||||||
const url = tryCreateUrl(config.url ?? process.env.MISSKEY_URL ?? '');
|
const url = tryCreateUrl(config.url ?? process.env.MISSKEY_URL ?? '');
|
||||||
const version = meta.version;
|
const version = meta.version;
|
||||||
|
|||||||
@@ -40,6 +40,10 @@ services:
|
|||||||
source: ./.config/a.test.default.yml
|
source: ./.config/a.test.default.yml
|
||||||
target: /misskey/.config/default.yml
|
target: /misskey/.config/default.yml
|
||||||
read_only: true
|
read_only: true
|
||||||
|
- type: bind
|
||||||
|
source: ../scripts/convert_config.js
|
||||||
|
target: /misskey/packages/backend/scripts/convert_config.js
|
||||||
|
read_only: true
|
||||||
|
|
||||||
db.a.test:
|
db.a.test:
|
||||||
extends:
|
extends:
|
||||||
|
|||||||
@@ -40,6 +40,10 @@ services:
|
|||||||
source: ./.config/b.test.default.yml
|
source: ./.config/b.test.default.yml
|
||||||
target: /misskey/.config/default.yml
|
target: /misskey/.config/default.yml
|
||||||
read_only: true
|
read_only: true
|
||||||
|
- type: bind
|
||||||
|
source: ../scripts/convert_config.js
|
||||||
|
target: /misskey/packages/backend/scripts/convert_config.js
|
||||||
|
read_only: true
|
||||||
|
|
||||||
db.b.test:
|
db.b.test:
|
||||||
extends:
|
extends:
|
||||||
|
|||||||
@@ -42,6 +42,10 @@ services:
|
|||||||
source: ../package.json
|
source: ../package.json
|
||||||
target: /misskey/packages/backend/package.json
|
target: /misskey/packages/backend/package.json
|
||||||
read_only: true
|
read_only: true
|
||||||
|
- type: bind
|
||||||
|
source: ../scripts/convert_config.js
|
||||||
|
target: /misskey/packages/backend/scripts/convert_config.js
|
||||||
|
read_only: true
|
||||||
- type: bind
|
- type: bind
|
||||||
source: ../../misskey-js/built
|
source: ../../misskey-js/built
|
||||||
target: /misskey/packages/misskey-js/built
|
target: /misskey/packages/misskey-js/built
|
||||||
|
|||||||
@@ -54,6 +54,10 @@ services:
|
|||||||
source: ../jest.js
|
source: ../jest.js
|
||||||
target: /misskey/packages/backend/jest.js
|
target: /misskey/packages/backend/jest.js
|
||||||
read_only: true
|
read_only: true
|
||||||
|
- type: bind
|
||||||
|
source: ../scripts/convert_config.js
|
||||||
|
target: /misskey/packages/backend/scripts/convert_config.js
|
||||||
|
read_only: true
|
||||||
- type: bind
|
- type: bind
|
||||||
source: ../../misskey-js/built
|
source: ../../misskey-js/built
|
||||||
target: /misskey/packages/misskey-js/built
|
target: /misskey/packages/misskey-js/built
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"name": "misskey-js",
|
"name": "misskey-js",
|
||||||
"version": "2025.12.0-alpha.0",
|
"version": "2025.12.0-alpha.1",
|
||||||
"description": "Misskey SDK for JavaScript",
|
"description": "Misskey SDK for JavaScript",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"main": "./built/index.js",
|
"main": "./built/index.js",
|
||||||
|
|||||||
9
pnpm-lock.yaml
generated
9
pnpm-lock.yaml
generated
@@ -267,9 +267,6 @@ importers:
|
|||||||
is-svg:
|
is-svg:
|
||||||
specifier: 6.1.0
|
specifier: 6.1.0
|
||||||
version: 6.1.0
|
version: 6.1.0
|
||||||
js-yaml:
|
|
||||||
specifier: 4.1.1
|
|
||||||
version: 4.1.1
|
|
||||||
json5:
|
json5:
|
||||||
specifier: 2.2.3
|
specifier: 2.2.3
|
||||||
version: 2.2.3
|
version: 2.2.3
|
||||||
@@ -472,9 +469,6 @@ importers:
|
|||||||
'@types/jest':
|
'@types/jest':
|
||||||
specifier: 29.5.14
|
specifier: 29.5.14
|
||||||
version: 29.5.14
|
version: 29.5.14
|
||||||
'@types/js-yaml':
|
|
||||||
specifier: 4.0.9
|
|
||||||
version: 4.0.9
|
|
||||||
'@types/jsonld':
|
'@types/jsonld':
|
||||||
specifier: 1.5.15
|
specifier: 1.5.15
|
||||||
version: 1.5.15
|
version: 1.5.15
|
||||||
@@ -577,6 +571,9 @@ importers:
|
|||||||
jest-util:
|
jest-util:
|
||||||
specifier: 29.7.0
|
specifier: 29.7.0
|
||||||
version: 29.7.0
|
version: 29.7.0
|
||||||
|
js-yaml:
|
||||||
|
specifier: 4.1.1
|
||||||
|
version: 4.1.1
|
||||||
nodemon:
|
nodemon:
|
||||||
specifier: 3.1.11
|
specifier: 3.1.11
|
||||||
version: 3.1.11
|
version: 3.1.11
|
||||||
|
|||||||
Reference in New Issue
Block a user