Skip to content

Commit

Permalink
fix bug: sometimes package.json just doesnt have _id field ( such as …
Browse files Browse the repository at this point in the history
…modules with npm link ). in this case, we use name + version to mimic one.
  • Loading branch information
zbryikt committed Nov 10, 2020
1 parent 742a2a6 commit 9cdceaa
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 7 deletions.
7 changes: 4 additions & 3 deletions cli.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,17 @@ fed = import$({
modules: []
}, JSON.parse(fs.readFileSync("package.json").toString()).frontendDependencies || {});
(fed.modules || []).map(function(obj){
var root, info, ref$, i$, name, version, desdir, maindir, b, srcdir;
var root, info, id, ref$, i$, name, version, desdir, maindir, b, srcdir;
obj = typeof obj === 'string' ? {
name: obj
} : obj;
root = path.join("node_modules", obj.name);
info = JSON.parse(fs.readFileSync(path.join(root, "package.json")).toString());
if (/\.\.|^\//.exec(info._id)) {
id = info._id || info.name + "@" + info.version;
if (/\.\.|^\//.exec(id)) {
throw new Error("fedep: not supported name in module " + obj.name + ".");
}
ref$ = info._id.split("@"), name = 0 < (i$ = ref$.length - 1) ? slice$.call(ref$, 0, i$) : (i$ = 0, []), version = ref$[i$];
ref$ = id.split("@"), name = 0 < (i$ = ref$.length - 1) ? slice$.call(ref$, 0, i$) : (i$ = 0, []), version = ref$[i$];
name = name.join('@');
desdir = path.join(fed.root, name, version);
maindir = path.join(fed.root, name, "main");
Expand Down
5 changes: 3 additions & 2 deletions lib/main.ls
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ fed = {root: '.', modules: []} <<< (JSON.parse(fs.read-file-sync "package.json"
obj = if typeof(obj) == \string => {name: obj} else obj
root = path.join("node_modules", obj.name)
info = JSON.parse(fs.read-file-sync path.join(root, "package.json") .toString!)
if /\.\.|^\//.exec(info._id) => throw new Error("fedep: not supported name in module #{obj.name}.")
[...name,version] = info._id.split("@")
id = info._id or "#{info.name}@#{info.version}"
if /\.\.|^\//.exec(id) => throw new Error("fedep: not supported name in module #{obj.name}.")
[...name,version] = id.split("@")
name = name.join \@
desdir = path.join(fed.root, name, version)
maindir = path.join(fed.root, name, "main")
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"name": "fedep",
"license": "MIT",
"description": "Frontend dependency installer",
"version": "0.0.4",
"version": "0.0.5",
"homepage": "https://github.com/plotdb/fedep",
"repository": {
"type": "git",
Expand Down

0 comments on commit 9cdceaa

Please sign in to comment.