ErrorsExternal services · rule
package.licence_not_allowed
An installed package says its licence is proprietary, but it wasn't installed from a git repository.
Area 11, External services; not declinable; the next step is usually the human's.
Why Jadpo refuses it
A proprietary package is private code that only its owner may use, such as your company's own package. Private packages come from git, with your own access to the repository. A package from anywhere else, such as a folder, is one others may use, so it carries an open licence.
Jadpo won't choose for you whether the package is private or open, or where it should come from. That decides who may use the code, and only its owner can say.
What it looks like
Postcodes.v2 says it is proprietary, and the lock shows it was installed
from a folder, path ../postcodes.
packages/postcodes/v2/package.jadpo:
/// UK postcodes.package Postcodes.v2 { licence: Licence.proprietary jadpo: "1.0"}
jadpo.lock:
// Generated by Jadpo from the installed packages; update it with `jadpo package add`, `update` or `remove`, never by hand.record lock 1package Postcodes.v2 version 2.1.0 path ../postcodes digest sha256:3fcf79f4803b01a5f2f4a9ff6550c4ee20fe3a4e93e608faa0c447eabf6a3191
error Package Postcodes.v2 is proprietary but wasn't installed from git
--> packages/postcodes/v2/package.jadpo:3:5
|3 | licence: Licence.proprietary | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ proprietary
- reason
- Only a package installed from git, a company's private package, may be
Licence.proprietary; the registry and other sources carry packages others may use. - next
- Install the package from its git repository, or publish it under one of the open licences (human)
- rule
- package.
licence_ not_ allowed - help
- https://jadpo.
dev/docs/errors/package. licence_ not_ allowed
(human) at the end of the next: line tells your coding agent to stop
and ask you which fix you want, because the choice is yours to make: it
decides whether Postcodes is private code or open for others to use.
How to fix it
The question is whose code Postcodes is, and who may use it.
If it is your company's private package, install it from its git repository at a release tag instead of from the folder:
jadpo package remove postcodesjadpo package add github.com/acme/postcodes@v2.1.0
The lock records the repository, the tag and its commit. A package from git needs a person's acceptance in the change that installs it.
If it should be open, change its licence to an open one in the package's own source, then install it again. The index becomes:
licence: Licence.mitAnyone may now use the package under the MIT licence, and installing it from a folder is allowed.
If it is your app's own code, move it to
shared/providers/postcodes/v2/, where the app's own integrations live,
and remove the installed copy with jadpo package remove postcodes. The
app's own code may be proprietary. shared/providers/postcodes/v2/package.jadpo:
/// UK postcodes.package Postcodes.v2 { licence: Licence.proprietary jadpo: "1.0"}
Postcodes.v2 is now part of your app, which may change it, and the lock
no longer lists it.
Related
Markdown for agents: /docs/errors/package.licence_not_allowed.md.Built from Jadpo main at aee2e8f.