-
-
Notifications
You must be signed in to change notification settings - Fork 329
001-modern-stack-refactor #685
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
luthfi-hh
wants to merge
39
commits into
master
Choose a base branch
from
001-modern-stack-refactor
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+26,947
−41,965
Conversation
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
…ns, feature specifications, and task lists - Created agent-file-template.md for project development guidelines - Added checklist-template.md for feature-specific checklists - Introduced plan-template.md for structured implementation plans - Developed spec-template.md for detailed feature specifications - Established tasks-template.md for organizing implementation tasks by user story
…ils and new standards
…or modern stack refactor
…ture specification
… 3 component library - Created a detailed markdown document outlining the setup and usage of Vitest for testing Vue 3 components, specifically tailored for the vue-quill project. - Included sections on configuration, Vue Test Utils integration, testing props and emits, mocking external dependencies (Quill), coverage configuration, snapshot testing, and best practices. - Provided code examples for testing components, composables, and integration with Quill. - Established a recommended file structure for tests and included sample scripts for CI configuration.
- Introduced `useEditor` as the primary API for creating editors. - Enhanced examples to demonstrate event-driven callbacks and command chaining. - Updated content types and themes sections to reflect new composable-first architecture. - Improved reactive state properties and content methods for better UI integration. - Added a new section on TipTap API patterns in the research documentation.
…ign with TipTap API
…nd configurations - Add pnpm workspace configuration in `pnpm-workspace.yaml` - Remove legacy Rollup configuration file `rollup.config.js` - Update tasks in `specs/001-modern-stack-refactor/tasks.md` to reflect completed migration tasks - Update TypeScript configuration in `tsconfig.json` for stricter checks and modern features
…ion examples - Introduced ProgrammaticAccess.vue demonstrating Quill instance access and editor API usage. - Added ReadOnly.vue to showcase editable and read-only states with dynamic placeholders. - Created ThemeToolbar.vue for theme options and custom toolbar configurations. - Updated Vite config to support Quill modules. - Marked tasks as complete for user stories related to editor features and events.
- Introduced `useEditor` composable and `EditorContent` component for a TipTap-inspired API. - Updated methods in the API documentation to reflect new structure and functionality. - Created migration guide for transitioning from v1.x to v2.0. - Enhanced usage examples in the documentation to demonstrate new patterns. - Updated package dependencies and configurations for Vue 3.5+ and Quill 2.x. - Added unit tests for `QuillEditor` and `useEditor` to ensure component integrity. - Refactored example application to utilize new API and improve user experience.
- Add turbo@^2.6.1 as a dev dependency in package.json - Update pnpm-lock.yaml with turbo package and platform-specific binaries - Include optional dependencies for darwin-64, darwin-arm64, linux-64, linux-arm64, windows-64, and windows-arm64 - Enable monorepo task orchestration and caching capabilities for improved build performance
- Add turbo.json configuration with task definitions for build, dev, test, type-check, and lint - Update package.json scripts to use Turbo CLI instead of pnpm --filter for all workspace tasks - Configure task dependencies and output caching to optimize build performance - Add .turbo directory to .gitignore to exclude Turbo cache artifacts - Update clean script to remove .turbo cache directory alongside dist and node_modules - Enables faster incremental builds and better task orchestration across monorepo packages
- Add 'apps' directory to workspace packages list - Enables monorepo structure to include application packages alongside libraries - Maintains consistent workspace organization with existing packages, demo, and docs directories
- Add new Vue 3 + TypeScript + Vite application in apps/vite-app directory - Configure TypeScript with separate tsconfig files for app and Node environments - Set up Vite build configuration with Vue plugin support - Create HelloWorld component demonstrating Vue 3 composition API with script setup - Add project README with setup and development instructions - Configure VSCode extensions recommendations for Vue development - Add .gitignore with standard Node.js and editor exclusions - Include public assets (Vite and Vue logos) and global styling - Set up npm scripts for dev, build, and preview commands - Integrate with monorepo workspace structure for unified dependency management
- Upgrade jiti from v1.21.7 to v2.6.1 across all packages - Add terser and yaml as peer dependencies for Vite configurations - Update @vitejs/plugin-vue to include new optional dependencies - Add change-case and fuse.js dependencies for VitePress - Add @jridgewell/source-map, buffer-from, and commander packages - Update pnpm lock file to reflect dependency resolution changes - Ensures consistent dependency versions across monorepo packages
- Move docs directory to apps/docs to align with monorepo structure - Reorganize documentation components, content, and configuration files - Update VitePress configuration and theme setup in new location - Consolidate all documentation assets and utilities under apps directory - Remove legacy package-lock.json from old docs location - Standardize project layout for improved monorepo organization and consistency
- Remove standalone demo directory and migrate to examples/vite-app - Delete duplicate demo application files (.gitignore, README.md, package.json, etc.) - Remove demo source files (App.vue, examples components, main.ts, configuration files) - Consolidate example applications under unified examples directory structure - Update pnpm-lock.yaml to reflect removal of demo package dependencies - Streamline monorepo by eliminating redundant demo setup in favor of centralized examples
…Vite plugin - Convert TextReplacer.vue to TypeScript with improved type safety and ref management - Migrate tailwind.config.js to tailwind.config.ts for type-safe configuration - Integrate Tailwind CSS as Vite plugin instead of PostCSS for better build performance - Update VitePress config to use new Algolia search provider format - Refactor VitePress theme components with improved code formatting and consistency - Remove PostCSS configuration file as Tailwind is now handled by Vite plugin - Update utility functions (github-api.ts, load-scripts.ts, regex.ts) with TypeScript improvements - Update package.json dependencies and pnpm-lock.yaml for new Tailwind Vite integration - Modernize component script setup syntax and improve reactive state management
- Add .vitepress to gitignore to exclude VitePress build artifacts - Prevents accidental commit of generated documentation build files - Aligns with existing build output exclusions (.nuxt, .turbo)
…ormatter2 - Replace quill-blot-formatter dependency with @enzedonline/quill-blot-formatter2 - Update package version from ^1.0.5 to ^3.0.3 - Use maintained fork with enhanced functionality and bug fixes
- Delete package-lock.json from size-check package - Align with pnpm workspace monorepo structure that uses pnpm-lock.yaml - Eliminate npm lockfile to maintain consistency across workspace packages
- Generate pnpm-lock.yaml with all workspace dependencies resolved - Lock versions for root devDependencies (TypeScript, ESLint, Prettier, Turbo) - Lock versions for apps/docs dependencies (VitePress, Tailwind CSS, Vue Quill) - Lock versions for apps/nuxt-app dependencies (Nuxt 4, Vue Router, Nuxt modules) - Lock versions for apps/vite-app dependencies (Vite, Vue 3, TypeScript tooling) - Lock versions for packages/vue-quill dependencies (Quill, Vitest, Vite plugins) - Lock versions for packages/size-check dependencies - Ensure consistent dependency resolution across all monorepo workspaces
- Update @vueup/vue-quill dependency to use workspace:* protocol - Enable local monorepo package resolution for vue-quill - Align with monorepo dependency management strategy
- Add history management methods: undo(), redo(), clearHistory() - Add formatting methods: format(), formatText(), getFormat(), removeFormat() - Add embed insertion methods: insertEmbed(), insertImage(), insertVideo() - Add selection and scroll methods: getBounds(), scrollSelectionIntoView(), hasFocus(), update() - Add content manipulation methods: insertText(), deleteText(), updateContents() - Add extension method: getModule() to access Quill modules - Add event subscription method: once() for one-time event listeners - Improve API completeness and chainability for editor operations - Enhance developer experience with comprehensive method documentation
- Add fast-diff and parchment as explicit dependencies for Quill 2.0 compatibility - Introduce DeltaLike interface and ContentValue type to simplify component prop types and avoid complex type inference issues - Consolidate multiple Quill CSS imports into single unified import in docs theme - Update package.json exports to use consolidated vue-quill.css path - Enhance _parseContent method with isDelta utility check for better Delta object detection - Add type guards and improve type casting for string and Delta content handling - Refactor QuillEditor component to use new simplified types for better type safety - Update tsconfig.json to exclude Vue files from type checking and adjust error truncation settings - Simplify Vite config logging level from 'warn' to 'silent' for cleaner build output - Update pnpm-lock.yaml with new dependencies and workspace protocol reference
…ability - Change v-model binding from `v-model:content` to standard `v-model` for consistency - Replace manual prop filtering with `withDefaults` for cleaner prop definitions - Consolidate editor options object construction into single VueQuillOptions assignment - Simplify emit definitions by removing redundant JSDoc comments - Refactor lifecycle callbacks into inline arrow functions for better readability - Improve computed class logic using negation operator (!props.editable) - Extract editor initialization and destruction into reusable functions - Simplify getContent switch statement with concise return statements - Add editor cleanup (innerHTML reset) in destroyEditor for proper cleanup - Update component documentation to reflect Vue 3 wrapper purpose - Reduce code verbosity while maintaining full functionality and type safety
- Update @types/node from ^22.10.1 to ^24.10.1 in apps/docs and packages/vue-quill - Update dotenv from ^16.4.5 to ^17.2.3 in apps/docs - Update eslint-plugin-vue from ^9.32.0 to ^10.6.2 in root package.json - Update turbo from ^2.6.1 to ^2.6.2 in root package.json - Update @vitejs/plugin-vue from ^5.2.1 to ^6.0.2 in packages/vue-quill - Update @vitest/coverage-v8 from ^2.1.8 to ^4.0.15 in packages/vue-quill - Update jsdom from ^25.0.1 to ^27.2.0 in packages/vue-quill - Update vite from ^6.0.3 to ^7.2.6 in packages/vue-quill - Update vitest from ^2.1.8 to ^4.0.15 in packages/vue-quill - Update vue-tsc from ^2.1.10 to ^3.1.5 in packages/vue-quill - Update pnpm-lock.yaml with resolved dependency versions
…structure with new content component and tests.
…lity - Introduced `DemoCodeBlock.vue` for displaying and copying code snippets. - Enhanced `DemoEditor.vue` to include theme and toolbar options, preset selection, and output display. - Created `DemoOutputPanel.vue` for displaying editor output in different formats (Delta, HTML, Text). - Added `DemoPresets.vue` for selecting predefined editor content templates. - Implemented `DemoTabs.vue` for switching between different views in the editor. - Established a new `presets.ts` file to manage editor content presets. - Updated `Editor.ts` in the VueQuill package to improve content setting and event handling. - Refined `QuillEditor.vue` to optimize content comparison and update logic.
… handling and update mechanism
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.
No description provided.