Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
e5d3aaf
feat: introduce initial web application structure for ReactPress CMS
fecommunity May 23, 2026
4a9f0a9
feat: enhance web application structure and CLI integration for React…
fecommunity May 23, 2026
61412c0
feat: enhance development experience and CLI functionality for ReactP…
fecommunity May 23, 2026
4307ce8
feat(web): implement WordPress-style admin dashboard with i18n
fecommunity May 23, 2026
f5d56c2
feat(web): implement comment management list and sidebar pending audi…
fecommunity May 23, 2026
9e53647
feat(web): implement comment management features in admin layout
fecommunity May 23, 2026
00d6d8f
feat(web): enhance user management features and localization
fecommunity May 23, 2026
0e7a85b
feat(web): enhance user management features and localization
fecommunity May 23, 2026
53e53c8
feat(web): enhance accessibility and user experience in admin layout …
fecommunity May 23, 2026
0524d4d
feat: update package dependencies and improve contributing guidelines
fecommunity May 23, 2026
714ede2
feat(web): add Markdown article editor and taxonomy admin pages
fecommunity May 23, 2026
c391dde
feat(web): enhance page editor with Markdown support and localization…
fecommunity May 23, 2026
c1f4c15
feat(web): update admin layout and editor components for improved usa…
fecommunity May 23, 2026
4c023f8
feat(web): add recent comments feature to dashboard
fecommunity May 23, 2026
58952ed
feat(web): update document title management and add i18n key checker
fecommunity May 23, 2026
3600c60
refactor: refactor favicon settings component for improved layout and…
fecommunity May 23, 2026
c0ea5e8
fix: add GitHub link to admin header and improve button styles
fecommunity May 23, 2026
39b5077
feat(web): integrate Dashicons for improved iconography in admin layo…
fecommunity May 24, 2026
697f5e9
feat(web): replace SVG favicon with PNG and add new logo and showcase…
fecommunity May 24, 2026
5172a06
feat: support custom themes
fecommunity May 24, 2026
cc66e6b
feat: enhance theme management and update development environment
fecommunity May 24, 2026
c5bb7ce
feat: enhance theme customization and improve preview session management
fecommunity May 24, 2026
db6f4c0
feat: update dependencies and enhance theme warmup process for improv…
fecommunity May 24, 2026
729f841
feat: implement article view tracking with useReportArticleView hook …
fecommunity May 24, 2026
1ebba8f
feat: refactor Header component to use useRouter and useNavActive for…
fecommunity May 24, 2026
d23cbe9
feat: introduce new Twenty Twenty-Six theme with Next.js 15 support, …
fecommunity May 29, 2026
fb0ee44
feat: add Twenty Twenty-Five theme with Next.js 14 support, including…
fecommunity May 30, 2026
eb41aed
feat: introduce new Twenty Twenty-Six theme with Next.js 15 support, …
fecommunity May 30, 2026
f06717d
refactor: update theme structure and paths, relocating runtime copies…
fecommunity May 30, 2026
5508479
chore: remove deprecated files and components from Twenty Twenty-Six …
fecommunity May 30, 2026
8a099aa
chore: remove Twenty Twenty-Five theme files and components, cleaning…
fecommunity May 30, 2026
fe1fb2c
chore: remove client directory and associated files, streamlining the…
fecommunity May 30, 2026
e900a6b
feat: add new Twenty Twenty-Five theme with Next.js 14 support, inclu…
fecommunity May 30, 2026
b9d9218
feat: implement development logging and child process management; add…
fecommunity May 30, 2026
2f7b576
fix: update ArticleCarousel to handle empty articles gracefully and i…
fecommunity May 30, 2026
70e821f
chore: update ESLint configuration for TypeScript projects, enhance p…
fecommunity May 30, 2026
9ab24fb
feat: introduce comprehensive architecture documentation for ReactPre…
fecommunity May 30, 2026
dfdc493
chore: update TypeScript version across themes and server packages to…
fecommunity May 30, 2026
4ed5408
feat: implement Nginx port redirection for development environment; a…
fecommunity May 30, 2026
86a11d2
feat: enhance login experience with new CLI snippet and navigation; a…
fecommunity May 30, 2026
dc4884d
feat: implement user registration functionality with form validation,…
fecommunity May 30, 2026
b421ef6
feat: update reactpress logo
fecommunity May 30, 2026
3c436f4
feat: replace logo images with SVG format for better scalability and …
fecommunity May 30, 2026
ea4d27d
feat: add brand asset export functionality and update favicon structu…
fecommunity May 30, 2026
e5438cb
feat: update logo assets and wordmark dimensions; enhance category an…
fecommunity May 30, 2026
fbe6803
fix: chinese char issue
fecommunity May 30, 2026
5aaf933
feat: add new 'About Us' settings including GitHub URL, comment QR, a…
fecommunity May 30, 2026
f5f5c90
feat: implement preview draft functionality for theme customization; …
fecommunity May 30, 2026
7ff6a37
feat: enhance theme customization with new settings structure; add su…
fecommunity May 30, 2026
459062a
feat: refactor theme service and controller to support new appearance…
fecommunity May 30, 2026
af0aa8e
refactor: reorganize imports across multiple files for improved reada…
fecommunity May 30, 2026
15412b6
feat: implement locale management enhancements; add middleware for lo…
fecommunity May 30, 2026
4210695
feat: enhance comment functionality by implementing user session mana…
fecommunity May 30, 2026
9a3cef3
feat: implement theme management enhancements; add color mode utiliti…
fecommunity May 30, 2026
22aa3aa
feat: implement clearThemeSession utility for improved user session m…
fecommunity May 30, 2026
7f11c1f
feat: update theme management by refactoring imports and enhancing se…
fecommunity May 30, 2026
7a6c7d4
feat: enhance theme management by introducing a new theme initializat…
fecommunity May 30, 2026
b46afce
refactor: remove unnecessary key prop from ConfigProvider in _app.tsx…
fecommunity May 30, 2026
8fa0a3f
feat: enhance theme functionality by refactoring imports, introducing…
fecommunity May 30, 2026
a82b117
refactor: remove deprecated app factory exports from theme index file…
fecommunity May 30, 2026
4b4b168
feat: enhance remote development capabilities by introducing support …
fecommunity May 30, 2026
4a41978
refactor: update SettingsTabForm component to use new formIntro class…
fecommunity May 30, 2026
2a3221d
refactor: improve Table of Contents component by enhancing scroll syn…
fecommunity May 30, 2026
4df29ee
refactor: update Header component styles for improved layout and alig…
fecommunity May 30, 2026
7dcfc35
refactor: update project structure and documentation to reflect chang…
fecommunity May 30, 2026
043f75c
feat: implement email validation and admin access checks in user regi…
fecommunity May 30, 2026
78437c7
feat: implement rate limiting for login attempts to enhance security;…
fecommunity May 31, 2026
5aaecb4
chore: update .env configuration for database connection and client/s…
fecommunity May 31, 2026
134c014
feat: add bootstrap service and initialization logic for Hello World …
fecommunity May 31, 2026
e28f21a
refactor: remove last-child display rule from markdown styles and upd…
fecommunity May 31, 2026
936e2ee
feat: enhance header and theme components with new toolbar buttons fo…
fecommunity May 31, 2026
bbd3e89
refactor: update Header component styles for improved layout and resp…
fecommunity May 31, 2026
cc3a306
feat: implement SMTP test email functionality; add API endpoint for s…
fecommunity May 31, 2026
474319e
feat: add theme preview pool management and enhance theme activation …
fecommunity May 31, 2026
d964528
feat: introduce low memory mode for production builds; add support fo…
fecommunity May 31, 2026
d316e2e
feat: update production configuration to use environment variables fo…
fecommunity May 31, 2026
4294de2
feat: integrate sharp image processing for file uploads; enhance uplo…
fecommunity May 31, 2026
143547c
feat: replace img tags with Image component for consistent image hand…
fecommunity May 31, 2026
e80fa2c
feat: enhance theme preview functionality by adding dedicated preview…
fecommunity May 31, 2026
330ad54
feat: implement background theme build scheduling and enhance theme p…
fecommunity May 31, 2026
b7ee1b1
feat: enhance theme activation process with improved status messaging…
fecommunity May 31, 2026
e10d5ce
feat: enhance theme structure by introducing PageHead component for i…
fecommunity May 31, 2026
5803030
feat: enhance theme configuration and layout by updating sitemap gene…
fecommunity May 31, 2026
62b8d1a
feat: implement search functionality with dedicated search page and h…
fecommunity May 31, 2026
6e11432
feat: introduce new theme "Twenty Twenty-Six" with Tailwind CSS and t…
fecommunity Jun 1, 2026
ecf362f
feat: update theme "Twenty Twenty-Five" to version 3.0.5; refactor co…
fecommunity Jun 1, 2026
300f5de
feat: update theme "Twenty Twenty-Five" to version 3.0.6; remove unus…
fecommunity Jun 2, 2026
fb7e8a4
feat: enhance theme "Twenty Twenty-Five" by enabling production sourc…
fecommunity Jun 3, 2026
c8e7e7e
feat: update theme "Twenty Twenty-Five" to version 3.0.6; refactor pa…
fecommunity Jun 5, 2026
b655c13
feat: enhance article page in theme "Twenty Twenty-Five" by introduci…
fecommunity Jun 5, 2026
bf29057
feat: add icon positioning to Button component and allow custom style…
fecommunity Jun 5, 2026
d3a75bf
feat: update .env configuration for ReactPress, change DB_PORT to 330…
fecommunity Jun 5, 2026
654f945
feat: enhance theme with new components and layout improvements; add…
fecommunity Jun 6, 2026
7529f84
feat: enhance code block styling and functionality in theme; improve …
fecommunity Jun 6, 2026
1cf479f
feat: enhance theme configuration and styling; add experimental packa…
fecommunity Jun 6, 2026
e3d16b7
feat: enhance theme functionality and styling; add DevChunkRecovery c…
fecommunity Jun 6, 2026
890fe29
feat: add new "my-blog" theme with enhanced branding assets, includin…
fecommunity Jun 6, 2026
f401edc
refactor: remove deprecated files and components from "my-blog" theme…
fecommunity Jun 6, 2026
7cb4914
feat: update theme structure and components; refactor file organizati…
fecommunity Jun 6, 2026
14efc7a
feat: enhance ArticleCarousel component with autoplay functionality a…
fecommunity Jun 6, 2026
9fcff3b
feat: enhance article recommendation functionality by adding dynamic …
fecommunity Jun 6, 2026
1b3c700
feat: refactor metadata generation across various pages in the to ut…
fecommunity Jun 6, 2026
8757469
refactor: simplify UserAuth component by removing local state managem…
fecommunity Jun 6, 2026
e2639f9
feat: implement dynamic footer placement logic in the "my-blog" theme…
fecommunity Jun 6, 2026
8d96730
feat: enhance article card and cover zoom effects in the "my-blog" th…
fecommunity Jun 6, 2026
47dc080
feat: introduce new article interaction components in the theme; add …
fecommunity Jun 6, 2026
fb731c9
feat: implement search functionality enhancements in the "my-blog" th…
fecommunity Jun 6, 2026
2d09ce0
refactor: update styles and structure of article recommendation compo…
fecommunity Jun 6, 2026
9624ffd
refactor: update metadata generation functions in the theme; replace …
fecommunity Jun 6, 2026
899d901
Merge branch 'master' of https://github.com/fecommunity/reactpress in…
fecommunity Jun 7, 2026
7f77de1
chore: remove Twenty Twenty-Five theme files
fecommunity Jun 7, 2026
6cadf20
chore: remove my-blog theme files
fecommunity Jun 7, 2026
ecfbd84
chore: refactor theme management and CLI enhancements
fecommunity Jun 8, 2026
f059aef
refactor: update theme registry and sources management
fecommunity Jun 10, 2026
371bc7d
chore: add theme-starter to pnpm-lock and document theme system review
fecommunity Jun 12, 2026
95e1bd3
refactor: enhance ThemePreviewFrame loading state and update CSS vari…
fecommunity Jun 12, 2026
80c951c
feat: enhance theme dependency management and catalog structure
fecommunity Jun 13, 2026
34d9fd5
refactor: streamline page creation and enhance CMS page handling
fecommunity Jun 13, 2026
89a569d
feat: introduce plugin management system and enhance plugin support
fecommunity Jun 13, 2026
a513e76
feat: add plugin build and management capabilities
fecommunity Jun 13, 2026
77037b6
refactor: update plugin naming and enhance settings UI
fecommunity Jun 13, 2026
9689139
feat: implement localization support for plugin admin UI
fecommunity Jun 13, 2026
4c7bfc6
refactor: enhance plugin validation and security measures
fecommunity Jun 13, 2026
87b1f2d
feat: add SEO plugin for enhanced article metadata management
fecommunity Jun 13, 2026
05d46de
feat: implement useIsPluginActive hook for plugin status management
fecommunity Jun 13, 2026
53406eb
feat: implement admin slots for SEO plugin integration
fecommunity Jun 13, 2026
f509f55
feat: add settings action to plugin row actions in PluginsPage
fecommunity Jun 13, 2026
2d48c4d
feat: add Electron desktop support and development commands
fecommunity Jun 13, 2026
436cf74
feat: enhance desktop development with SQLite support
fecommunity Jun 13, 2026
baf6d2e
feat: enhance desktop development and theme management
fecommunity Jun 13, 2026
809c014
refactor: remove deprecated themes and update documentation
fecommunity Jun 13, 2026
6149ef0
feat: add official theme support and enhance theme management
fecommunity Jun 13, 2026
2f77c57
feat: add plugin seeding functionality for local site setup
fecommunity Jun 13, 2026
ed4f8ac
feat: release ReactPress 4.0 with plugin system and desktop client
fecommunity Jun 13, 2026
82510ca
refactor: update ESLint configuration, improve .gitignore, and enhanc…
fecommunity Jun 13, 2026
6ed42e0
chore: update theme management and CLI paths for ReactPress 4.0
fecommunity Jun 13, 2026
fc873ef
feat: enhance desktop build process and theme management
fecommunity Jun 13, 2026
c152163
feat: enhance theme management and build process for desktop
fecommunity Jun 13, 2026
b75769c
feat: add local web development support and enhance theme preview fun…
fecommunity Jun 13, 2026
ed3a2be
feat: enhance theme preview tests and configuration for local develop…
fecommunity Jun 13, 2026
fb89f2a
feat: enhance theme environment configuration and asset handling
fecommunity Jun 13, 2026
8ff8a7f
feat: refactor desktop resource management and update cache handling
fecommunity Jun 13, 2026
6e77d2e
feat: enhance desktop build process with electron-vite integration an…
fecommunity Jun 14, 2026
dd71011
feat: update dependencies and streamline theme management for Next.js 15
fecommunity Jun 14, 2026
1abfb2f
feat: enhance development session management and theme preview functi…
fecommunity Jun 14, 2026
b6ee4f4
fix: update TypeScript reference path in next-env.d.ts for improved c…
fecommunity Jun 14, 2026
f319d84
fix: correct theme site startup logic and enhance process handling
fecommunity Jun 14, 2026
32ab745
feat: enhance desktop build process and theme management
fecommunity Jun 14, 2026
bc27591
feat: enhance plugin management and resource staging in desktop build…
fecommunity Jun 14, 2026
c058fa0
Merge branch 'master' into feat/v4
fecommunity Jun 27, 2026
fd64e4e
feat: enhance @fecommunity/reactpress-web with new features and updates
fecommunity Jun 27, 2026
db22fa8
feat: add image optimizer plugin for legacy media processing
fecommunity Jun 27, 2026
018c10d
feat: release ReactPress 4.0.0 with new image optimizer plugin and up…
fecommunity Jun 27, 2026
925f950
feat: release ReactPress 4.0.0 with new image optimizer plugin and up…
fecommunity Jun 27, 2026
8eef584
Merge branch 'master' of https://github.com/fecommunity/reactpress in…
fecommunity Jun 28, 2026
8414ffd
chore: update Node.js version to 24 in CI, deploy, and release workflows
fecommunity Jun 28, 2026
ddba88e
feat: add conditional check to skip Electron binary installation in C…
fecommunity Jun 28, 2026
5b79e3a
docs: add migration guide and ReactPress 4.0 overview with new featur…
fecommunity Jun 28, 2026
eb7f7f4
feat: add node polyfills to support legacy util functions for NestJS …
fecommunity Jun 28, 2026
65afe46
fix: improve error handling in smoke API health check and enhance nod…
fecommunity Jun 28, 2026
38a0bc7
refactor: change column type from 'varchar' to 'simple-enum' for stat…
fecommunity Jun 28, 2026
9353f0c
docs: update README and documentation for ReactPress 4.0, highlightin…
fecommunity Jun 28, 2026
aa27a09
docs: enhance README and CLI documentation for ReactPress 4.0, introd…
fecommunity Jun 28, 2026
06ddd55
docs: update README files for ReactPress 4.0, enhancing clarity and c…
fecommunity Jun 28, 2026
7930c97
docs: merge design.md into ARCHITECTURE.md, update content structure …
fecommunity Jun 28, 2026
6a09cf2
refactor: update desktop development scripts and improve local API ha…
fecommunity Jun 28, 2026
96b54d1
feat: implement desktop local query policy and refactor query client …
fecommunity Jun 28, 2026
bb684e8
docs: format URLs in create-a-post documentation for improved readabi…
fecommunity Jun 28, 2026
94e893a
docs: update localization and content for ReactPress 4.0, reflecting …
fecommunity Jun 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 4 additions & 8 deletions .env
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
# ReactPress — copy to .env and run `pnpm init` to sync from .reactpress/config.json
# ReactPress — managed by reactpress-cli
DB_HOST=127.0.0.1
DB_PORT=3306
DB_PORT=3307
DB_USER=reactpress
DB_PASSWD=reactpress
DB_DATABASE=reactpress


