From 60b1688280e93b8b1f726e0fc301735ea605aee8 Mon Sep 17 00:00:00 2001 From: Ma'sum Date: Fri, 11 Sep 2026 08:14:14 +0700 Subject: [PATCH 1/3] chore: bump version to 0.2.4, standardize defineConfig imports, and update documentation URLs --- apps/docs/src/content/docs/tscheck/changelog.mdx | 10 ++++++++++ packages/tscheck/CHANGELOG.md | 10 ++++++++++ packages/tscheck/package.json | 2 +- tscheck.config.ts | 2 +- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/apps/docs/src/content/docs/tscheck/changelog.mdx b/apps/docs/src/content/docs/tscheck/changelog.mdx index 9422e97..cf26c28 100644 --- a/apps/docs/src/content/docs/tscheck/changelog.mdx +++ b/apps/docs/src/content/docs/tscheck/changelog.mdx @@ -6,6 +6,16 @@ sidebar: description: Release history and version notes for @masumdev/tscheck. --- +### v0.2.4 + +#### Improvements & Fixes +- **Documentation & Homepage URLs**: + - Updated monorepo documentation links and repository homepage metadata to the new production URL: `https://react-native-library-docs.vercel.app/`. +- **Monorepo Configuration & Import Resolving**: + - Standardized `defineConfig` import resolution for TypeScript project configurations (`tscheck.config.ts`). + +--- + ### v0.2.3 #### Bug Fixes & Improvements diff --git a/packages/tscheck/CHANGELOG.md b/packages/tscheck/CHANGELOG.md index 3f4211d..bba4a0d 100644 --- a/packages/tscheck/CHANGELOG.md +++ b/packages/tscheck/CHANGELOG.md @@ -5,6 +5,16 @@ All notable changes to `@masumdev/tscheck` will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.2.4] - 2026-09-11 + +### Fixed +- **Documentation & Homepage URLs**: + - Updated all monorepo documentation portal URLs and repository links to the new production domain: `https://react-native-library-docs.vercel.app/`. +- **Monorepo Configuration & Import Resolving**: + - Standardized `defineConfig` import resolution for TypeScript project configurations. + +--- + ## [0.2.3] - 2026-09-11 ### Fixed diff --git a/packages/tscheck/package.json b/packages/tscheck/package.json index 61d8dcf..396f9d8 100644 --- a/packages/tscheck/package.json +++ b/packages/tscheck/package.json @@ -1,6 +1,6 @@ { "name": "@masumdev/tscheck", - "version": "0.2.3", + "version": "0.2.4", "description": "Modern, high-performance TypeScript AST code audit CLI and engine with beautiful Ink terminal UI and type-safe config.", "main": "./dist/index.js", "module": "./dist/index.mjs", diff --git a/tscheck.config.ts b/tscheck.config.ts index 0e1dc68..0cd096a 100644 --- a/tscheck.config.ts +++ b/tscheck.config.ts @@ -1,4 +1,4 @@ -import { defineConfig } from "./packages/tscheck/src/index.js"; +import { defineConfig } from "@masumdev/tscheck"; export default defineConfig({ rootDir: process.cwd(), From 204f5ce5019baa89ebb3be7c6a1d06fdec47dc67 Mon Sep 17 00:00:00 2001 From: Ma'sum Date: Fri, 11 Sep 2026 08:20:34 +0700 Subject: [PATCH 2/3] fix: suppress Node.js v22+ ESM typeless package warnings and set root module type --- apps/docs/src/content/docs/tscheck/changelog.mdx | 8 ++++++++ package.json | 1 + packages/tscheck/CHANGELOG.md | 8 ++++++++ packages/tscheck/package.json | 2 +- packages/tscheck/src/cli.tsx | 11 +++++++++++ 5 files changed, 29 insertions(+), 1 deletion(-) diff --git a/apps/docs/src/content/docs/tscheck/changelog.mdx b/apps/docs/src/content/docs/tscheck/changelog.mdx index cf26c28..e604d69 100644 --- a/apps/docs/src/content/docs/tscheck/changelog.mdx +++ b/apps/docs/src/content/docs/tscheck/changelog.mdx @@ -6,6 +6,14 @@ sidebar: description: Release history and version notes for @masumdev/tscheck. --- +### v0.2.5 + +#### Bug Fixes & Clean Terminal Output +- **Node.js Typeless ESM Warning Suppression**: + - Filtered out Node.js v22+ `MODULE_TYPELESS_PACKAGE_JSON` warning during dynamic configuration module loading, ensuring a completely clean terminal experience across all project environments. + +--- + ### v0.2.4 #### Improvements & Fixes diff --git a/package.json b/package.json index 36ccfdb..8eb44fb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "react-native-library", "private": true, + "type": "module", "scripts": { "dev": "turbo run dev", "dev:native": "turbo dev --filter='@masumdev/*' --filter=native", diff --git a/packages/tscheck/CHANGELOG.md b/packages/tscheck/CHANGELOG.md index bba4a0d..bfe5a9f 100644 --- a/packages/tscheck/CHANGELOG.md +++ b/packages/tscheck/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to `@masumdev/tscheck` will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.2.5] - 2026-09-11 + +### Fixed +- **Node.js ESM Typeless Package Warning Suppression**: + - Filtered out Node.js v22+ `MODULE_TYPELESS_PACKAGE_JSON` warning during dynamic configuration module loading, ensuring a completely clean terminal experience across all project environments. + +--- + ## [0.2.4] - 2026-09-11 ### Fixed diff --git a/packages/tscheck/package.json b/packages/tscheck/package.json index 396f9d8..ec95990 100644 --- a/packages/tscheck/package.json +++ b/packages/tscheck/package.json @@ -1,6 +1,6 @@ { "name": "@masumdev/tscheck", - "version": "0.2.4", + "version": "0.2.5", "description": "Modern, high-performance TypeScript AST code audit CLI and engine with beautiful Ink terminal UI and type-safe config.", "main": "./dist/index.js", "module": "./dist/index.mjs", diff --git a/packages/tscheck/src/cli.tsx b/packages/tscheck/src/cli.tsx index f3143c8..b745614 100644 --- a/packages/tscheck/src/cli.tsx +++ b/packages/tscheck/src/cli.tsx @@ -10,6 +10,17 @@ import { generateAiPrompt } from "./core/aiPrompt.js"; import { startReportServer, openInBrowser } from "./core/server.js"; import { getTscheckVersion } from "./version.js"; +// Suppress Node.js v22+ typeless package.json ESM warning during dynamic config import +process.on("warning", (warning: Error & { code?: string }) => { + if ( + warning.name === "MODULE_TYPELESS_PACKAGE_JSON" || + warning.code === "MODULE_TYPELESS_PACKAGE_JSON" + ) { + return; + } + console.warn(warning); +}); + const VERSION = getTscheckVersion(); const program = new Command(); From fa6677fb4d82ea64b821cbf1c6a98f361d9ee3bd Mon Sep 17 00:00:00 2001 From: Ma'sum Date: Fri, 11 Sep 2026 08:38:03 +0700 Subject: [PATCH 3/3] fix: resolve PDF back cover page overflow and truncation by standardizing CSS height and removing trailing page deletion logic --- .../docs/src/content/docs/markforge/changelog.mdx | 11 +++++++++++ packages/markforge/CHANGELOG.md | 7 +++++++ packages/markforge/package.json | 2 +- packages/markforge/src/core/html/htmlBuilder.ts | 6 +++--- packages/markforge/src/core/pdf/pdfBuilder.ts | 15 +++++++-------- .../markforge/test/enterpriseFeatures.test.ts | 3 +++ 6 files changed, 32 insertions(+), 12 deletions(-) diff --git a/apps/docs/src/content/docs/markforge/changelog.mdx b/apps/docs/src/content/docs/markforge/changelog.mdx index 9561ae0..21a35e2 100644 --- a/apps/docs/src/content/docs/markforge/changelog.mdx +++ b/apps/docs/src/content/docs/markforge/changelog.mdx @@ -6,6 +6,17 @@ sidebar: description: Release history and version notes for @masumdev/markforge. --- +## [0.5.1] - 2026-09-11 + +### Cross-Platform PDF Back Cover Preservation + +- **CSS Height Standardizing**: + - Adjusted `.markforge-back-cover` print media CSS height to `calc(100vh - 2px)` with `overflow: hidden;` and `page-break-after: avoid; break-after: avoid;`, eliminating subpixel page overflow across Windows (DirectWrite / Edge / Chrome) and Linux (FreeType). +- **Eliminated Blind Page Truncation**: + - Removed trailing page deletion (`pdfDoc.removePage`) in the PDF builder pipeline that previously led to the back cover closing card being inadvertently deleted on Windows multi-page documents. + +--- + ## [0.5.0] - 2026-09-03 ### Plain Text (.txt) Document Publishing Engine diff --git a/packages/markforge/CHANGELOG.md b/packages/markforge/CHANGELOG.md index 10e72ca..9dd5da1 100644 --- a/packages/markforge/CHANGELOG.md +++ b/packages/markforge/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to **@masumdev/markforge** will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.5.1] - 2026-09-11 + +### Fixed +- **Cross-Platform PDF Back Cover Preservation**: + - Standardized `.markforge-back-cover` print media CSS height to `calc(100vh - 2px)` with `overflow: hidden;` and explicit `page-break-after: avoid; break-after: avoid;`, eliminating subpixel page overflow across Windows (DirectWrite / Edge / Chrome) and Linux (FreeType). + - Removed blind trailing page truncation (`pdfDoc.removePage`) that previously caused the back cover page to be incorrectly deleted on Windows multi-page documents. + --- ## [0.5.0] - 2026-09-03 diff --git a/packages/markforge/package.json b/packages/markforge/package.json index 528465b..c74a9c4 100644 --- a/packages/markforge/package.json +++ b/packages/markforge/package.json @@ -1,6 +1,6 @@ { "name": "@masumdev/markforge", - "version": "0.5.0", + "version": "0.5.1", "description": "Modern, high-performance Markdown & MDX multi-format document publishing engine and CLI (DOCX, PDF, HTML, and Images) with embedded HTML/CSS, image inliner, and Ink terminal UI.", "main": "./dist/index.js", "module": "./dist/index.mjs", diff --git a/packages/markforge/src/core/html/htmlBuilder.ts b/packages/markforge/src/core/html/htmlBuilder.ts index 8db5ee1..630f4e5 100644 --- a/packages/markforge/src/core/html/htmlBuilder.ts +++ b/packages/markforge/src/core/html/htmlBuilder.ts @@ -522,9 +522,9 @@ export async function renderBackCoverHtml( break-before: page; page-break-after: avoid; break-after: avoid; - min-height: 100vh; - height: 100vh; - max-height: 100vh; + min-height: calc(100vh - 2px); + height: calc(100vh - 2px); + max-height: calc(100vh - 2px); margin: 0; box-sizing: border-box; overflow: hidden; diff --git a/packages/markforge/src/core/pdf/pdfBuilder.ts b/packages/markforge/src/core/pdf/pdfBuilder.ts index 8125ca6..aac77d0 100644 --- a/packages/markforge/src/core/pdf/pdfBuilder.ts +++ b/packages/markforge/src/core/pdf/pdfBuilder.ts @@ -309,11 +309,16 @@ export function injectPagedMediaStyles( } .markforge-back-cover { page: back-cover-page; - min-height: 100vh; - height: 100vh; + min-height: calc(100vh - 2px); + height: calc(100vh - 2px); + max-height: calc(100vh - 2px); + margin: 0; box-sizing: border-box; + overflow: hidden; break-before: page; + page-break-before: always; break-after: avoid; + page-break-after: avoid; }` : ""; @@ -511,12 +516,6 @@ export async function buildPdfDocument( - // When backCover is enabled, Chromium headless print generates a trailing overflow page after the 100vh back cover section. - // Remove this trailing blank page so the back cover is the true final page. - if (resolved.backCover?.enabled && pdfDoc.getPageCount() > 2) { - pdfDoc.removePage(pdfDoc.getPageCount() - 1); - } - if (resolved.watermark) { const wmPng = generateWatermarkPngBuffer(chromePath, resolved.watermark); if (wmPng) { diff --git a/packages/markforge/test/enterpriseFeatures.test.ts b/packages/markforge/test/enterpriseFeatures.test.ts index d43a798..0be9ec5 100644 --- a/packages/markforge/test/enterpriseFeatures.test.ts +++ b/packages/markforge/test/enterpriseFeatures.test.ts @@ -275,6 +275,9 @@ Body paragraph before closing page. const docxBuf = await buildDocxDocument(doc, {}); expect(docxBuf.length).toBeGreaterThan(1000); + + const pdfBuf = await buildPdfDocument(doc, {}); + expect(pdfBuf.length).toBeGreaterThan(500); }); it("Metadata Cascading Priority: Frontmatter vs Config File", () => {