* test(expression): add XSS vulnerability prevention tests for replacePlaceholders function
* Update packages/common/src/expression.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* test: group safe Object method tests into single test case
- Refactored individual tests for Object.keys, Object.values, Object.entries, and Object.assign
- Combined them into a single test case with multiple assertions for better organization
- Addresses code review feedback about test organization
Co-authored-by: Kyohei Fukuda <hand-dot@users.noreply.github.com>
* feat(security): implement safeAssign to prevent prototype pollution and enhance XSS protection
* fix(safeAssign): use object spread for safer target assignment
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Kyohei Fukuda <hand-dot@users.noreply.github.com>
- Change header height assignment to use dynamic height variable
- Improve code clarity by removing hardcoded values
This update enhances the flexibility of header height handling in the dynamicTemplate.ts file.
- Replace unsafe type casting with proper type narrowing
- Use fixed header height calculation instead of full table height
- Prevent duplicate header adjustments with Set tracking
Addresses GitHub bot feedback while maintaining repeatHead functionality.
Co-Authored-By: Kyohei Fukuda <kyoheif@wix.com>
* Ignore XML repomix output
* Extend UIOptions schema
* Enable init and update of pageCursor, sidebarOpen, and zoomLevel through options
* Rollback options-configurable pageCursor for now
* Remove onPageCursorChange mistakenly kept in useEffect dependencies
* Add UI options section to documentation for controlling zoom level and sidebar state
---------
Co-authored-by: hand-dot <kyouhei.fukuda0729@gmail.com>
* add pluginRepository and make plugin checking more robust
* Apply suggestions from code review
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* f
* f
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Fix lint errors across multiple packages
- Fixed TypeScript type safety issues in common, schemas, generator, and UI packages
- Replaced 'any' types with more specific types like Map<string | number, unknown>
- Added proper type assertions in UI components to ensure type compatibility
- Created BarcodeRenderOptions interface to improve type safety in barcode rendering
- Fixed unsafe member access and return value issues in helper functions
- Ensured type safety in React components with proper type narrowing
Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com>
* Fix type safety issues in tables/pdfRender.ts
Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com>
* Fix remaining lint errors in multiple packages
- Fixed type safety issues in DetailView/index.tsx by removing unsafe type assertions
- Improved type safety in select/index.ts with proper type assertions
- Enhanced type safety in generate.ts with proper type narrowing and error handling
Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com>
* Fix type error in DetailView/index.tsx
- Added type assertion to i18n function call to satisfy union type constraint
Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com>
* Enable problematic test in Playground E2E Tests
* TMP
* Fix TypeScript type compatibility issues across packages
- Update Map type definitions to use consistent Map<string | number, unknown> type
- Fix Plugin type definition to properly handle Schema types
- Update function signatures to maintain type compatibility
- Resolve type errors in UI components and context providers
- Ensure proper type handling in schema implementations
Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com>
* Refactor typedI18n function to use a type-safe key assertion for i18n
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com>
* Fix linting errors in packages/common directory
- Replace explicit 'any' types with more specific types like 'unknown'
- Fix unsafe function calls with proper type assertions
- Remove unnecessary type assertions
- Replace non-null assertions with nullish coalescing operators
- Fix redundant type constituents in union types
Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com>
* Fix type error in helper.ts getFontNamesInSchemas function
Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com>
* Fix type errors in schemas package and test files
Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com>
* Revert strict type changes to maintain backward compatibility
Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com>
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com>
* Refactor ESLint configuration: remove legacy .eslintrc.cjs files and replace with new .mjs configurations
* Remove unnecessary TypeScript ignore comments and simplify async calls in barcode tests
* Refactor date helper: remove TypeScript ignore comments and simplify AirDatepicker usage
* Enhance date helper: add AirDatepickerDate type and improve type annotations for onSelect callback
* Update TypeScript and ESLint configurations: change module to NodeNext, refine file patterns, and enhance lint command
* Refactor ESLint configuration: remove unnecessary language options for TypeScript files
* Remove fast-xml-parser dependency and update vite-tsconfig-paths to 5.1.4
* tmp
* Refactor test files and scripts to use ES modules; remove obsolete files
* Enhance tests with new PDF utilities and update Jest configuration for ESM support
* tmp
* chore: update TypeScript configuration to use ESNext module and resolution
* fix: update remaining imports with .js extensions and tsconfig files with nodenext
Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com>
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
* TMP
* TMP
* TMP
* Update README.md to provide library description and documentation link
* TMP
* TMP
* TMP
* TMP
* Update package dependencies by adding @pdfme/converter and removing pdfjs-dist
* Remove pdfjs-dist mock and update tests to reflect changes in dependencies
* minor fix and add document for website
* Add documentation for manipulator and optimizer, and organize converter in sidebar
* Refactor package dependencies by removing @pdfme/converter from peerDependencies and reinstating optionalDependencies for canvas in converter package
* reflect lang settings in date schemas
* Allow change locale of datepicker
* editable dateFormat
* change variable name to , user-friendly label
* Mionr fix
* Fix for merge
* Minor fix
---------
Co-authored-by: Kyohei Fukuda
* [630]: Bug fix on basePdf as array buffer
* Minor fix
* Fix handling of customPdf in getB64BasePdf to ensure proper conversion to Uint8Array
* TMP
* Fix test
---------
Co-authored-by: hand-dot <kyouhei.fukuda0729@gmail.com>
* Automatically replace PDFME_VERSION with the latest Git tag during the build process
* Set fetch-depth to 0 in GitHub Actions workflow for full history checkout
* Fix table layout bug
* Update snapshot
* Move cloneDeep to common
* Minor fix
* revert some test pdf
* add test
* Minor fix
* Minor fix
* Minor fix
* refactoring