Skip to content

NPM distribution #561

Closed
Closed
@TheSpyder

Description

@TheSpyder

As a JavaScript developer, I'd like to use changie but it's not available as a peer of other JavaScript tooling through NPM. JavaScript projects generally only require npm to be installed on the system, everything else (even binary executables) are installed through NPM packages.

Transferred from #550

Where we've landed in the discussion is I will contribute some JS scripts and initial config. The bulk of this task is adding a step to release.yml that collects the archive binaries for distribution. To keep the size of the npm package down, I'm going to exclude the 386 builds and just ship the 6 major OS/Arch combinations:

  • dist/changie_darwin_arm64/changie
  • dist/changie_darwin_amd64_v1/changie
  • dist/changie_linux_arm64/changie
  • dist/changie_linux_amd64_v1/changie
  • dist/changie_windows_arm64/changie.exe
  • dist/changie_windows_amd64_v1/changie.exe

To achieve this, I need to do a few things.

  • create a script to parse dist/artifacts.json and collect the required binaries (the paths above cannot be relied on)
  • Execute this script after the Run GoReleaser step in the release github action
  • Add a package.json and include it to the list of replacements in .changie.yaml config
  • Use the NodeJS github action to publish changie

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