Skip to content

BigstoneDevelopment/DPM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


DPM Logo

   


What is DPM?

Datapack Package Manager (DPM) is a command line utility which manages datapack libraries/packages.

Installation

npm i -g @bigstonedevelopment/dpm

Usage

    User Commands

  • dpm install @user/repo - Install package
  • dpm uninstall @user/repo - Uninstall package
  • dpm dev - Build package with hotreload
  • dpm build - Build package
  • Package Developer Commands

  • dpm package - Create package

Datapack Config file (Package List)

For DPM to store metadata for building and which packages it needs, you need to create dpm.json in the same folder as /data.

{
  "name": "Folder Name",
  "licensePath": "./LICENSE.txt", /* This is put in /Folder Name/LICENSES.txt */

  "datapackPath": "./src",
  "buildPath": "./build",

  "load": [
    "namespace:load"
  ],
  "tick": [
    "namespace:tick"
  ],

  "dependencies": [ /* dpm install will automatically add packages to this */
    "@user/repo",
    "@user/repo/branch",
  ]
}

Package Developers

Config file

For DPM to reconise your repo as a package you need a dpm-package.json file at the root ( / ) of your repo.

{
  "name": "Example Package",
  "description": "A example DPM package for a README!",
  "author": "BigstoneDevelopment",
  "licensePath": "./LICENSE.txt",
  
  "supportedVersions": "10-27",

  "base": "./datapack",
  "overlays": {
    "<10": "./overlays/legacy",
    "10-15": "./overlays/1.16",
    "26": "./overlays/1.21",
    ">=27": "./overlays/future"
  },

  "load": [
    "namespace:load"
  ],
  "tick": [
    "namespace:tick"
  ]
}

Planned Features

  • Package Version Support (Branches and Releases)
  • Beet and Bolt Support
  • TUI for manging packages
  • Packages requiring other packages
  • Overlays from different branches

Contributors

All contributions are welcome and if you join our Discord you can get the contributor role!

(Back To Top)