جافاسكريبت - grunt-typescript لا يُنتج ملفات JS في المجلد المحدد `dest`


لدي بنية الدليل التالية :

root
|
|_ package.json
|_ Gruntfile.js
|
|_ javascripts/
   |_ ts/file.ts

في ملف Grunt لدي هذا:

//Project Config
grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    typescript: {
        base: {
            src: ['./javascripts/ts/*.ts'],
            dest: './javascripts/'
        }
    }       
});

أتوقع أن تكون ملفات js في دليل javascripts/. ومع ذلك، عندما أقوم بتشغيل grunt typescript، فإنه ينشئ هيكل دليل غريب بهذا الشكل:

root
|
|_ package.json
|_ Gruntfile.js
|
|_ javascripts/
   |_ ts/file.ts
   |_ javascripts/
      |_ ts/
         |_ file.js

أتوقع أن يظهر الملف file.js المترجم في دليل javascripts/ الأصلي. لماذا هذا؟ ماذا يجب أن أكتب للحصول على ملفات .js المترجمة في المجلد المطلوب؟

الإجابة رقم 1

رؤية النتائج جعلتني أفترض أن ما يلي سيعمل:

typescript: {
    base: {
        src: ['./javascripts/ts/*.ts'],
        dest: '../../javascripts/'
    }
} 

شخصياً قمت بتأليف وصيانة grunt-ts : https://npmjs.org/package/grunt-ts

الإجابة رقم 2

خيار آخر هو الاستفادة من إعداد base_path:

//Project Config
grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    typescript: {
        base: {
            src: ['./javascripts/ts/*.ts'],
            dest: './javascripts/',
            options: {
                base_path: './javascripts/ts'
            }
        }
    }       
});