ahkpm.json & ahkpm.lock
ahkpm uses two files to keep track of the packages you use, ahkpm.json for specifying your direct dependencies, and ahkpm.lock to ensure that you always get the same versions you expect.
On this page
ahkpm.json
This file is where the user of ahkpm declares their dependencies and other package data.
{
"version": "0.0.1",
"description": "A brief description of what the package does",
// URL for the package's git repository
"repository": "github.com/user/my-project",
// URL for the package's main website
"website": "example.com",
// The SPDX License identifier for the package's software license
"license": "MIT",
// URL for users to file bugs/issues for the package
"issueTracker": "github.com/user/my-project/issues",
// Information about the primary author of the package
"author": {
"name": "joshuacc",
"email": "",
"website": "joshuaclanton.dev"
},
// Lists all dependencies along with the required version
"dependencies": {
"github.com/user/repo1": "1.0.0",
"github.com/user/repo2": "tag:beta2",
"github.com/user/repo3": "branch:main",
"github.com/user/repo4": "commit:badcce14f8e828cda4d8ac404a12448700de1441"
}
}
ahkpm.lock
This file is automatically generated by ahkpm and should not be edited.
{
"lockfileVersion": 1,
// This should exactly match ahkpm.json unless ahkpm.json has been manually edited
"dependencies": {
"github.com/joshuacc/mock-ahkpm-package-a": "branch:main",
},
"resolved": [
{
"name": "github.com/joshuacc/mock-ahkpm-package-a",
"version": "branch:main",
"sha": "c5b8f8d0d0d1e5c9a5f7f8b8b5c9a5f7f8b8b5c9a",
"installPath": "ahkpm-modules/github.com/joshuacc/mock-ahkpm-package-a",
"dependencies": {
"github.com/joshuacc/mock-ahkpm-package-b": "^1.0.0"
}
},
{
"name": "github.com/joshuacc/mock-ahkpm-package-b",
"version": "1.0.2",
"installPath": "ahkpm-modules/github.com/joshuacc/mock-ahkpm-package-a/ahkpm-modules/github.com/joshuacc/mock-ahkpm-package-b",
"sha": "c5b8f8d0d0d1e5c9a5f7f8b8b5c9a5f7f8b8b5c9a",
"dependencies": {}
}
]
}