diff --git a/.github/workflows/docker-validate.yml b/.github/workflows/docker-validate.yml index d4d960e2b..375bddd0c 100644 --- a/.github/workflows/docker-validate.yml +++ b/.github/workflows/docker-validate.yml @@ -38,7 +38,7 @@ jobs: echo "✓ docker-compose.yaml syntax validation passed" - name: Lint Dockerfile - uses: hadolint/hadolint-action@v3.3.0 + uses: hadolint/hadolint-action@v3.5.0 with: dockerfile: Dockerfile failure-threshold: warning diff --git a/Dockerfile b/Dockerfile index bdc0b12f1..05caafc7f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -46,7 +46,7 @@ LABEL org.opencontainers.image.authors="DevOps Daily Team" EXPOSE 3000 HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ - CMD curl -f http://localhost:3000/ || exit 1 + CMD ["curl", "-f", "http://localhost:3000/"] CMD ["pnpm", "run", "dev"] @@ -96,6 +96,6 @@ LABEL org.opencontainers.image.authors="DevOps Daily Team" EXPOSE 80 HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \ - CMD wget --no-verbose --tries=1 --spider http://localhost:80/ || exit 1 + CMD ["wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:80/"] CMD ["nginx", "-g", "daemon off;"] diff --git a/components/tools/yaml-json-formatter.tsx b/components/tools/yaml-json-formatter.tsx index 68e6e3f1f..96278fe50 100644 --- a/components/tools/yaml-json-formatter.tsx +++ b/components/tools/yaml-json-formatter.tsx @@ -1,7 +1,7 @@ 'use client'; import { useMemo, useState } from 'react'; -import yaml from 'js-yaml'; +import * as yaml from 'js-yaml'; type InputFormat = 'yaml' | 'json'; type OutputFormat = 'yaml' | 'json'; @@ -41,7 +41,7 @@ function process( } return { ok: true, - output: yaml.dump(data, { indent: 2, lineWidth: 120, quotingType: '"' }), + output: yaml.dump(data, { indent: 2, lineWidth: 120 }), }; } catch (err) { return { ok: false, error: err instanceof Error ? err.message : String(err) }; diff --git a/package.json b/package.json index d69f21522..39c362ee4 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,7 @@ "gray-matter": "^4.0.3", "highlight.js": "^11.11.1", "input-otp": "1.5.0", - "js-yaml": "^4.3.0", + "js-yaml": "^5.4.1", "lottie-web": "^5.13.0", "lucide-react": "^1.21.0", "marked": "^18.0.5", @@ -133,7 +133,6 @@ "@resvg/resvg-js": "^2.6.2", "@tailwindcss/postcss": "^4.3.0", "@tailwindcss/typography": "0.5.19", - "@types/js-yaml": "^4.0.9", "@types/node": "^25.9.3", "@types/react": "^19.2.18", "@types/react-dom": "^19.2.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0ad699d6c..463703385 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -152,8 +152,8 @@ importers: specifier: 1.5.0 version: 1.5.0(react-dom@19.2.5(react@19.2.8))(react@19.2.8) js-yaml: - specifier: ^4.3.2 - version: 4.3.2 + specifier: ^5.4.1 + version: 5.4.1 lottie-web: specifier: ^5.13.0 version: 5.13.0 @@ -242,9 +242,6 @@ importers: '@tailwindcss/typography': specifier: 0.5.19 version: 0.5.19(tailwindcss@4.2.4) - '@types/js-yaml': - specifier: ^4.0.9 - version: 4.0.9 '@types/node': specifier: ^25.9.3 version: 25.9.3 @@ -2891,9 +2888,6 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - '@types/js-yaml@4.0.9': - resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} - '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -4343,6 +4337,10 @@ packages: resolution: {integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==} hasBin: true + js-yaml@5.4.1: + resolution: {integrity: sha512-28R/k+NAjeuf7+CKlTxWZVExJGwVVLwY06DgEnOMz2gEpfNkDcD7QvyiVPT0xy0XXhU8vHsd4Ot42OOPdJG7dQ==} + hasBin: true + jsdom@28.1.0: resolution: {integrity: sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -7900,8 +7898,6 @@ snapshots: dependencies: '@types/unist': 3.0.3 - '@types/js-yaml@4.0.9': {} - '@types/json-schema@7.0.15': {} '@types/json5@0.0.29': {} @@ -9582,6 +9578,10 @@ snapshots: dependencies: argparse: 2.0.1 + js-yaml@5.4.1: + dependencies: + argparse: 2.0.1 + jsdom@28.1.0(canvas@3.2.1): dependencies: '@acemir/cssom': 0.9.31 diff --git a/scripts/devops-daily/index.ts b/scripts/devops-daily/index.ts index d7cd3ec59..32acd3bd0 100644 --- a/scripts/devops-daily/index.ts +++ b/scripts/devops-daily/index.ts @@ -2,7 +2,7 @@ import fs from 'fs/promises'; import path from 'path'; -import yaml from 'js-yaml'; +import * as yaml from 'js-yaml'; import { SourcesConfig, NewsItem } from './crawler/types.js'; import { crawlRssFeeds } from './crawler/rss.js'; import { crawlWebSources } from './crawler/web.js';