# Client Config
CLIENT_SITE_URL=http://localhost:3001

# Server Config
SERVER_SITE_URL=http://localhost:3002
SERVER_SITE_URL=http://localhost:3002
SERVER_PORT=3002
73 changes: 64 additions & 9 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,63 @@ module.exports = {
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
],
parserOptions: {
sourceType: 'module',
ecmaVersion: 'latest',
},
overrides: [
{
files: ['**/*.{ts,tsx,js,jsx}'],
files: ['web/**/*.{ts,tsx}'],
parserOptions: {
project: ['./web/tsconfig.eslint.json'],
tsconfigRootDir: __dirname,
},
},
{
files: ['toolkit/**/*.ts'],
parserOptions: {
project: ['./toolkit/tsconfig.json'],
tsconfigRootDir: __dirname,
},
},
{
files: ['server/**/*.ts'],
parserOptions: {
project: ['./client/tsconfig.json'],
project: ['./server/tsconfig.json'],
tsconfigRootDir: __dirname,
sourceType: 'module',
},
},
{
files: ['docs/**/*.{ts,tsx}'],
parserOptions: {
project: ['./docs/tsconfig.eslint.json'],
tsconfigRootDir: __dirname,
},
},
{
files: ['themes/hello-world/**/*.{ts,tsx}'],
parserOptions: {
project: ['./themes/hello-world/tsconfig.eslint.json'],
tsconfigRootDir: __dirname,
},
},
{
// Next.js regenerates next-env.d.ts with /// <reference path="…" /> for route types.
files: ['**/next-env.d.ts'],
rules: {
'@typescript-eslint/triple-slash-reference': 'off',
},
},
],
settings: {
react: {
version: '17.0',
version: 'detect',
},
'import/resolver': {
node: {
paths: ['./'],
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
},
},
env: {
Expand All @@ -43,12 +87,23 @@ module.exports = {
'@typescript-eslint/explicit-module-boundary-types': 0,
'@typescript-eslint/ban-types': 0,
'react-hooks/rules-of-hooks': 2,
'react-hooks/exhaustive-deps': 2,
'react-hooks/exhaustive-deps': 1,
'react/prop-types': 0,
'react/react-in-jsx-scope': 0,
'prettier/prettier': 'error',
'simple-import-sort/imports': 'error',
'simple-import-sort/exports': 'error',
// Prettier 2.x cannot parse modern TS (`import type`, inline `type` imports).
// web uses `vp fmt` (Oxfmt); keep formatting out of ESLint to avoid false IDE errors.
'prettier/prettier': 0,
'simple-import-sort/imports': 'off',
'simple-import-sort/exports': 'off',
},
ignorePatterns: ['dist/', 'node_modules', 'scripts'],
ignorePatterns: [
'dist/',
'node_modules',
'scripts',
'examples',
'**/.next',
'toolkit/dist',
'server/dist',
'web/src/routeTree.gen.ts',
],
};
15 changes: 4 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,10 @@ jobs:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4
with:
version: 9

- uses: actions/setup-node@v4
with:
node-version: 20
node-version: 24
cache: pnpm

- name: Install dependencies
Expand Down Expand Up @@ -50,22 +48,17 @@ jobs:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4
with:
version: 9

- uses: actions/setup-node@v4
with:
node-version: 20
node-version: 24
cache: pnpm

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build toolkit
run: pnpm run build:toolkit

- name: Build server
run: pnpm run build:server
- name: Production build
run: pnpm run build

- name: Create test .env
run: |
Expand Down
110 changes: 110 additions & 0 deletions .github/workflows/deploy-ecs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Build on GitHub → upload release tarball → SSH deploy on ECS.
#
# Required GitHub Secrets (Settings → Secrets and variables → Actions):
# ECS_HOST ECS public IP or domain
# ECS_USER SSH user, e.g. root or deploy
# ECS_SSH_KEY Private key (PEM), full content including BEGIN/END lines
# ECS_APP_DIR App root on server, e.g. /opt/reactpress
#
# Optional Secrets:
# ECS_SSH_PORT Default 22
# NGINX_ENTRY_URL Public site URL written into deploy env, e.g. https://blog.example.com
#
# One-time ECS setup:
# 1. Clone repo to ECS_APP_DIR, create .env (DB, ports, domain — never commit)
# 2. Install Node 24, pnpm, PM2, Docker; run `pnpm run deploy` once manually
# 3. Add GitHub Actions deploy key / user SSH public key to ECS ~/.ssh/authorized_keys
#
name: Deploy ECS

on:
workflow_dispatch:
push:
branches: [main, master]

concurrency:
group: deploy-ecs-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version: 24
cache: pnpm

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Production build + pack
run: pnpm run build

- name: Locate release tarball
id: pack
run: |
TAR="$(ls -1 dist/reactpress-release-*.tar.gz | tail -1)"
echo "path=$TAR" >> "$GITHUB_OUTPUT"
echo "name=$(basename "$TAR")" >> "$GITHUB_OUTPUT"

- name: Upload release artifact
uses: actions/upload-artifact@v4
with:
name: reactpress-release
path: ${{ steps.pack.outputs.path }}
retention-days: 7

deploy:
needs: build
runs-on: ubuntu-latest
if: github.event_name != 'pull_request'
environment: production
steps:
- name: Download release artifact
uses: actions/download-artifact@v4
with:
name: reactpress-release
path: dist

- name: Resolve tarball name
id: tar
run: |
TAR="$(ls -1 dist/reactpress-release-*.tar.gz | tail -1)"
echo "path=$TAR" >> "$GITHUB_OUTPUT"
echo "name=$(basename "$TAR")" >> "$GITHUB_OUTPUT"

- name: Prepare upload directory
run: |
mkdir -p upload
cp "${{ steps.tar.outputs.path }}" "upload/${{ steps.tar.outputs.name }}"

- name: Copy release to ECS
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.ECS_HOST }}
username: ${{ secrets.ECS_USER }}
key: ${{ secrets.ECS_SSH_KEY }}
port: ${{ secrets.ECS_SSH_PORT || 22 }}
source: upload/${{ steps.tar.outputs.name }}
target: ${{ secrets.ECS_APP_DIR }}/dist/

