1

私は現在、CoffeeScript と JavaScript を使用する実稼働システムに取り組んでいます。Angular 2 への最終的な移行を見越して、ソース コードを TypeScript に段階的に移行することを検討しています。

以下の karma.conf.js 構成ファイルでカルマを使用しています。TypeScript のサポートを追加し始めたとき、私は潜在的な修正と行き止まりのうさぎの穴に急速に陥り始めました。を使用する必要がありますkarma-systemjsか? karma-systemjsCoffeeScript を処理できますか? karma-systemjsと browserify は連携できますか? Webpack に切り替える必要がありますか? karma-typescript代わりに使用する必要がありますか?もしそうなら、それはCoffeeScriptを扱うことができますか?

無数のオプションは混乱を招きます。どんなガイダンスでも大歓迎です。

/*global module */

"use strict";

module.exports = function(config){
  config.set({

    basePath: '../',

    files : [
      'node_modules/angular/angular.js',
      'node_modules/angular-mocks/angular-mocks.js',
      'node_modules/angular-ui-bootstrap/dist/ui-bootstrap.js',
      'node_modules/angular-ui-calendar/src/calendar.js',
      'node_modules/angular-ui-grid/ui-grid.js',
      'node_modules/angular-ui-router/release/angular-ui-router.js',
      'node_modules/ui-select/dist/select.js',
      'node_modules/angular-aria/angular-aria.js',
      'node_modules/angular-animate/angular-animate.js',
      'node_modules/angular-material/angular-material.js',
      'node_modules/angular-sanitize/angular-sanitize.js',
      'node_modules/pouchdb/dist/pouchdb.js',
      'app/config/**/*.js',
      'app/source/**/*.js',
      'test/unit/**/*.js'
    ],

    autoWatch: true,

    frameworks: ['browserify', 'jasmine'],

    browsers: ['PhantomJS'],
    //browsers: ['Chrome'], // Use "Chrome" for debugging since phantomjs can swallow some errors

    plugins: [
      'karma-browserify',
      'karma-jasmine',
      'karma-phantomjs-launcher',
      'karma-chrome-launcher'
    ],

    preprocessors: {
      'app/config/**/*.js': ['browserify'],
      'app/source/**/*.js': ['browserify'],
      'test/unit/**/*.js': [ 'browserify']
    },

    browserify: {
      debug: true,
      transform: ['coffeeify', 'babelify'],
      extensions: [ ".coffee"]
    },

    // web server port
    port: 9876,

    // enable / disable colors in the output (reporters and logs)
    colors: true,
    
    // level of logging
    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
    logLevel: config.LOG_INFO,

    // Continuous Integration mode
    // if true, Karma captures browsers, runs the tests and exits
    singleRun: false,

    // Concurrency level
    // how many browser should be started simultaneous
    concurrency: Infinity
  });
};

4

0 に答える 0