-
Notifications
You must be signed in to change notification settings - Fork 0
Description
name: Add Distribution Packaging Support
about: Implement build and packaging system for Framework distribution
title: 'Add Support for Distribution Packaging'
labels: 'feature'
assignees: ''
Issue Type
- Feature
- Bug
- Other
User Story
As a Framework maintainer
I want to package Framework into a distributable format
So that users can install it via npm and use it in their projects
Description
Create a build and packaging system that prepares Framework for distribution via npm. This includes proper bundling, TypeScript compilation, type definitions, and ensuring all necessary files and dependencies are correctly configured.
Acceptance Criteria
-
Given the project root
When running build command
Then all TypeScript files should be compiled to JavaScript -
Given the build process
When packaging
Then all necessary type definitions (d.ts) should be generated -
Given the package configuration
When defining dependencies
Then they should be properly categorized (dependencies, peerDependencies, devDependencies) -
Given the distribution package
When publishing
Then all necessary files should be included:
- Compiled JavaScript
- Type definitions
- package.json
- README.md
- LICENSE -
Given the package.json
When configuring for distribution
Then it should include:
- Correct entry points
- Exports map
- Types field
- Required files
- Package scope (@zacariec) -
Given the CLI commands
When building
Then proper source maps should be generated -
Given the package installation
When users install via npm
Then all Framework features should work as expected
Additional Information
- Priority: High
- Estimated Effort: 8 hours
- Dependencies: None
Technical Notes
Build system requirements:
- Configure TypeScript compiler options
- Set up bundling process
- Implement proper tree shaking
- Handle asset bundling
Build steps to consider:
- Clean dist directory
- Compile TypeScript
- Bundle with Vite
- Generate type definitions
- Copy necessary files
- Create source maps
- Handle binary/CLI packaging
- Verify package contents
- Implement version management