This is a work-in-progress PR for treating inputMap as an authoritative lockfile and resolution override.
There is some complexity in deconstructing it properly to distinguish custom maps from actual lock installs, but it seems like this approach may well work.
This should enable better mutation workflows with input maps including features like uninstalls and submaps.
In addition "imports" in the import map are now treated like "dependencies" in the package.json file in that they form pinned installs that are always maintained. Scopes are then always pruned to remove anything not otherwise accessible from the graph of "imports".
This is a work-in-progress PR for treating
inputMap
as an authoritative lockfile and resolution override.There is some complexity in deconstructing it properly to distinguish custom maps from actual lock installs, but it seems like this approach may well work.
This should enable better mutation workflows with input maps including features like uninstalls and submaps.
In addition
"imports"
in the import map are now treated like"dependencies"
in the package.json file in that they form pinned installs that are always maintained. Scopes are then always pruned to remove anything not otherwise accessible from the graph of"imports"
.generator.uninstall(name | name[])
(resolves https://github.com/jspm/generator/issues/131)generator.extractMap(name | name[])
(resovles https://github.com/jspm/generator/issues/132)