-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP convert to monorepos #324
base: release
Are you sure you want to change the base?
Conversation
3c29938
to
8f9ab21
Compare
react router 是一个仓库管理多个包 https://github.com/ReactTraining/react-router |
@Brooooooklyn 谢谢!正在学 lerna,我参考参考这个项目看 :) |
ef47eeb
to
99fedbf
Compare
eb37495
to
83dd945
Compare
关于生成 coverage,.nycrc.json 文件里 include 字段的 |
主要包为: - teambition-sdk-core:包含较基础的代码 - teambition-sdk-request:包含接口代码,期待能够更快地相应应用需求,独 立更新 将使用 lift 的接口也包含在 fetches 包内 ...并将相关 helper 函数和类型定义移到 fetches 包内。 save sdk-request: 添加扩充 SDK 和 SDKFetch 对象的机制 sdk-request: 令现有测试跑起来 初步实现在跟目录上跑全局测试的脚本 ...待完成:完善 teambition-sdk-request 的测试。 基本完成 teambition-sdk-request 相关测试,同时令mock成为packaege之一 基本完成对测试的分离和整理,并令 fixture 成为一个私有包 修复 core 和 reuqest 包的 watch 脚本,这两个包都可以执行 yarn watch 避免 watch 生成的 background process 在退出测试后继续跑 ...相关命令: `npm run watch_test & ts-node ../../tools/tasks/test.ts $!` 即:令 watch_test 作为 background process 跑,及时将 test 目录下的代码 更新编译到 spec-js 目录,同时有 test.ts 的 nodejs 进程作为 foreground process 在跑,及时在最新的 spec-js 目录上运行测试代码。当用户输入 Ctrl+C,即:SIGINT 信号,作为 foreground process 跑的 test.ts 会被终结。 而作为 background process 跑的 watch_test 通过 process.kill($!) 也终结 掉。注:$! 符号记录最近创建的 background process 的 pid。 修复跑全局测试的脚本,在根目录跑 yarn test,会跑所有测试 ...包括每个 package 内的测试,以及根目录下 test/ 里的测试。 调整个别测试 修复 circle.yml,“修复” coverage,修复 .travis.yml 将顶层 test 里包含的 asyncLoadRDB 测试下移至 teambition-sdk-request 内 ...简化项目结构 将 fixture 和 mock 放置到 teambition-sdk-testutil 包内 ...简化项目结构。 修复 lint,并在代码中做相应调整,消除 lint 报错:no-shadowed-variables
note to myself: BTW, Yarn just released 1.0 👏 |
use axios instead of |
@Brooooooklyn 谢谢!我看看。 |
createRequest<T> (options: AxiosRequestConfig): Observable<T> {
return Observable.create((observer: Observer<T>) => {
const source = axios.CancelToken.source()
axios.request({ ...this.defaultOptions, cancelToken: source.token, ...options })
.then(response => {
const { status } = response
if (status >= 200 && response.status < 400) {
let resp: T
try {
resp = JSON.parse(response.data)
} catch (e) {
resp = response.data
}
observer.next(resp)
observer.complete()
}
observer.error(response)
})
.catch(e => {
observer.error(e)
})
return () => source.cancel(cancelText)
})
} |
我觉得不要, axios一进来又增加bundle size.... 而且相比 Observable.ajax 也没看出什么很明显的优势,如果我们没有 Http 这个类,那我觉得直接用 axios 做 http client会不错。 |
引入 axios 就会去掉 Observable.ajax,bundle size 并不会增大多少(Observable.ajax 很大,而 axios minify 之后才 12k 不到) |
@Brooooooklyn really? wtf |
refs:
|
why closed? |
@bjminhuang 暂时关掉了,等 ts3.0 出来的时候我再看看可行性吧 |
ts3.0 'project references' out! And more details: here and here. Use yarn workspace with project references: example. |
@chuan6 awesome |
No description provided.