spmjs / spm

Brand new static package manager.
http://spmjs.io
Other
903 stars 180 forks source link

spm test && spm doc 执行时会将 global 配置应用到 test && example 文件 #1421

Closed jaredleechn closed 8 years ago

jaredleechn commented 8 years ago

如果 package.json 配置了 global 属性,在执行 test 和 doc 时,tests 和 example 文件夹下的文件内部 require 了和 global.key 相同的包,也会被替换成 global.value

var testOpts = extend(true, {}, webpackOpts, {
  devtool: '#source-map',
  output: {
    path: join(cwd, '_site/dist')
  },
  module: {
    postLoaders: argv.cov ? [{
      test: /\.js$/,
      exclude: /(test|tests|spm_modules|node_modules)\//,
      loader: 'istanbul-instrumenter'
    }] : []
  },
  resolveLoader: {
    modulesDirectories: ['node_modules', join(__dirname, '../node_modules')]
  },
  externals: {
    'sinon': 'sinon'
  }
});

这里的 testOpts 是 deep merge,所以原始 externals 会被保留到 testOpts,这个是 by design 吗?

@sorrycc @pigcan @ikobe

jaredleechn commented 8 years ago

@pigcan review 下 https://github.com/spmjs/spm/commit/c86451626254b090c8eeace2bcfc6f6ff9600df7 ,ok 的话先发个 beta 试试

soda-x commented 8 years ago

考虑了下: 如果要存 3.6.x 分支,那 3.6.x 如何看待:spm-webpack 0.8.x . 0.8.x 解决了很多 自定义用户的 bug, 另外 3.6.x 无法在 npm3 用 , 也没解决重复依赖问题. 如果按照这种思路可能会核心维护几条分支。 而 spm 已经决定不再维护.

spm 只核心保障 构建和调试.

doc 和 test 后续在 atool 都有新的方式.

具体查看 atool 文档 http://ant-tool.github.io/index.html 目前完善中