diff --git a/apps/component-demo/package.json b/apps/component-demo/package.json index 1d42092baad55..54662af0612b2 100644 --- a/apps/component-demo/package.json +++ b/apps/component-demo/package.json @@ -28,6 +28,7 @@ "office-ui-fabric-react": ">=1.5.5 <2.0.0", "react": ">=15.3.2 <16.0.0", "react-dom": ">=15.3.2 <16.0.0", + "tslib": "^1.6.0", "typescript": "2.2.2" } } \ No newline at end of file diff --git a/apps/component-demo/tsconfig.json b/apps/component-demo/tsconfig.json index f287ad2753ab5..1e3d6bfc4b7c1 100644 --- a/apps/component-demo/tsconfig.json +++ b/apps/component-demo/tsconfig.json @@ -7,6 +7,7 @@ "sourceMap": true, "experimentalDecorators": true, "noEmitOnError": true, + "importHelpers": true, "moduleResolution": "node", "types": [ "chai", diff --git a/apps/fabric-website/gulpfile.js b/apps/fabric-website/gulpfile.js index 8fe20fdb16619..8bd68033321ee 100644 --- a/apps/fabric-website/gulpfile.js +++ b/apps/fabric-website/gulpfile.js @@ -24,8 +24,9 @@ let rules = Object.assign( ); build.tslint.setConfig({ lintConfig: { rules }, - sourceMatch: ['src/**/*.ts', 'src/**/*.tsx', '!src/**/*.scss.tsx'] + displayAsWarning: false }); + // TODO: remove this! There are a number of lint errors to fix. build.tslint.isEnabled = () => false; diff --git a/apps/fabric-website/package.json b/apps/fabric-website/package.json index de77da5232eeb..d680bf1eb3a57 100644 --- a/apps/fabric-website/package.json +++ b/apps/fabric-website/package.json @@ -48,11 +48,12 @@ }, "dependencies": { "@uifabric/example-app-base": "2.1.0", + "@uifabric/utilities": ">=4.1.0 <5.0.0", "color-functions": "1.1.0", "json-loader": "^0.5.4", "load-themed-styles": "^1.1.0", "office-ui-fabric-core": ">=7.0.0 <8.0.0", "office-ui-fabric-react": ">=4.3.1 <5.0.0", - "@uifabric/utilities": ">=4.1.0 <5.0.0" + "tslib": "^1.6.0" } } \ No newline at end of file diff --git a/apps/fabric-website/tsconfig.json b/apps/fabric-website/tsconfig.json index 118321bc8ec14..08c937fedc784 100644 --- a/apps/fabric-website/tsconfig.json +++ b/apps/fabric-website/tsconfig.json @@ -7,6 +7,7 @@ "declaration": true, "sourceMap": true, "experimentalDecorators": true, + "importHelpers": true, "moduleResolution": "node", "types": [ "chai", diff --git a/apps/ssr-tests/package.json b/apps/ssr-tests/package.json index eb8b5b91a1855..d528b93144120 100644 --- a/apps/ssr-tests/package.json +++ b/apps/ssr-tests/package.json @@ -34,6 +34,7 @@ "webpack-node-externals": "^1.5.4" }, "dependencies": { - "es6-promise": "^4.1.0" + "es6-promise": "^4.1.0", + "tslib": "^1.6.0" } } \ No newline at end of file diff --git a/apps/test-bundle-button/package.json b/apps/test-bundle-button/package.json index fb7f857da9723..8c925ca481dfd 100644 --- a/apps/test-bundle-button/package.json +++ b/apps/test-bundle-button/package.json @@ -33,6 +33,7 @@ "dependencies": { "react": "^0.14 || ^15.0.1-0 || ^16.0.0-0", "react-dom": "^0.14 || ^15.0.1-0 || ^16.0.0-0", - "office-ui-fabric-react": ">=4.3.0 <5.0.0" + "office-ui-fabric-react": ">=4.3.0 <5.0.0", + "tslib": "^1.6.0" } } \ No newline at end of file diff --git a/apps/test-bundle-button/tsconfig.json b/apps/test-bundle-button/tsconfig.json index a072729ebc126..47318b8078a1a 100644 --- a/apps/test-bundle-button/tsconfig.json +++ b/apps/test-bundle-button/tsconfig.json @@ -7,6 +7,7 @@ "declaration": true, "sourceMap": true, "experimentalDecorators": true, + "importHelpers": true, "moduleResolution": "node", "types": [ "webpack-env" diff --git a/apps/todo-app/package.json b/apps/todo-app/package.json index c744c77740002..d5327835d8550 100644 --- a/apps/todo-app/package.json +++ b/apps/todo-app/package.json @@ -29,6 +29,7 @@ "office-ui-fabric-react": ">=4.3.0 <5.0.0", "react": "^15.4.2", "react-dom": "^15.4.2", - "typescript": "2.2.2" + "typescript": "2.2.2", + "tslib": "^1.6.0" } } \ No newline at end of file diff --git a/common/changes/@uifabric/example-app-base/tslib-fix_2017-06-06-05-19.json b/common/changes/@uifabric/example-app-base/tslib-fix_2017-06-06-05-19.json new file mode 100644 index 0000000000000..30c3545f9a622 --- /dev/null +++ b/common/changes/@uifabric/example-app-base/tslib-fix_2017-06-06-05-19.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@uifabric/example-app-base", + "comment": "Adding tslib dependency to reduce re", + "type": "patch" + } + ], + "packageName": "@uifabric/example-app-base", + "email": "dzearing@microsoft.com" +} \ No newline at end of file diff --git a/common/changes/@uifabric/styling/tslib-fix_2017-06-06-05-19.json b/common/changes/@uifabric/styling/tslib-fix_2017-06-06-05-19.json new file mode 100644 index 0000000000000..987d63589537f --- /dev/null +++ b/common/changes/@uifabric/styling/tslib-fix_2017-06-06-05-19.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@uifabric/styling", + "comment": "Adding tslib dependency to reduce re", + "type": "patch" + } + ], + "packageName": "@uifabric/styling", + "email": "dzearing@microsoft.com" +} \ No newline at end of file diff --git a/common/changes/@uifabric/utilities/tslib-fix_2017-06-06-05-19.json b/common/changes/@uifabric/utilities/tslib-fix_2017-06-06-05-19.json new file mode 100644 index 0000000000000..7ee3d9912188f --- /dev/null +++ b/common/changes/@uifabric/utilities/tslib-fix_2017-06-06-05-19.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@uifabric/utilities", + "comment": "Adding tslib dependency to reduce re", + "type": "patch" + } + ], + "packageName": "@uifabric/utilities", + "email": "dzearing@microsoft.com" +} \ No newline at end of file diff --git a/common/changes/office-ui-fabric-react/tslib-fix_2017-06-06-05-19.json b/common/changes/office-ui-fabric-react/tslib-fix_2017-06-06-05-19.json new file mode 100644 index 0000000000000..1cb29ae36babb --- /dev/null +++ b/common/changes/office-ui-fabric-react/tslib-fix_2017-06-06-05-19.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "office-ui-fabric-react", + "comment": "Adding tslib dependency to reduce redundant code.", + "type": "patch" + } + ], + "packageName": "office-ui-fabric-react", + "email": "dzearing@microsoft.com" +} \ No newline at end of file diff --git a/common/config/rush/npm-shrinkwrap.json b/common/config/rush/npm-shrinkwrap.json index a0aa076b511fd..4e55969f1cd72 100644 --- a/common/config/rush/npm-shrinkwrap.json +++ b/common/config/rush/npm-shrinkwrap.json @@ -2231,9 +2231,9 @@ "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=" }, "caniuse-db": { - "version": "1.0.30000677", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000677.tgz", - "integrity": "sha1-E/Qh1ArhQ0cCEDxJTSxNcW4qj8s=" + "version": "1.0.30000679", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000679.tgz", + "integrity": "sha1-3XvhLxZXfl1q5tuIDG1hnnfco2U=" }, "capture-stack-trace": { "version": "1.0.0", @@ -2885,9 +2885,9 @@ "integrity": "sha1-J0Pjq7XD/CRi5SfcpEXgTp9N7hc=" }, "deasync": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.9.tgz", - "integrity": "sha1-9Y3Un6YxEMdL6oQFqQqCi+JtOiQ=" + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.10.tgz", + "integrity": "sha1-TkpoNvvgR3vV+Qgwi9KpZVfV1/4=" }, "debug": { "version": "2.6.7", @@ -9755,4 +9755,4 @@ "integrity": "sha1-RCs4+denr3rke/z8NWhz6GFq0bc=" } } -} \ No newline at end of file +} diff --git a/packages/example-app-base/gulpfile.js b/packages/example-app-base/gulpfile.js index d8cf9583ea480..b19ead1bd4d3a 100644 --- a/packages/example-app-base/gulpfile.js +++ b/packages/example-app-base/gulpfile.js @@ -14,7 +14,10 @@ let rules = Object.assign( require('./node_modules/office-ui-fabric-react-tslint/tslint.json').rules, require('./tslint.json').rules ); -build.tslint.setConfig({ lintConfig: { rules } }); +build.tslint.setConfig({ + lintConfig: { rules }, + displayAsWarning: false +}); // Configure TypeScript. build.TypeScriptConfiguration.setTypescriptCompiler(require('typescript')); diff --git a/packages/example-app-base/package.json b/packages/example-app-base/package.json index 7d4a0f90571ff..c8b26041887b3 100644 --- a/packages/example-app-base/package.json +++ b/packages/example-app-base/package.json @@ -44,6 +44,7 @@ "@uifabric/utilities": ">=4.1.0 <5.0.0", "highlight.js": "^9.9.0", "office-ui-fabric-core": ">=7.0.0 <8.0.0", - "office-ui-fabric-react": ">=2.0.0 <3.0.0" + "office-ui-fabric-react": ">=2.0.0 <3.0.0", + "tslib": "^1.6.0" } } \ No newline at end of file diff --git a/packages/example-app-base/tsconfig.json b/packages/example-app-base/tsconfig.json index 914efa73ced5d..fce99fa3f7ac4 100644 --- a/packages/example-app-base/tsconfig.json +++ b/packages/example-app-base/tsconfig.json @@ -6,6 +6,7 @@ "declaration": true, "sourceMap": true, "experimentalDecorators": true, + "importHelpers": true, "moduleResolution": "node", "lib": [ "es2017", diff --git a/packages/example-component/gulpfile.js b/packages/example-component/gulpfile.js index c091755f4e544..68ded2f36e037 100644 --- a/packages/example-component/gulpfile.js +++ b/packages/example-component/gulpfile.js @@ -11,7 +11,10 @@ let rules = Object.assign( require('./node_modules/office-ui-fabric-react-tslint/tslint.json').rules, require('./tslint.json').rules ); -build.tslint.setConfig({ lintConfig: { rules } }); +build.tslint.setConfig({ + lintConfig: { rules }, + displayAsWarning: false +}); // Use css modules. build.sass.setConfig({ diff --git a/packages/example-component/package.json b/packages/example-component/package.json index f376098ff20c4..e7273434597ba 100644 --- a/packages/example-component/package.json +++ b/packages/example-component/package.json @@ -49,6 +49,7 @@ "react-dom": "^0.14 || ^15.4.2 || ^16.0.0-0" }, "dependencies": { - "office-ui-fabric-react": ">=4.3.1 <5.0.0" + "office-ui-fabric-react": ">=4.3.1 <5.0.0", + "tslib": "^1.6.0" } } \ No newline at end of file diff --git a/packages/example-component/tsconfig.json b/packages/example-component/tsconfig.json index 7d7c6a4a5915a..66201a8633b19 100644 --- a/packages/example-component/tsconfig.json +++ b/packages/example-component/tsconfig.json @@ -6,6 +6,7 @@ "noImplicitAny": false, "strictNullChecks": true, "experimentalDecorators": true, + "importHelpers": true, "moduleResolution": "node", "sourceMap": true, "jsx": "react", diff --git a/packages/office-ui-fabric-react/gulpfile.js b/packages/office-ui-fabric-react/gulpfile.js index 2940e5088f08b..90c173cc2bbe2 100644 --- a/packages/office-ui-fabric-react/gulpfile.js +++ b/packages/office-ui-fabric-react/gulpfile.js @@ -49,7 +49,10 @@ let rules = Object.assign( require('./node_modules/office-ui-fabric-react-tslint/tslint.json').rules, require('./tslint.json').rules ); -build.tslint.setConfig({ lintConfig: { rules } }); +build.tslint.setConfig({ + lintConfig: { rules }, + displayAsWarning: false +}); // Configure TypeScript. // build.typescript.setConfig({ typescript: require('typescript') }); diff --git a/packages/office-ui-fabric-react/package.json b/packages/office-ui-fabric-react/package.json index 507c8d66e4e2e..e2a73cbb00edb 100644 --- a/packages/office-ui-fabric-react/package.json +++ b/packages/office-ui-fabric-react/package.json @@ -73,7 +73,8 @@ "@microsoft/load-themed-styles": "^1.2.2", "@uifabric/utilities": ">=4.1.0 <5.0.0", "@uifabric/styling": ">=0.5.0 <1.0.0", - "prop-types": "^15.5.10" + "prop-types": "^15.5.10", + "tslib": "^1.6.0" }, "peerDependencies": { "react": "^0.14.9 || ^15.0.1-0 || ^16.0.0-0", diff --git a/packages/office-ui-fabric-react/tsconfig.json b/packages/office-ui-fabric-react/tsconfig.json index b83d24ea1e409..45a6fd52e3110 100644 --- a/packages/office-ui-fabric-react/tsconfig.json +++ b/packages/office-ui-fabric-react/tsconfig.json @@ -7,6 +7,7 @@ "declaration": true, "sourceMap": true, "experimentalDecorators": true, + "importHelpers": true, "moduleResolution": "node", "lib": [ "es2017", diff --git a/packages/styling/gulpfile.js b/packages/styling/gulpfile.js index aa84b07cb5d21..c4d5fefcb3943 100644 --- a/packages/styling/gulpfile.js +++ b/packages/styling/gulpfile.js @@ -1,7 +1,12 @@ 'use strict'; let build = require('@microsoft/sp-build-web'); +let path = require('path'); let gulp = require('gulp'); +let buildConfig = build.getConfig(); + +let isProduction = process.argv.indexOf('--production') >= 0; +let isClean = process.argv.indexOf('clean') >= 0; // initialize tasks. build.initialize(gulp); @@ -16,7 +21,10 @@ let rules = Object.assign( require('./node_modules/office-ui-fabric-react-tslint/tslint.json').rules, require('./tslint.json').rules ); -build.tslint.setConfig({ lintConfig: { rules } }); +build.tslint.setConfig({ + lintConfig: { rules }, + displayAsWarning: false +}); // Disable all unnecessary tasks. build.sass.isEnabled = () => false; @@ -24,5 +32,14 @@ build.karma.isEnabled = () => false; build.text.isEnabled = () => false; build.preCopy.isEnabled = () => false; +let packageFolder = buildConfig.packageFolder || ''; +let distFolder = buildConfig.distFolder; + +if (isProduction || isClean) { + build.setConfig({ + libAMDFolder: path.join(packageFolder, 'lib-amd') + }); +} + // Until typings work. build.apiExtractor.isEnabled = () => false; diff --git a/packages/styling/package.json b/packages/styling/package.json index c2475fd7ade41..ca5e198e5fc2a 100644 --- a/packages/styling/package.json +++ b/packages/styling/package.json @@ -35,7 +35,6 @@ "react-dom": "^15.4.2", "source-map-loader": "^0.2.1", "ts-loader": "^2.1.0", - "tslib": "^1.6.0", "typescript": "2.2.2", "uglifyjs-webpack-plugin": "^0.4.3", "webpack": "^2.4.1", @@ -47,7 +46,8 @@ "dependencies": { "@microsoft/load-themed-styles": "^1.2.2", "@uifabric/utilities": ">=4.1.0 <5.0.0", - "glamor": "^2.20.24", - "rtl-css-js": "^1.1.0" + "tslib": "^1.6.0", + "rtl-css-js": "^1.1.0", + "glamor": "^2.20.24" } } \ No newline at end of file diff --git a/packages/styling/src/interfaces/ISemanticColors.ts b/packages/styling/src/interfaces/ISemanticColors.ts index 938c2fa12f452..2a58cf069e4ff 100644 --- a/packages/styling/src/interfaces/ISemanticColors.ts +++ b/packages/styling/src/interfaces/ISemanticColors.ts @@ -1,36 +1,40 @@ /** - * * The collection of semantic slots for colors used in themes. - -Naming Convention  -The name of a semantic slot can quickly tell you how it’s meant to be used. It generally follows this format:  -[category name][element name][checked state][hovered/pressed/disabled state]   -[category name] – The “family” that this slot belongs to.  -[element name] – The name of the thing being targeted, such as the background or border.  -[checked state] – Whether the thing is checked. We assume things are unchecked by default, so no need to specify the unchecked state. -(We used “checked” to refer to anything that is on, selected, toggled, highlighted, emphasized, etc.)  -[hovered/pressed/disabled state] – One of these states, if applicable. Each of these states are mutually exclusive. -Pressed styles overwrite hovered styles, and disabled elements cannot be hovered or pressed.    -  -Base/Body -A basic set of slots that provide many default body styles, such as text, subtext, disabled colors, error text, and so on. -If a category doesn't provide the slot you're looking for, use one from this category. -For example, the placeholder text on a text input field has no corresponding slot in its category, -so you'd use the bodySubtextColor from this category.  -  -Input Controls  -This category contains input components commonly used to denote state, including radio buttons, -check boxes, toggle switches, sliders, progress bars, and more.  -  -Menus  -Any kind of popup menus uses this category.  -  -Lists  -Lists differ from menus in that they are designed to show infinite amounts of items, often scroll, -and have a large and complex interaction surface. -This category covers all kinds of lists, whether they're typical one-item-per-row lists (like DetailsList) or ones with a tiled layout. - -*/ + * + * ## Naming Convention  + * + * The name of a semantic slot can quickly tell you how it’s meant to be used. It generally follows this format:  + * + * [category name][element name][checked state][hovered/pressed/disabled state]   + * [category name] – The “family” that this slot belongs to.  + * [element name] – The name of the thing being targeted, such as the background or border.  + * [checked state] – Whether the thing is checked. We assume things are unchecked by default, so no need to specify the unchecked state. + * (We used “checked” to refer to anything that is on, selected, toggled, highlighted, emphasized, etc.)  + * [hovered/pressed/disabled state] – One of these states, if applicable. Each of these states are mutually exclusive. + * Pressed styles overwrite hovered styles, and disabled elements cannot be hovered or pressed.    + *   + * ## Base/Body + * + * A basic set of slots that provide many default body styles, such as text, subtext, disabled colors, error text, and so on. + * If a category doesn't provide the slot you're looking for, use one from this category. + * For example, the placeholder text on a text input field has no corresponding slot in its category, + * so you'd use the bodySubtextColor from this category.  + *   + * ## Input Controls  + * + * This category contains input components commonly used to denote state, including radio buttons, + * check boxes, toggle switches, sliders, progress bars, and more.  + *   + * ## Menus  + * + * Any kind of popup menus uses this category.  + *   + * ## Lists + *   + * Lists differ from menus in that they are designed to show infinite amounts of items, often scroll, + * and have a large and complex interaction surface. + * This category covers all kinds of lists, whether they're typical one-item-per-row lists (like DetailsList) or ones with a tiled layout. + */ export interface ISemanticColors { /* ANY ADDITIONS/REMOVALS HERE MUST ALSO BE MADE TO \packages\styling\src\utilities\theme.ts:_makeSemanticColorsFromPalette() */ @@ -38,14 +42,17 @@ export interface ISemanticColors { * The default color for backgrounds. */ bodyBackground?: string; + /** * The default color for text. */ bodyText?: string; + /** * De-emphasized text; e.g. metadata, captions, placeholder text. */ bodySubtext?: string; + /** * Divider lines; e.g. lines that separate sections in a menu, an
element. */ @@ -55,10 +62,12 @@ export interface ISemanticColors { * The default color for backgrounds of disabled controls; e.g. disabled text field. */ disabledBackground?: string; + /** * The default color for disabled text; e.g. user input inside a disabled text field. */ disabledText?: string; + /** * Disabled de-emphasized text; e.g. placeholder text inside disabled input field. */ @@ -80,6 +89,7 @@ export interface ISemanticColors { errorText?: string; // Input controls slots (text fields, checkboxes, radios...) + /** * The border of an input control in its resting, unchecked state; e.g. the box of an unchecked checkbox. */ @@ -88,58 +98,72 @@ export interface ISemanticColors { * The border color of a hovered input control. */ inputBorderHovered?: string; + /** * The background of a checked control; e.g. checked radio button's dot, checked toggle's background. */ inputBackgroundChecked?: string; + /** * The background of a checked and hovered control; e.g. checked checkbox's background color on hover. */ inputBackgroundCheckedHovered?: string; + /** - * The foreground of a checked control; e.g. checked checkbox's checkmark color, checked toggle's thumb color, radio button's background color around the dot. + * The foreground of a checked control; e.g. checked checkbox's checkmark color, checked toggle's thumb color, + * radio button's background color around the dot. */ inputForegroundChecked?: string; + /** * The alternate focus border color for elements that already have a border; e.g. text field borders on focus. */ inputFocusBorderAlt?: string; // Menus, popups, etc + /** * The background of a hovered menu item. */ menuItemBackgroundHovered?: string; + /** * The background of checked menu item; e.g. a menu item whose submenu is open, a selected dropdown item. */ menuItemBackgroundChecked?: string; + /** * The default colors of icons in menus. */ menuIcon?: string; + /** * The headers in menus that denote title of a section. */ menuHeader?: string; // Lists + /** * The background color for the entire list. */ listBackground?: string; + /** * The default text color for list item titles and text in column fields. */ listTextColor?: string; + /** * The background color of a hovered list item. */ listItemBackgroundHovered?: string; + /** * The background color of a checked list item. */ listItemBackgroundChecked?: string; + /** * The background color of a checked and hovered list item. */ diff --git a/packages/styling/tsconfig.json b/packages/styling/tsconfig.json index 712011363426a..b7402a941d26b 100644 --- a/packages/styling/tsconfig.json +++ b/packages/styling/tsconfig.json @@ -7,8 +7,8 @@ "declaration": true, "sourceMap": true, "experimentalDecorators": true, - "moduleResolution": "node", "importHelpers": true, + "moduleResolution": "node", "lib": [ "es2017", "dom" diff --git a/packages/utilities/gulpfile.js b/packages/utilities/gulpfile.js index bd1fe240e9a78..b5238c40e78a0 100644 --- a/packages/utilities/gulpfile.js +++ b/packages/utilities/gulpfile.js @@ -8,6 +8,9 @@ let buildConfig = build.getConfig(); let isProduction = process.argv.indexOf('--production') >= 0; let isClean = process.argv.indexOf('clean') >= 0; +// initialize tasks. +build.initialize(gulp); + /* Configure lint rules */ let rules = Object.assign( {}, @@ -15,7 +18,10 @@ let rules = Object.assign( require('./node_modules/office-ui-fabric-react-tslint/tslint.json').rules, require('./tslint.json').rules ); -build.tslint.setConfig({ lintConfig: { rules } }); +build.tslint.setConfig({ + lintConfig: { rules }, + displayAsWarning: false +}); // Configure TypeScript. build.TypeScriptConfiguration.setTypescriptCompiler(require('typescript')); @@ -37,5 +43,3 @@ if (isProduction || isClean) { build.task('tslint', build.tslint); -// initialize tasks. -build.initialize(gulp); diff --git a/packages/utilities/package.json b/packages/utilities/package.json index 616f613c357ad..8c95cfcd4f985 100644 --- a/packages/utilities/package.json +++ b/packages/utilities/package.json @@ -41,7 +41,8 @@ "typescript": "2.2.2" }, "dependencies": { - "prop-types": "^15.5.10" + "prop-types": "^15.5.10", + "tslib": "^1.6.0" }, "peerDependencies": { "react": "^0.14.9 || ^15.0.1-0 || ^16.0.0-0", diff --git a/packages/utilities/tsconfig.json b/packages/utilities/tsconfig.json index cac8e4a478dfa..df37502ab300d 100644 --- a/packages/utilities/tsconfig.json +++ b/packages/utilities/tsconfig.json @@ -10,6 +10,7 @@ "declaration": true, "sourceMap": true, "experimentalDecorators": true, + "importHelpers": true, "moduleResolution": "node", "types": [ "chai",