Skip to content

Add Distribution Packaging Support #24

@zacariec

Description

@zacariec

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:

  1. Clean dist directory
  2. Compile TypeScript
  3. Bundle with Vite
  4. Generate type definitions
  5. Copy necessary files
  6. Create source maps
  7. Handle binary/CLI packaging
  8. Verify package contents
  9. Implement version management

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions