0.22.20-4 • Published 11 months ago

pocketbase-bin v0.22.20-4

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

pocketbase-bin

pocketbase-bin is the main package that automatically selects and installs the correct PocketBase binary for your platform and architecture. It simplifies the process of setting up PocketBase in your environment by handling the complexities of cross-platform support.

Quickstart

To install pocketbase-bin, simply add it to your package.json or install it via npm, yarn, pnpm, or bun:

npm install pocketbase-bin
# or
yarn add pocketbase-bin
# or
pnpm add pocketbase-bin
# or
bun add pocketbase-bin --trust

Locking to a Specific PocketBase Version

If you want to lock to a specific PocketBase binary version while allowing updates to the proxy package, you can specify the version without the prerelease suffix:

npm install pocketbase-bin@^0.22.2
# or
yarn add pocketbase-bin@^0.22.2
# or
pnpm add pocketbase-bin@^0.22.2
# or
bun add pocketbase-bin@^0.22.2 --trust

This will lock the PocketBase binary to version 0.22.2, but still allow updates to the proxy package.

Overview

When you install pocketbase-bin, it detects your platform and architecture, then automatically installs the appropriate binary package. This approach ensures that you always get the correct binary for your system, with minimal effort required.

Features

  • Automatic Platform Detection: pocketbase-bin intelligently detects your system’s platform and architecture, ensuring that the correct binary is installed.
  • Seamless Integration: Works out of the box with most environments, providing a hassle-free setup process for PocketBase.
  • Version Management: Flexible versioning strategies allow you to control how updates to the PocketBase binary and proxy packages are handled.

Important Note for Bun Users

When using the Bun package manager, you need to run the install command with the --trust flag. This is because Bun blocks postinstall scripts unless the packages are explicitly trusted.

Example:

bun add pocketbase-bin --trust

Other Package Managers

As of now, most other package managers (like npm, yarn, and pnpm) do not require a similar flag, and postinstall scripts should run as expected. However, always ensure that you trust the packages you are installing, especially when using package managers that enforce stricter security protocols.

Versioning Strategy

Auto-Upgrading and Locking Versions

  • Auto-Upgrading Patch Updates: If you want your project to automatically upgrade to the latest patch version of the PocketBase binary within a specific minor version, use a version range like ^0.22.x-0 in your package.json. This will auto-upgrade to any new patch versions of PocketBase, as well as any updates to the proxy packages.

    Example:

    "dependencies": {
      "pocketbase-bin": "^0.22.x-0"
    }
  • Auto-Upgrading Proxy Package Updates: If you want to lock to a specific patch version of the PocketBase binary but allow updates to the proxy package, use a version range like ^0.22.2-0. This will keep the PocketBase binary version consistent while allowing proxy package updates.

    Example:

    "dependencies": {
      "pocketbase-bin": "^0.22.2-0"
    }
  • Locking to an Exact Version: To lock to an exact PocketBase binary version and prevent any updates, specify the complete semantic version like ^0.22.2-0. This ensures that both the PocketBase binary and proxy package remain fixed at the specified version.

    Example:

    "dependencies": {
      "pocketbase-bin": "^0.22.2-0"
    }

Patch Number Strategy (-1, -2, -3)

  • Incremental Patches: We use a patch-only versioning strategy where the patch number (-1, -2, -3, etc.) corresponds to updates made to the proxy package itself. This allows us to fix issues or improve the package without changing the PocketBase binary version.
  • No Major or Minor Version Increments: This package will never increment the major or minor version numbers. Instead, we will continuously increment the patch number for any updates, fixes, or improvements.

Related Packages

This package is maintained and generated by the pocketbase-bin-factory package, which handles the creation and publishing of the platform-specific binaries. For more information or to contribute to the process, please check out the pocketbase-bin-factory repository.

Platform Support

pocketbase-bin is designed to support a wide variety of platforms and architectures. If you encounter any issues or need support for additional platforms, please open an issue or submit a pull request.

Contributing

We welcome contributions from the community! PR's should be sent to https://github.com/benallfree/pocketbase-bin-factory.

0.22.20-4

11 months ago

0.22.20-3

11 months ago

0.22.19-3

11 months ago

0.21.2-2

11 months ago

0.21.3-2

11 months ago

0.22.0-2

11 months ago

0.22.1-2

11 months ago

0.22.2-2

11 months ago

0.22.3-2

11 months ago

0.22.4-2

11 months ago

0.22.5-2

11 months ago

0.22.6-2

11 months ago

0.22.7-2

11 months ago

0.22.8-2

11 months ago

0.22.9-2

11 months ago

0.22.10-2

11 months ago

0.22.11-2

11 months ago

0.22.12-2

11 months ago

0.22.13-2

11 months ago

0.22.14-rc-2

11 months ago

0.22.14-2

11 months ago

0.22.15-2

11 months ago

0.22.16-2

11 months ago

0.22.17-2

11 months ago

0.22.18-2

11 months ago

0.22.19-2

11 months ago

0.22.20-2

11 months ago

0.22.17-1

11 months ago

0.22.18-1

11 months ago

0.22.19-1

11 months ago

0.22.20-1

11 months ago