Bump qs, body-parser and express - #16
Open
dependabot[bot] wants to merge 25 commits into
Open
Conversation
- Move blog.ejs from views/main/ to views/blog/ - Create views/blog/ directory for better organization - Update blog.js route to reference new template location 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Create new blog-edit.js router with full CRUD operations: - Draft management: save, publish, preview - Published post management: save, tweak, reveal, hide, delete - File system integration for manuscripts/blog/drafts/ - Database integration via publisher utilities - Safe file operations with rollback mechanisms - Dual-location post detection (drafts vs published) Features: - Live preview with iframe rendering - Auto-save for draft posts only - Keyboard shortcuts (Ctrl/Cmd+S) for drafts - State-aware UI with conditional buttons - Mobile-responsive editor with toggle views - Integration with existing publisher.js utilities 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Mount blog-edit router at /blog/edit endpoint - Update template path from views/main/blog to views/blog/blog - Add blogEditRouter import and middleware integration - Maintain existing blog functionality while adding editing capabilities 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Move bodyParser.urlencoded middleware before route definitions - Ensure POST request body parsing works for blog editing forms - Maintain existing puzzle route functionality 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Implement comprehensive state management for blog editor: - Monitor iframe preview for parsing errors via load events - Automatically disable publish button when preview shows errors - Add visual feedback (opacity, tooltip, cursor) for disabled state - Block publish attempts with clear error messaging - Handle cross-origin iframe access gracefully - Ensure robust content validation before publishing This prevents accidentally publishing posts with syntax errors or other markup issues that would break the public blog display. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Replace duplicate newline-ending logic across all save operations with a single ensureNewlineEnding() helper function: - Consolidates 5 instances of identical logic into one function - Improves maintainability and follows DRY principle - Reduces code duplication while preserving functionality - Ensures consistent behavior across all save operations - Applied to: manual save, tweak, publish, auto-save, keyboard save 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add grammars/new.txt with standard blog post structure - Includes @title, @subtitle, @author metadata fields - Provides starting content template for new posts 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Create views/blog/edit-new.ejs template for post creation - Simple form with post ID input and create/cancel buttons - Responsive design with consistent styling using CSS variables - Auto-formatting of post ID input (lowercase, hyphens) - Client-side validation and error handling - Matches existing site design patterns 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add GET /blog/edit/new route to display creation form - Add POST /blog/edit/new route to handle post creation - Validates post ID format (letters, numbers, hyphens, underscores) - Checks for existing drafts and published posts to prevent duplicates - Uses fs.copyFile to create new drafts from template - Comprehensive error handling with specific error messages - Integration with existing blog editing system 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add POST /blog/edit/:postID/rename endpoint with safe file renaming logic - Add rename button for draft mode posts in edit interface - Include client-side validation and confirmation dialogs - Redirect to renamed post ID after successful rename 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Extract all JavaScript handlers from edit-new.ejs and edit-post.ejs - Create public/js/editor.js with top-level functions that accept parameters - Update templates to use shared functions with EJS variables passed as arguments - Maintain all existing functionality while eliminating code duplication 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add DELETE endpoint for completely removing draft files at POST /blog/edit/:postId/draft/delete - Add "Delete Draft" button to edit interface (draft posts only) - Implement handleDeleteDraft() JavaScript handler with confirmation dialog - Include proper error handling and user feedback with redirect to edit index 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Bumps [qs](https://github.com/ljharb/qs) to 6.14.2 and updates ancestor dependencies [qs](https://github.com/ljharb/qs), [body-parser](https://github.com/expressjs/body-parser) and [express](https://github.com/expressjs/express). These dependencies need to be updated together. Updates `qs` from 6.13.0 to 6.14.2 - [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md) - [Commits](ljharb/qs@v6.13.0...v6.14.2) Updates `body-parser` from 1.20.3 to 1.20.4 - [Release notes](https://github.com/expressjs/body-parser/releases) - [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md) - [Commits](expressjs/body-parser@1.20.3...1.20.4) Updates `express` from 4.21.2 to 4.22.1 - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/v4.22.1/History.md) - [Commits](expressjs/express@4.21.2...v4.22.1) --- updated-dependencies: - dependency-name: qs dependency-version: 6.14.2 dependency-type: indirect - dependency-name: body-parser dependency-version: 1.20.4 dependency-type: direct:production - dependency-name: express dependency-version: 4.22.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps qs to 6.14.2 and updates ancestor dependencies qs, body-parser and express. These dependencies need to be updated together.
Updates
qsfrom 6.13.0 to 6.14.2Changelog
Sourced from qs's changelog.
... (truncated)
Commits
bdcf0c7v6.14.2294db90[readme] document thataddQueryPrefixdoes not add?to empty output5c308e5[readme] clarifyparseArraysandarrayLimitdocumentation6addf8c[Fix]parse: mark overflow objects for indexed notation exceedingarrayLimitcfc108f[Fix]arrayLimitmeans max count, not max index, incombine/merge/`pars...febb644[Fix]parse: throw onarrayLimitexceeded with indexed notation when `thr...f6a7abf[Fix]parse: enforcearrayLimitoncomma-parsed valuesfbc5206[Fix]parse: fix error message to reflect arrayLimit as max index; remove e...1b9a8b4[actions] fix rebase workflow permissions2a35775[meta] fix changelog typo (arrayLength→arrayLimit)Updates
body-parserfrom 1.20.3 to 1.20.4Release notes
Sourced from body-parser's releases.
Changelog
Sourced from body-parser's changelog.
Commits
7db202c1.20.4 (#672)d8f8adbci: add CodeQL (SAST) (#670)6d133c1chore: remove SECURITY.md (#669)fcd1535deps: use tilde notation and update certain dependencies (#668)ec5fa29deps: qs@~6.14.0 (#664)ffb95c1ci: restore CI for 1.x branch (#665)48a5f07ci: add support for Node.js v23 (#553)f20f6adRemove redundant depth check (#538)Updates
expressfrom 4.21.2 to 4.22.1Release notes
Sourced from express's releases.
Changelog
Sourced from express's changelog.
Commits
12fae144.22.15ddf311Revert "sec: security patch for CVE-2024-51999"49744ab4.22.0 (#6921)6e97452sec: security patch for CVE-2024-519996a23d34deps: use tilde notation forqs(#6919)8c12cdfdeps: qs@6.14.0 (#6909)7fea74fdeps: use tilde notation for certain dependencies (#6905)dac7a04chore: wider range for query test skip (#6513)997919bci: add node.js 24 to test matrix (#6506)36fb59cfix(ci): reordernpm isteps to fix ci for older node versions (#6336)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)You can disable automated security fix PRs for this repo from the Security Alerts page.