- name: Deploy on ECS
uses: appleboy/ssh-action@v1.2.0
with:
host: ${{ secrets.ECS_HOST }}
username: ${{ secrets.ECS_USER }}
key: ${{ secrets.ECS_SSH_KEY }}
port: ${{ secrets.ECS_SSH_PORT || 22 }}
command_timeout: 30m
script: |
set -e
cd "${{ secrets.ECS_APP_DIR }}"
git fetch origin "${{ github.ref_name }}" --depth=1
git checkout "${{ github.sha }}"
export NGINX_ENTRY_URL="${{ secrets.NGINX_ENTRY_URL }}"
pnpm run deploy -- "dist/${{ steps.tar.outputs.name }}"
41 changes: 19 additions & 22 deletions .github/workflows/release-package.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,30 @@
name: Node.js Package
name: Release

on:
release:
types: [created]

jobs:
build:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm test
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4

publish-gpr:
needs: build
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:
node-version: 20
registry-url: https://npm.pkg.github.com/
- run: npm ci
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
node-version: 24
cache: pnpm

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Production build
run: pnpm run build

- name: Test
run: pnpm test

- name: Build publishable packages
run: pnpm run publish:build
32 changes: 29 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
# 官方主题模板(运行时副本在 .reactpress/runtime/,已由 .reactpress/ 忽略)
themes/*
!themes/hello-world/
!themes/theme-starter/
!themes/.gitkeep
!themes/README.md

node_modules
.DS_Store
.idea
.next
.next-preview
.cursor
.brand-export/

.env.prod
.reactpress/
Expand All @@ -14,16 +23,33 @@ node_modules
sitemap.xml

lib
!cli/lib
!cli/src/lib/
!themes/hello-world/**/lib/
!themes/theme-starter/**/lib/
cli/out/
dist
dist-ssr
coverage
logs
test-results
web/dist
web/playwright-report
web/.tanstack

# Electron desktop (desktop/)
desktop/out/
desktop/.cache/
desktop/release/
desktop/*.dmg
desktop/*.zip
desktop/*.exe
desktop/*.AppImage
desktop/*.blockmap
desktop/builder-debug.yml
desktop/builder-effective-config.yaml

.pnpm-store
tsconfig.tsbuildinfo
.pnpm-store



# Production (root output only; do not use bare `build` — toolkit/src/theme/build is source)
Expand Down
2 changes: 1 addition & 1 deletion .npmrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
strict-peer-dependencies=false
engine-strict = true
engine-strict = false
engine=node >=18.20.4
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
22
2 changes: 1 addition & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"singleQuote": true,
"quoteProps": "consistent",
"bracketSpacing": true,
"jsxBracketSameLine": false,
"bracketSameLine": false,
"arrowParens": "always",
"trailingComma": "es5",
"tabWidth": 2,
Expand Down
Loading
Loading