Skip to content

Commit

Permalink
Adding nodejs package alias mapping
Browse files Browse the repository at this point in the history
  • Loading branch information
blast-hardcheese committed Aug 2, 2024
1 parent 5af79fa commit 6279bb3
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 4 deletions.
4 changes: 4 additions & 0 deletions internal/backends/nodejs/grab.go
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,10 @@ func filterImports(ctx context.Context, foundPaths map[string]bool) map[string][
}
}

if pkg, ok := moduleToNpmjsPackageAliases[mod]; ok {
mod = pkg
}

pkgs[mod] = []api.PkgName{api.PkgName(mod)}
}

Expand Down
32 changes: 28 additions & 4 deletions internal/backends/nodejs/nodejs.go
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,13 @@ var NodejsYarnBackend = api.LanguageBackend{
}
cmd := []string{"yarn", "add"}
for name, spec := range pkgs {
arg := string(name)
name := string(name)
if found, ok := moduleToYarnpkgPackageAliases[name]; ok {
delete(pkgs, api.PkgName(name))
name = found
pkgs[api.PkgName(name)] = api.PkgSpec(spec)
}
arg := name
if spec != "" {
arg += "@" + string(spec)
}
Expand Down Expand Up @@ -493,7 +499,13 @@ var NodejsPNPMBackend = api.LanguageBackend{
}
cmd := []string{"pnpm", "add"}
for name, spec := range pkgs {
arg := string(name)
name := string(name)
if found, ok := moduleToNpmjsPackageAliases[name]; ok {
delete(pkgs, api.PkgName(name))
name = found
pkgs[api.PkgName(name)] = api.PkgSpec(spec)
}
arg := name
if spec != "" {
arg += "@" + string(spec)
}
Expand Down Expand Up @@ -587,7 +599,13 @@ var NodejsNPMBackend = api.LanguageBackend{
}
cmd := []string{"npm", "install"}
for name, spec := range pkgs {
arg := string(name)
name := string(name)
if found, ok := moduleToNpmjsPackageAliases[name]; ok {
delete(pkgs, api.PkgName(name))
name = found
pkgs[api.PkgName(name)] = api.PkgSpec(spec)
}
arg := name
if spec != "" {
arg += "@" + string(spec)
}
Expand Down Expand Up @@ -671,7 +689,13 @@ var BunBackend = api.LanguageBackend{
}
cmd := []string{"bun", "add"}
for name, spec := range pkgs {
arg := string(name)
name := string(name)
if found, ok := moduleToNpmjsPackageAliases[name]; ok {
delete(pkgs, api.PkgName(name))
name = found
pkgs[api.PkgName(name)] = api.PkgSpec(spec)
}
arg := name
if spec != "" {
arg += "@" + string(spec)
}
Expand Down
14 changes: 14 additions & 0 deletions internal/backends/nodejs/nodejs.override.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package nodejs

/* Proxy packages
*
* These are packages that provide helpful aliases, but otherwise provide no functionality.
* We should prefer the real version.
*/
var moduleToNpmjsPackageAliases = map[string]string{
"tsc": "typescript",
}

var moduleToYarnpkgPackageAliases = map[string]string{
"tsc": "typescript",
}

0 comments on commit 6279bb3

Please sign in to comment.