Skip to content

Conversation

@daaaabeen
Copy link

ecomfe/edp#341
思路大概是这样的
把旧的包的依赖关系的存储方式,改为在package.json中只保存直接依赖的包
也就是说如果import er 而er会依赖eoo 等等,在package.json中只保存er的依赖关系 不保存eoo

在unimport时,首先找到所有的包,以及package.json中的直接依赖的包,这样可以构建一个依赖树,和一个所有包的引用计数表。

然后在移除时,从完整的依赖树中拿到要移除的包的依赖树,去遍历这棵树,每遍历到一个包,引用计数表中的这个包的引用计数减一,如果为0则删掉这个包。

移除包时只对直接依赖的包做确认,用户确认就移除。
就是说如果unimport er 会提示是否移除er 而不会提示是否移除eoo

命令:edp unimport pkg1 pkg2 --force
--force表示不用确认直接移除

整理了import package流程
ecomfe/edp#332

@daaaabeen daaaabeen changed the title 增加了unimport功能 修改了package.json中依赖关系的保存方式 修改import流程,增加unimport功能,修改package.json中依赖关系的保存方式 Jan 3, 2016
@leeight
Copy link
Member

leeight commented Jan 6, 2016

好像测试用例跑步过去?

cd test
make

import-from-file.spec.js会失败的

@daaaabeen
Copy link
Author

@leeight 我试了下 import-from-file.spec.js 这个可以通过 不过import-from-remote和improt-from-registry这两个过不了 查了下 是因为前几天 etpl从3.0.4 升到了 3.1.0

@leeight
Copy link
Member

leeight commented Jan 13, 2016

那我再看看

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants