Skip to content

Commit 9d6540a

Browse files
committed
fix: bundling and tests
1 parent abd9815 commit 9d6540a

File tree

5 files changed

+521
-586
lines changed

5 files changed

+521
-586
lines changed

gulpfile.js

Lines changed: 44 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/* eslint-env node */
22
const path = require('path');
33

4+
const utils = require('@gravity-ui/gulp-utils');
45
const {task, src, dest, series, parallel} = require('gulp');
5-
const replace = require('gulp-replace');
66
const sass = require('gulp-sass')(require('sass'));
7-
const ts = require('gulp-typescript');
7+
const sourcemaps = require('gulp-sourcemaps');
88
const {rimrafSync} = require('rimraf');
99

1010
const BUILD_DIR = path.resolve('build');
@@ -15,27 +15,50 @@ task('clean', (done) => {
1515
done();
1616
});
1717

18-
function compileTs(modules = false) {
19-
const tsProject = ts.createProject('tsconfig.json', {
20-
declaration: true,
21-
module: modules ? 'esnext' : 'nodenext',
22-
moduleResolution: modules ? 'bundler' : 'nodenext',
23-
...(modules ? undefined : {verbatimModuleSyntax: false}),
18+
async function compileTs(modules = false) {
19+
const tsProject = await utils.createTypescriptProject({
20+
compilerOptions: {
21+
declaration: true,
22+
module: modules ? 'esnext' : 'nodenext',
23+
moduleResolution: modules ? 'bundler' : 'nodenext',
24+
...(modules ? undefined : {verbatimModuleSyntax: false}),
25+
},
2426
});
2527

26-
return src([
27-
'src/**/*.{ts,tsx}',
28-
'!src/demo/**/*',
29-
'!src/stories/**/*',
30-
'!src/**/__stories__/**/*',
31-
'!src/**/__tests__/**/*',
32-
'!src/**/__mocks__/**/*',
33-
'!src/**/*.test.{ts,tsx}',
34-
'!src/**/__snapshots__/**/*',
35-
])
36-
.pipe(replace(/(import.+)\.scss/g, '$1.css'))
37-
.pipe(tsProject())
38-
.pipe(dest(path.resolve(BUILD_DIR, modules ? 'esm' : 'cjs')));
28+
const transformers = [
29+
tsProject.customTransformers.transformScssImports,
30+
tsProject.customTransformers.transformLocalModules,
31+
];
32+
return new Promise((resolve) => {
33+
src([
34+
'src/**/*.{ts,tsx}',
35+
'!src/demo/**/*',
36+
'!src/stories/**/*',
37+
'!src/**/__stories__/**/*',
38+
'!src/**/__tests__/**/*',
39+
'!src/**/__mocks__/**/*',
40+
'!src/**/*.test.{ts,tsx}',
41+
'!src/**/__snapshots__/**/*',
42+
])
43+
.pipe(sourcemaps.init())
44+
.pipe(
45+
tsProject({
46+
customTransformers: {
47+
before: transformers,
48+
afterDeclarations: transformers,
49+
},
50+
}),
51+
)
52+
.pipe(sourcemaps.write('.', {includeContent: true, sourceRoot: '../../src'}))
53+
.pipe(
54+
utils.addVirtualFile({
55+
fileName: 'package.json',
56+
text: JSON.stringify({type: modules ? 'module' : 'commonjs'}),
57+
}),
58+
)
59+
.pipe(dest(path.resolve(BUILD_DIR, modules ? 'esm' : 'cjs')))
60+
.on('end', resolve);
61+
});
3962
}
4063

4164
task('compile-to-esm', () => {

jest.config.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ module.exports = {
55
transform: {
66
'\\.[jt]sx?$': ['ts-jest', {tsconfig: './tsconfig.test.json'}],
77
},
8-
transformIgnorePatterns: ['node_modules/(?!(@gravity-ui|tinygesture))'],
98
coverageDirectory: './coverage',
109
collectCoverageFrom: ['src/**/*.{ts,tsx}', '!**/__stories__/**/*', '!**/*/*.stories.{ts,tsx}'],
1110
testEnvironment: 'jsdom',

0 commit comments

Comments
 (0)