Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using Babel for TypeScript instead of tsc #5109

Merged
merged 56 commits into from
Apr 4, 2019
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
2fc1518
yarn.lock
kroeder Dec 27, 2018
1a5fa4b
Using babel-typescript instead of tsc
kroeder Dec 28, 2018
8543bf0
Added decorator support for babel
kroeder Dec 28, 2018
8c8775c
Angular now gets compiled by tsc, everything else is compiled by babe…
kroeder Jan 4, 2019
a40589a
Migrated app/angular/client to TS
kroeder Jan 5, 2019
c5f4775
Migrated app/angular/server to TS; Still WIP
kroeder Jan 5, 2019
468477d
Merge branch 'next' into ts-migration/babel-typescript
ndelangen Jan 5, 2019
2da70f6
MAYBE fix build
ndelangen Jan 5, 2019
d351d87
Merge branch 'next' into ts-migration/babel-typescript
ndelangen Mar 2, 2019
4be2657
FIX circular dep
ndelangen Mar 2, 2019
b79e39a
Add demo.js to the root of the package to allow @storybook/angular/de…
kroeder Mar 3, 2019
65b8c31
Rename dev:js to dev:babel and dev:ts to dev:tsc since babel does ts-…
kroeder Mar 3, 2019
36c738e
Add index.d.ts and handle this in a separate migration
kroeder Mar 3, 2019
66b3cdb
Add index.d.ts back; was deleted accidentally
kroeder Mar 10, 2019
22b919a
Move types into typings.d.ts
kroeder Mar 10, 2019
1e0abdd
Possible fix for addon-centered
kroeder Mar 11, 2019
8616481
Merge branch 'next' into ts-migration/babel-typescript
ndelangen Mar 15, 2019
44e566f
Add check-types script for typescript type checking
kroeder Mar 16, 2019
d551fb3
Merge branch 'next' into ts-migration/babel-typescript
ndelangen Mar 19, 2019
10a530d
ADD @storybook/api to dll
ndelangen Mar 19, 2019
45dcad3
WIP
ndelangen Mar 19, 2019
14f8cbc
Merge branch 'next' into ts-migration/babel-typescript
ndelangen Mar 20, 2019
c1d2ba6
WIP
ndelangen Mar 20, 2019
f0c4cb4
Merge branch 'ts-migration/babel-typescript' of https://github.com/st…
kroeder Mar 22, 2019
161fc1f
boy-scout-rule: added types for lodash and removed the module declara…
kroeder Mar 22, 2019
7ed0898
Merge branch 'next' into ts-migration/babel-typescript
kroeder Mar 22, 2019
2f4f5b5
WIP Reverted ts migration of app/angular; fixed missing d.ts
kroeder Mar 22, 2019
3f12a74
WIP refactoring
kroeder Mar 22, 2019
2162772
fix app/angular build
kroeder Mar 23, 2019
0a9626d
fix --scope command
kroeder Mar 23, 2019
8a2919c
Remove accidentally added webstorm %NODE_DEBUG_OPTION%
kroeder Mar 23, 2019
1194c5f
Merge branch 'next' into ts-migration/babel-typescript
kroeder Mar 23, 2019
29db6ad
Set experimentalDecorators: true in root/tsconfig.json because jest f…
kroeder Mar 23, 2019
d667a92
This was changed due to yarn bootstrap --core
kroeder Mar 23, 2019
37576e5
Fix js compilation for app/angular
kroeder Mar 23, 2019
87dfbb7
Fix for AppComponent instantiation
kroeder Mar 23, 2019
6bccd3d
Make babel only transpile js in app/angular
kroeder Mar 23, 2019
aa9fa9e
Potential jest fix for app/angular
kroeder Mar 23, 2019
f19c1eb
Storyshots fix; needs refactoring
kroeder Mar 24, 2019
33d9835
Merge branch 'next' into ts-migration/babel-typescript
kroeder Mar 30, 2019
f3b83a1
Possibly fix Namespace '"/tmp/storybook/node_modules/hoist-non-react-…
kroeder Mar 30, 2019
4da6504
Workaround fix for https://github.com/DefinitelyTyped/DefinitelyTyped…
kroeder Mar 30, 2019
bfce809
Fix ts issues during yarn dev
kroeder Mar 30, 2019
4050dbc
exclude setupTests.js in tsconfig
kroeder Mar 30, 2019
4729fc4
try removing weak-package in the assumption that it is not used and m…
kroeder Mar 30, 2019
7104e93
yarn.lock
kroeder Mar 30, 2019
6e6df7c
Revert "try removing weak-package in the assumption that it is not us…
kroeder Mar 30, 2019
10ac24b
Revert "yarn.lock"
kroeder Mar 30, 2019
45f0445
Merge branch 'next' into ts-migration/babel-typescript
kroeder Mar 30, 2019
24e7eb4
Fix lint by allowing console in build-tsc.js
kroeder Mar 30, 2019
2521d2b
Update snapshot
shilman Mar 31, 2019
413438a
clean up babelrc
kroeder Mar 31, 2019
ef57974
Add skipLibCheck to make things faster
kroeder Mar 31, 2019
7237cd7
Merge branch 'ts-migration/babel-typescript' of https://github.com/st…
kroeder Mar 31, 2019
0b881e2
Resolved change requests
kroeder Apr 1, 2019
dc521ca
Add changes based on https://github.com/storybooks/storybook/pull/6415
kroeder Apr 4, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions .babelrc.js
@@ -1,6 +1,7 @@
module.exports = {
presets: [
['@babel/preset-env', { shippedProposals: true, useBuiltIns: 'usage' }],
'@babel/preset-typescript',
'@babel/preset-react',
'@babel/preset-flow',
],
Expand All @@ -10,6 +11,7 @@ module.exports = {
'@babel/plugin-proposal-class-properties',
'@babel/plugin-proposal-object-rest-spread',
'@babel/plugin-proposal-export-default-from',
['@babel/plugin-proposal-decorators', { legacy: true }],
kroeder marked this conversation as resolved.
Show resolved Hide resolved
],
env: {
test: {
Expand Down
3 changes: 3 additions & 0 deletions package.json
Expand Up @@ -54,10 +54,13 @@
"@babel/cli": "^7.2.0",
"@babel/core": "^7.2.2",
"@babel/plugin-proposal-class-properties": "^7.2.3",
"@babel/plugin-proposal-decorators": "^7.2.3",
"@babel/plugin-proposal-export-default-from": "^7.2.0",
"@babel/plugin-proposal-object-rest-spread": "^7.2.0",
"@babel/preset-env": "^7.2.0",
"@babel/preset-flow": "^7.0.0",
"@babel/preset-react": "^7.0.0",
"@babel/preset-typescript": "^7.1.0",
"@emotion/snapshot-serializer": "^0.8.2",
"@types/jest": "^23.3.9",
"@types/node": "^10.12.17",
Expand Down
23 changes: 20 additions & 3 deletions scripts/compile-js.js
Expand Up @@ -6,11 +6,28 @@ const shell = require('shelljs');
function getCommand(watch) {
const babel = path.join(__dirname, '..', 'node_modules', '.bin', 'babel');

const ignore = [
'**/__mocks__/',
'**/tests/',
'**/__tests__/',
'**/*.test.js',
'**/*.test.ts',
'**/stories/',
'**/*.story.js',
'**/*.story.ts',
'**/*.stories.js',
'**/*.stories.ts',
'**/__snapshots__',
'**/*.d.ts',
];

const args = [
'--ignore **/__mocks__/,**/tests/*,**/__tests__/,**/**.test.js,**/stories/,**/**.story.js,**/**.stories.js,**/__snapshots__',
'./src --out-dir ./dist',
'--copy-files',
'./src',
'--out-dir ./dist',
`--config-file ${path.resolve(__dirname, '../.babelrc.js')}`,
`--extensions ".js,.jsx,.ts,.tsx"`,
`--copy-files`,
`--ignore "${ignore.join('","')}"`,
];

if (watch) {
Expand Down
6 changes: 3 additions & 3 deletions scripts/compile-ts.js
Expand Up @@ -6,7 +6,7 @@ const shell = require('shelljs');
function getCommand(watch) {
const tsc = path.join(__dirname, '..', 'node_modules', '.bin', 'tsc');

const args = ['--outDir ./dist', '-d true', '--listEmittedFiles true'];
const args = ['--outDir ./dist', '--emitDeclarationOnly', '--listEmittedFiles true'];

if (watch) {
args.push('-w');
Expand All @@ -25,7 +25,7 @@ function handleExit(code, errorCallback) {
}
}

function tscfy(options = {}) {
function generateTSDefinitionFiles(options = {}) {
const { watch = false, silent = true, errorCallback } = options;
const tsConfigFile = 'tsconfig.json';

Expand All @@ -49,5 +49,5 @@ function tscfy(options = {}) {
}

module.exports = {
tscfy,
generateTSDefinitionFiles,
};
25 changes: 13 additions & 12 deletions scripts/prepare.js
Expand Up @@ -4,7 +4,7 @@ const shell = require('shelljs');
const chalk = require('chalk');
const log = require('npmlog');
const { babelify } = require('./compile-js');
const { tscfy } = require('./compile-ts');
const { generateTSDefinitionFiles } = require('./compile-ts');

function getPackageJson() {
const modulePath = path.resolve('./');
Expand All @@ -17,15 +17,15 @@ function removeDist() {
shell.rm('-rf', 'dist');
}

function removeTsFromDist() {
function cleanup() {
// add .ts filtering to babel args and remove after babel - 7 is adopted
// --copy-files option doesn't work with --ignore
// https://github.com/babel/babel/issues/5404

const tsFiles = shell.find('dist').filter(tsFile => tsFile.match(/\.ts$/));
const files = shell.find('dist').filter(tsFile => tsFile.match(/\.(ts|tsx)$/));

if (tsFiles.length) {
shell.rm(tsFiles);
if (files.length) {
shell.rm(files);
}
}

Expand All @@ -38,12 +38,13 @@ function logError(type, packageJson) {
const packageJson = getPackageJson();

removeDist();
if (packageJson && packageJson.types && packageJson.types.indexOf('d.ts') !== -1) {
tscfy({ errorCallback: () => logError('ts', packageJson) });
} else {
babelify({ errorCallback: () => logError('js', packageJson) });
removeTsFromDist();
tscfy({ errorCallback: () => logError('ts', packageJson) });
}
// if (packageJson && packageJson.types && packageJson.types.indexOf('d.ts') !== -1) {
// tscfy({ errorCallback: () => logError('ts', packageJson) });
// } else {
babelify({ errorCallback: () => logError('js', packageJson) });
cleanup();
generateTSDefinitionFiles({ errorCallback: () => logError('ts', packageJson) });

// }

console.log(chalk.gray(`Built: ${chalk.bold(`${packageJson.name}@${packageJson.version}`)}`));