Skip to content

Commit

Permalink
feat(gulp-tasks): added tsCompiler for 'ts:compile'
Browse files Browse the repository at this point in the history
  • Loading branch information
praiz committed Sep 23, 2020
1 parent 00005ce commit 5dfa927
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 8 deletions.
21 changes: 19 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ gulpfile
"compile": "gulp --cwd . --gulpfile ./node_modules/library-utils/gulpfile.js compile",
```

Для более тонкой настройки используйте gulp-tasks.
Для более тонкой настройки используйте gulp-tasks или настройки в `package.json`.

gulp-tasks
----------
Expand All @@ -52,7 +52,8 @@ createTasks('arui-feather');
* `options` - не обязательный. Настройки путей.
* `publishDir` - имя папки для публикации, туда будут записываться скомпилированные файлы
* `docsDir` - имя папки для документации
* `tsConfigFilename` - путь до файла с конфигурацией typescript.
* `tsCompiler` - компилятор для typescript
* `tsConfigFilename` - путь до файла с конфигурацией typescript
* `componentsGlob` - glob для файлов js компонентов
* `tsComponentsGlob` - glob для файлов ts компонентов
* `jsGlob` - glob для всех публикуемых js файлов пакета
Expand All @@ -63,6 +64,22 @@ createTasks('arui-feather');
* `resourcesGlob` - glob для всех ресурсных файлов пакета (картинки, шрифты)
* `publishFilesGlob` - glob для всех дополнительных файлов, которые должны попасть в публикацию

Настройки в `package.json`
----------------

Так же можно указать нужные свойства из `options` в ключе `library-utils`

Пример `package.json` вашего проекта:
```
{
"name": "arui-feather",
"library-utils": {
"publishDir": ".my-custom-publish-dir",
"tsCompiler": "my-fork-of-typescript",
}
}
```

componentPackage
----------------

Expand Down
8 changes: 7 additions & 1 deletion gulp-tasks.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,13 @@ function createTasks(packageName, options = {}) {
);

gulp.task('ts:compile', () => {
const tsProject = ts.createProject(options.tsConfigFilename, { declaration: true });
const tsProjectSettings = { declaration: true };

if (options.tsCompiler) {
tsProjectSettings.typescript = require(options.tsCompiler);
}

const tsProject = ts.createProject(options.tsConfigFilename, tsProjectSettings);
const tsResult = gulp.src(options.tsGlob)
.pipe(sourcemaps.init())
.pipe(tsProject())
Expand Down
8 changes: 3 additions & 5 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@ const path = require('path');
const fs = require('fs');
const createTasks = require('./gulp-tasks');

function findPackageName() {
const packageJsonPath = path.resolve(process.cwd(), 'package.json');
const packageJsonPath = path.resolve(process.cwd(), 'package.json');
const appPackage = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));

return JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')).name;
}

createTasks(findPackageName());
createTasks(appPackage.name, appPackage['library-utils']);

0 comments on commit 5dfa927

Please sign in to comment.