From 8427628ca3629259fb26e54df0523dfab0753ad1 Mon Sep 17 00:00:00 2001 From: stepancar Date: Fri, 13 Dec 2019 10:29:20 +0300 Subject: [PATCH] fix(*): hotfix typings for components --- gulp-tasks.js | 11 +++++++---- gulp/component-package.js | 8 ++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/gulp-tasks.js b/gulp-tasks.js index 6a8f6e9..43709ad 100644 --- a/gulp-tasks.js +++ b/gulp-tasks.js @@ -23,13 +23,16 @@ const defaultOptions = { tsComponentsGlob: ['src/*/*.tsx', '!src/*/*.test.tsx', '!src/*/*-benchmark.tsx'], jsGlob: ['src/**/*.{js,jsx}', '!src/**/*.test.{js,jsx}', '!src/**/*-benchmark.{js,jsx}'], autoDtsGlob: [ - 'src/**/*.{js,jsx}', 'src/**/index.{js,jsx}', '!src/**/*.test.{js,jsx}', '!src/**/*-benchmark.{js,jsx}' + 'src/**/*.{js,jsx}', '!src/**/index.{js,jsx}', '!src/**/*.test.{js,jsx}', '!src/**/*-benchmark.{js,jsx}' ], tsGlob: ['src/**/*.{ts,tsx}', '!src/**/*.test.{ts,tsx}', '!src/**/*-benchmark.{ts,tsx}'], cssGlob: ['src/**/*.css', '!src/vars/**/*.css', '!src/vars*.css'], cssCopyGlob: ['src/**/vars/**/*.css', 'src/vars*.css'], resourcesGlob: ['src/**/*.{png,gif,jpg,svg,ttf,woff,json}'], - publishFilesGlob: ['package.json', '*.md', 'LICENSE?(.md)'] + publishFilesGlob: ['package.json', '*.md', 'LICENSE?(.md)'], + // все было сломано тут https://github.com/alfa-laboratory/library-utils/pull/95 + // library utils не умеет хорошо генерить тайпинги по index.js файлов а реэксопрты в index.js файлах как правило работают чисто потому что повезло + useComponentDts: false }; const errors = []; @@ -78,7 +81,7 @@ function createTasks(packageName, options = {}) { gulp.task('ts:packages', () => gulp.src(options.tsComponentsGlob) - .pipe(componentPackage()) + .pipe(componentPackage(options.useComponentDts)) .pipe(gulp.dest(options.publishDir)) .on('error', handleError) ); @@ -89,7 +92,7 @@ function createTasks(packageName, options = {}) { const components = gulp.src(options.componentsGlob); const packages = components .pipe(clone()) - .pipe(componentPackage()) + .pipe(componentPackage(options.useComponentDts)) .on('error', handleError); const typingFiles = components diff --git a/gulp/component-package.js b/gulp/component-package.js index a12e84c..5ed751d 100644 --- a/gulp/component-package.js +++ b/gulp/component-package.js @@ -9,7 +9,7 @@ const Vinyl = require('vinyl'); * @param {*} file Gulp stream file instance * @returns {String} */ -function getComponentPackage(file) { +function getComponentPackage(file, useComponentDts) { const dirname = path.dirname(file.path); const componentName = path.parse(file.path).name; const isIndexFileExist = fs.existsSync(path.join(dirname, 'index.js')) || @@ -17,7 +17,7 @@ function getComponentPackage(file) { return JSON.stringify({ main: isIndexFileExist ? 'index.js' : `${componentName}.js`, - types: isIndexFileExist ? 'index.d.ts' : `${componentName}.d.ts` + types: isIndexFileExist && !useComponentDts ? 'index.d.ts' : `${componentName}.d.ts` }); } @@ -26,7 +26,7 @@ function getComponentPackage(file) { * * @returns {Function} */ -function componentPackage() { +function componentPackage(useComponentDts) { function transform(file, encoding, callback) { if (file.isStream()) { callback(); @@ -39,7 +39,7 @@ function componentPackage() { cwd: file.cwd, base: file.base, path: path.join(dirname, 'package.json'), - contents: Buffer.from(getComponentPackage(file)) + contents: Buffer.from(getComponentPackage(file, useComponentDts)) })); }