cooking.test.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. var cooking = require('cooking');
  2. var config = require('./config');
  3. var ProgressBarPlugin = require('progress-bar-webpack-plugin');
  4. var jsLoader = process.env.CI_ENV ? 'isparta-loader' : 'isparta-loader!eslint-loader';
  5. cooking.set({
  6. entry: './src/index.js',
  7. extends: process.env.CI_ENV ? ['vue2'] : ['vue2', 'lint'],
  8. minimize: false,
  9. alias: Object.assign(config.alias, {
  10. 'vue$': 'vue/dist/vue.js'
  11. }),
  12. postcss: function(webapck) {
  13. return [
  14. require('postcss-salad')({
  15. browsers: ['ie > 8', 'last 2 versions', 'Chrome > 24'],
  16. features: {
  17. 'partialImport': {
  18. addDependencyTo: webapck
  19. },
  20. 'bem': {
  21. 'shortcuts': {
  22. 'component': 'b',
  23. 'modifier': 'm',
  24. 'descendent': 'e'
  25. },
  26. 'separators': {
  27. 'descendent': '__',
  28. 'modifier': '--'
  29. }
  30. }
  31. }
  32. })
  33. ];
  34. },
  35. sourceMap: '#inline-source-map'
  36. });
  37. cooking.add('vue.loaders.js', jsLoader);
  38. cooking.add('loader.js.exclude', config.jsexclude);
  39. cooking.add('preLoader.0', {
  40. test: /\.js$/,
  41. loader: 'isparta',
  42. exclude: config.jsexclude,
  43. include: /src|packages/
  44. });
  45. if (!process.env.CI_ENV) {
  46. cooking.add('plugins.process', new ProgressBarPlugin());
  47. }
  48. cooking.add('vue.preserveWhitespace', false);
  49. module.exports = cooking.resolve();