mirror of https://github.com/grafana/grafana
Build: Introduce ESM and Treeshaking to NPM package builds (#51517)
* Revert "Chore: Bump terser to fix security vulnerability (#53052)"
This reverts commit 7ae74d2a18
.
* feat: use tsc and rollup directly with esbuild and publishConfig, files props
* refactor(grafana-data): fix isolatedModules re-export type error
* refactor(grafana-data): import paths from src not package name
* refactor(rollup): fix dts output.file
* chore(grafana-schema): delete dashboard_experimental.gen.ts - cannot work with isolatedModules
* refactor(grafana-e2e-selectors): fix export types isolatedModules error
* refactor(grafana-runtime): fix isolatedModules re-export type error
* refactor(grafana-ui): fix isolatedModules re-export type error
* feat(grafana-ui): use named imports for treeshaking
* refactor(grafana-ui): use named imports for treeshaking
* feat: react and react-dom as peerDeps for packages
* feat(grafana-ui): emotion packages as peerDeps
* feat(grafana-e2e): use tsc, rollup, esbuild for bundling
* chore(packages): clean up redundant dependencies
* chore(toolkit): deprecate unused package:build task
* chore(schema): put back dashboard_experimental and exclude to prevent isolatedModules error
* docs(packages): update readme
* chore(storybook): disable isolatedModules for builds
* chore: relax peerDeps for emotion and react
* revert(grafana-ui): put @emotion dependencies back
* refactor: replace relative package imports with package name
* build(packages): set emitDeclaration false for typecheck scripts to work
* test(publicdashboarddatasource): move test next to implementation. try to appease the betterer gods
* chore(storybook): override ts-node config for storybook compilation
* refactor(grafana-data): use ternary so babel doesnt complain about expecting flow types
* chore(toolkit): prefer files and publishConfig package.json props over copying
* build(npm): remove --contents dist arg from publishing commands
* chore(packages): introduce sideEffects prop to package.json to hint package can be treeshaken
* chore(packages): remove redundant index.js files
* feat(packages): set publishConfig.access to public
* feat(packages): use yarn berry and npm for packaging and publishing
* refactor(packages): simplify rollup configs
* chore(schema): add comment explaining need to exclude dashboard_experimental
* revert(toolkit): put back clean to prevent cli failures
* ci(packages): run packages:pack before a canary publish
* chore(gitignore): add npm-artifacts directory to ignore list
* test(publicdashboarddatasource): fix module mocking
* chore(packages): delete package.tgz when running clean
* chore(grafana-data): move dependencies from devDeps to prevent build resolution errors
pull/53246/head^2
parent
610abc2af0
commit
d87bf30e9e
@ -1,3 +0,0 @@ |
||||
FROM tutum/nginx |
||||
RUN rm /etc/nginx/sites-enabled/default |
||||
ADD sites-enabled /etc/nginx/sites-enabled |
@ -1,14 +0,0 @@ |
||||
server { |
||||
listen 80 default_server; |
||||
access_log /var/log/nginx/verdaccio.log; |
||||
charset utf-8; |
||||
location / { |
||||
proxy_pass http://grafana-npm.local:4873/; |
||||
proxy_set_header Host $host; |
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
||||
proxy_set_header X-NginX-Proxy true; |
||||
proxy_ssl_session_reuse off; |
||||
proxy_set_header Host $http_host; |
||||
proxy_redirect off; |
||||
} |
||||
} |
@ -1,7 +0,0 @@ |
||||
'use strict'; |
||||
|
||||
if (process.env.NODE_ENV === 'production') { |
||||
module.exports = require('./index.production.js'); |
||||
} else { |
||||
module.exports = require('./index.development.js'); |
||||
} |
@ -1,44 +1,37 @@ |
||||
import commonjs from '@rollup/plugin-commonjs'; |
||||
import json from '@rollup/plugin-json'; |
||||
import resolve from '@rollup/plugin-node-resolve'; |
||||
import path from 'path'; |
||||
import sourceMaps from 'rollup-plugin-sourcemaps'; |
||||
import { terser } from 'rollup-plugin-terser'; |
||||
import dts from 'rollup-plugin-dts'; |
||||
import esbuild from 'rollup-plugin-esbuild'; |
||||
import { externals } from 'rollup-plugin-node-externals'; |
||||
|
||||
const pkg = require('./package.json'); |
||||
|
||||
const libraryName = pkg.name; |
||||
|
||||
const buildCjsPackage = ({ env }) => { |
||||
return { |
||||
input: `compiled/index.js`, |
||||
export default [ |
||||
{ |
||||
input: 'src/index.ts', |
||||
plugins: [externals({ deps: true, packagePath: './package.json' }), resolve(), esbuild()], |
||||
output: [ |
||||
{ |
||||
file: `dist/index.${env}.js`, |
||||
name: libraryName, |
||||
format: 'cjs', |
||||
sourcemap: true, |
||||
exports: 'named', |
||||
globals: {}, |
||||
dir: path.dirname(pkg.publishConfig.main), |
||||
}, |
||||
{ |
||||
format: 'esm', |
||||
sourcemap: true, |
||||
dir: path.dirname(pkg.publishConfig.module), |
||||
preserveModules: true, |
||||
// @ts-expect-error (TS cannot assure that `process.env.PROJECT_CWD` is a string)
|
||||
preserveModulesRoot: path.join(process.env.PROJECT_CWD, `packages/grafana-data/src`), |
||||
}, |
||||
], |
||||
external: [ |
||||
'lodash', |
||||
'rxjs', |
||||
'@grafana/schema', // Load from host
|
||||
], |
||||
plugins: [ |
||||
resolve(), |
||||
json({ |
||||
include: [path.relative('.', require.resolve('moment-timezone/data/packed/latest.json'))], // absolute path throws an error for whatever reason
|
||||
}), |
||||
commonjs({ |
||||
include: /node_modules/, |
||||
}), |
||||
resolve(), |
||||
sourceMaps(), |
||||
env === 'production' && terser(), |
||||
], |
||||
}; |
||||
}; |
||||
export default [buildCjsPackage({ env: 'development' }), buildCjsPackage({ env: 'production' })]; |
||||
}, |
||||
{ |
||||
input: './compiled/index.d.ts', |
||||
plugins: [dts()], |
||||
output: { |
||||
file: pkg.publishConfig.types, |
||||
format: 'es', |
||||
}, |
||||
}, |
||||
]; |
||||
|
@ -1,13 +1,11 @@ |
||||
{ |
||||
"compilerOptions": { |
||||
"declarationDir": "dist", |
||||
"outDir": "compiled", |
||||
"rootDirs": ["."], |
||||
"paths": { |
||||
"@grafana/data": ["."] |
||||
} |
||||
"declarationDir": "./compiled", |
||||
"emitDeclarationOnly": true, |
||||
"isolatedModules": true, |
||||
"rootDirs": ["."] |
||||
}, |
||||
"exclude": ["dist", "node_modules"], |
||||
"exclude": ["dist/**/*"], |
||||
"extends": "@grafana/tsconfig", |
||||
"include": ["src/**/*.ts*", "typings/jest", "../../public/app/types/jquery/*.ts", "../../public/app/types/*.d.ts"] |
||||
} |
||||
|
@ -1,7 +0,0 @@ |
||||
'use strict'; |
||||
|
||||
if (process.env.NODE_ENV === 'production') { |
||||
module.exports = require('./index.production.js'); |
||||
} else { |
||||
module.exports = require('./index.development.js'); |
||||
} |
@ -1,25 +1,37 @@ |
||||
import resolve from '@rollup/plugin-node-resolve'; |
||||
import sourceMaps from 'rollup-plugin-sourcemaps'; |
||||
import { terser } from 'rollup-plugin-terser'; |
||||
import path from 'path'; |
||||
import dts from 'rollup-plugin-dts'; |
||||
import esbuild from 'rollup-plugin-esbuild'; |
||||
import { externals } from 'rollup-plugin-node-externals'; |
||||
|
||||
const pkg = require('./package.json'); |
||||
|
||||
const libraryName = pkg.name; |
||||
|
||||
const buildCjsPackage = ({ env }) => { |
||||
return { |
||||
input: `compiled/index.js`, |
||||
export default [ |
||||
{ |
||||
input: 'src/index.ts', |
||||
plugins: [externals({ deps: true, packagePath: './package.json' }), resolve(), esbuild()], |
||||
output: [ |
||||
{ |
||||
file: `dist/index.${env}.js`, |
||||
name: libraryName, |
||||
format: 'cjs', |
||||
sourcemap: true, |
||||
exports: 'named', |
||||
globals: {}, |
||||
dir: path.dirname(pkg.publishConfig.main), |
||||
}, |
||||
{ |
||||
format: 'esm', |
||||
sourcemap: true, |
||||
dir: path.dirname(pkg.publishConfig.module), |
||||
preserveModules: true, |
||||
// @ts-expect-error (TS cannot assure that `process.env.PROJECT_CWD` is a string)
|
||||
preserveModulesRoot: path.join(process.env.PROJECT_CWD, `packages/grafana-e2e-selectors/src`), |
||||
}, |
||||
], |
||||
plugins: [resolve(), sourceMaps(), env === 'production' && terser()], |
||||
}; |
||||
}; |
||||
export default [buildCjsPackage({ env: 'development' }), buildCjsPackage({ env: 'production' })]; |
||||
}, |
||||
{ |
||||
input: './compiled/index.d.ts', |
||||
plugins: [dts()], |
||||
output: { |
||||
file: pkg.publishConfig.types, |
||||
format: 'es', |
||||
}, |
||||
}, |
||||
]; |
||||
|
@ -1,10 +1,11 @@ |
||||
{ |
||||
"compilerOptions": { |
||||
"declarationDir": "dist", |
||||
"outDir": "compiled", |
||||
"declarationDir": "./compiled", |
||||
"emitDeclarationOnly": true, |
||||
"isolatedModules": true, |
||||
"rootDirs": ["."] |
||||
}, |
||||
"exclude": ["dist", "node_modules"], |
||||
"exclude": ["dist/**/*"], |
||||
"extends": "@grafana/tsconfig", |
||||
"include": ["src/**/*.ts"] |
||||
} |
||||
|
@ -1,7 +0,0 @@ |
||||
'use strict'; |
||||
|
||||
if (process.env.NODE_ENV === 'production') { |
||||
module.exports = require('./index.production.js'); |
||||
} else { |
||||
module.exports = require('./index.development.js'); |
||||
} |
@ -1,39 +1,43 @@ |
||||
import commonjs from '@rollup/plugin-commonjs'; |
||||
import resolve from '@rollup/plugin-node-resolve'; |
||||
import path from 'path'; |
||||
import copy from 'rollup-plugin-copy'; |
||||
import sourceMaps from 'rollup-plugin-sourcemaps'; |
||||
import { terser } from 'rollup-plugin-terser'; |
||||
import dts from 'rollup-plugin-dts'; |
||||
import esbuild from 'rollup-plugin-esbuild'; |
||||
import { externals } from 'rollup-plugin-node-externals'; |
||||
|
||||
const { name } = require('./package.json'); |
||||
const pkg = require('./package.json'); |
||||
|
||||
const buildCjsPackage = ({ env }) => ({ |
||||
input: 'compiled/index.js', |
||||
output: { |
||||
file: `dist/index.${env}.js`, |
||||
name, |
||||
format: 'cjs', |
||||
sourcemap: true, |
||||
exports: 'named', |
||||
globals: {}, |
||||
export default [ |
||||
{ |
||||
input: 'src/index.ts', |
||||
plugins: [ |
||||
copy({ |
||||
flatten: false, |
||||
targets: [ |
||||
{ src: 'bin/**/*.*', dest: 'dist/bin/' }, |
||||
{ src: 'cli.js', dest: 'dist/' }, |
||||
{ src: 'cypress.json', dest: 'dist/' }, |
||||
{ src: 'cypress/**/*.*', dest: 'dist/cypress/' }, |
||||
], |
||||
}), |
||||
externals({ deps: true, packagePath: './package.json' }), |
||||
resolve(), |
||||
esbuild({ target: 'node16' }), |
||||
], |
||||
output: [ |
||||
{ |
||||
format: 'cjs', |
||||
sourcemap: true, |
||||
dir: path.dirname(pkg.publishConfig.main), |
||||
}, |
||||
], |
||||
}, |
||||
external: ['@grafana/e2e-selectors'], |
||||
plugins: [ |
||||
copy({ |
||||
flatten: false, |
||||
targets: [ |
||||
{ src: 'bin/**/*.*', dest: 'dist/bin/' }, |
||||
{ src: 'cli.js', dest: 'dist/' }, |
||||
{ src: 'cypress.json', dest: 'dist/' }, |
||||
{ src: 'cypress/**/*.*', dest: 'dist/cypress/' }, |
||||
], |
||||
}), |
||||
commonjs({ |
||||
include: /node_modules/, |
||||
}), |
||||
resolve(), |
||||
sourceMaps(), |
||||
env === 'production' && terser(), |
||||
], |
||||
}); |
||||
|
||||
export default [buildCjsPackage({ env: 'development' }), buildCjsPackage({ env: 'production' })]; |
||||
{ |
||||
input: './compiled/index.d.ts', |
||||
plugins: [dts()], |
||||
output: { |
||||
file: pkg.publishConfig.types, |
||||
format: 'es', |
||||
}, |
||||
}, |
||||
]; |
||||
|
@ -1,5 +1,5 @@ |
||||
import { setTimeRange, TimeRangeConfig } from './setTimeRange'; |
||||
|
||||
export { TimeRangeConfig }; |
||||
export type { TimeRangeConfig }; |
||||
|
||||
export const setDashboardTimeRange = (config: TimeRangeConfig) => setTimeRange(config); |
||||
|
@ -1,11 +1,12 @@ |
||||
{ |
||||
"compilerOptions": { |
||||
"declarationDir": "dist", |
||||
"outDir": "compiled", |
||||
"declarationDir": "./compiled", |
||||
"emitDeclarationOnly": true, |
||||
"isolatedModules": true, |
||||
"rootDirs": ["."], |
||||
"types": ["cypress"] |
||||
}, |
||||
"exclude": ["dist", "node_modules"], |
||||
"exclude": ["dist/**/*"], |
||||
"extends": "@grafana/tsconfig", |
||||
"include": ["src/**/*.ts", "cypress/support/index.d.ts"] |
||||
} |
||||
|
@ -1,7 +0,0 @@ |
||||
'use strict'; |
||||
|
||||
if (process.env.NODE_ENV === 'production') { |
||||
module.exports = require('./index.production.js'); |
||||
} else { |
||||
module.exports = require('./index.development.js'); |
||||
} |
@ -1,34 +1,37 @@ |
||||
import commonjs from '@rollup/plugin-commonjs'; |
||||
import resolve from '@rollup/plugin-node-resolve'; |
||||
import sourceMaps from 'rollup-plugin-sourcemaps'; |
||||
import { terser } from 'rollup-plugin-terser'; |
||||
import path from 'path'; |
||||
import dts from 'rollup-plugin-dts'; |
||||
import esbuild from 'rollup-plugin-esbuild'; |
||||
import { externals } from 'rollup-plugin-node-externals'; |
||||
|
||||
const pkg = require('./package.json'); |
||||
|
||||
const libraryName = pkg.name; |
||||
|
||||
const buildCjsPackage = ({ env }) => { |
||||
return { |
||||
input: `compiled/index.js`, |
||||
export default [ |
||||
{ |
||||
input: 'src/index.ts', |
||||
plugins: [externals({ deps: true, packagePath: './package.json' }), resolve(), esbuild()], |
||||
output: [ |
||||
{ |
||||
file: `dist/index.${env}.js`, |
||||
name: libraryName, |
||||
format: 'cjs', |
||||
sourcemap: true, |
||||
exports: 'named', |
||||
globals: {}, |
||||
dir: path.dirname(pkg.publishConfig.main), |
||||
}, |
||||
{ |
||||
format: 'esm', |
||||
sourcemap: true, |
||||
dir: path.dirname(pkg.publishConfig.module), |
||||
preserveModules: true, |
||||
// @ts-expect-error (TS cannot assure that `process.env.PROJECT_CWD` is a string)
|
||||
preserveModulesRoot: path.join(process.env.PROJECT_CWD, `packages/grafana-runtime/src`), |
||||
}, |
||||
], |
||||
external: ['lodash', 'react', '@grafana/ui', '@grafana/data', '@grafana/schema', '@grafana/e2e-selectors'], // Use Lodash from grafana
|
||||
plugins: [ |
||||
commonjs({ |
||||
include: /node_modules/, |
||||
}), |
||||
resolve(), |
||||
sourceMaps(), |
||||
env === 'production' && terser(), |
||||
], |
||||
}; |
||||
}; |
||||
export default [buildCjsPackage({ env: 'development' }), buildCjsPackage({ env: 'production' })]; |
||||
}, |
||||
{ |
||||
input: './compiled/index.d.ts', |
||||
plugins: [dts()], |
||||
output: { |
||||
file: pkg.publishConfig.types, |
||||
format: 'es', |
||||
}, |
||||
}, |
||||
]; |
||||
|
@ -1,7 +0,0 @@ |
||||
'use strict'; |
||||
|
||||
if (process.env.NODE_ENV === 'production') { |
||||
module.exports = require('./index.production.js'); |
||||
} else { |
||||
module.exports = require('./index.development.js'); |
||||
} |
@ -1,33 +1,37 @@ |
||||
import commonjs from '@rollup/plugin-commonjs'; |
||||
import resolve from '@rollup/plugin-node-resolve'; |
||||
import sourceMaps from 'rollup-plugin-sourcemaps'; |
||||
import { terser } from 'rollup-plugin-terser'; |
||||
import path from 'path'; |
||||
import dts from 'rollup-plugin-dts'; |
||||
import esbuild from 'rollup-plugin-esbuild'; |
||||
import { externals } from 'rollup-plugin-node-externals'; |
||||
|
||||
const pkg = require('./package.json'); |
||||
|
||||
const libraryName = pkg.name; |
||||
|
||||
const buildCjsPackage = ({ env }) => { |
||||
return { |
||||
input: `compiled/index.js`, |
||||
export default [ |
||||
{ |
||||
input: 'src/index.ts', |
||||
plugins: [externals({ deps: true, packagePath: './package.json' }), resolve(), esbuild()], |
||||
output: [ |
||||
{ |
||||
file: `dist/index.${env}.js`, |
||||
name: libraryName, |
||||
format: 'cjs', |
||||
sourcemap: true, |
||||
exports: 'named', |
||||
globals: {}, |
||||
dir: path.dirname(pkg.publishConfig.main), |
||||
}, |
||||
{ |
||||
format: 'esm', |
||||
sourcemap: true, |
||||
dir: path.dirname(pkg.publishConfig.module), |
||||
preserveModules: true, |
||||
// @ts-expect-error (TS cannot assure that `process.env.PROJECT_CWD` is a string)
|
||||
preserveModulesRoot: path.join(process.env.PROJECT_CWD, `packages/grafana-schema/src`), |
||||
}, |
||||
], |
||||
plugins: [ |
||||
commonjs({ |
||||
include: /node_modules/, |
||||
}), |
||||
resolve(), |
||||
sourceMaps(), |
||||
env === 'production' && terser(), |
||||
], |
||||
}; |
||||
}; |
||||
export default [buildCjsPackage({ env: 'development' }), buildCjsPackage({ env: 'production' })]; |
||||
}, |
||||
{ |
||||
input: './compiled/index.d.ts', |
||||
plugins: [dts()], |
||||
output: { |
||||
file: pkg.publishConfig.types, |
||||
format: 'es', |
||||
}, |
||||
}, |
||||
]; |
||||
|
@ -1,4 +1,5 @@ |
||||
{ |
||||
"exclude": ["dist", "node_modules", "**/*.test.ts*"], |
||||
// dashboard_experimental.gen.ts needs ignoring as isolatedModules requires it to contain an import or export statement. |
||||
"exclude": ["dist/**/*", "src/schema/dashboard/dashboard_experimental.gen.ts", "**/*.test.ts*"], |
||||
"extends": "./tsconfig.json" |
||||
} |
||||
|
@ -1,10 +1,12 @@ |
||||
{ |
||||
"compilerOptions": { |
||||
"declarationDir": "dist", |
||||
"outDir": "compiled", |
||||
"declarationDir": "./compiled", |
||||
"emitDeclarationOnly": true, |
||||
"isolatedModules": true, |
||||
"rootDirs": ["."] |
||||
}, |
||||
"exclude": ["dist", "node_modules"], |
||||
// dashboard_experimental.gen.ts needs ignoring as isolatedModules requires it to contain an import or export statement. |
||||
"exclude": ["dist/**/*", "src/schema/dashboard/dashboard_experimental.gen.ts"], |
||||
"extends": "@grafana/tsconfig", |
||||
"include": ["src/**/*.ts*"] |
||||
} |
||||
|
@ -1,7 +0,0 @@ |
||||
'use strict'; |
||||
|
||||
if (process.env.NODE_ENV === 'production') { |
||||
module.exports = require('./index.production.js'); |
||||
} else { |
||||
module.exports = require('./index.development.js'); |
||||
} |
@ -1,55 +1,38 @@ |
||||
import alias from '@rollup/plugin-alias'; |
||||
import commonjs from '@rollup/plugin-commonjs'; |
||||
import resolve from '@rollup/plugin-node-resolve'; |
||||
import path from 'path'; |
||||
import dts from 'rollup-plugin-dts'; |
||||
import esbuild from 'rollup-plugin-esbuild'; |
||||
import { externals } from 'rollup-plugin-node-externals'; |
||||
import svg from 'rollup-plugin-svg-import'; |
||||
import { terser } from 'rollup-plugin-terser'; |
||||
|
||||
const pkg = require('./package.json'); |
||||
|
||||
const libraryName = pkg.name; |
||||
|
||||
const buildCjsPackage = ({ env }) => { |
||||
return { |
||||
input: `compiled/index.js`, |
||||
export default [ |
||||
{ |
||||
input: 'src/index.ts', |
||||
plugins: [externals({ deps: true, packagePath: './package.json' }), resolve(), svg({ stringify: true }), esbuild()], |
||||
output: [ |
||||
{ |
||||
dir: 'dist', |
||||
name: libraryName, |
||||
format: 'cjs', |
||||
sourcemap: true, |
||||
strict: false, |
||||
exports: 'named', |
||||
chunkFileNames: `[name].${env}.js`, |
||||
globals: { |
||||
react: 'React', |
||||
'prop-types': 'PropTypes', |
||||
}, |
||||
dir: path.dirname(pkg.publishConfig.main), |
||||
}, |
||||
{ |
||||
format: 'esm', |
||||
sourcemap: true, |
||||
dir: path.dirname(pkg.publishConfig.module), |
||||
preserveModules: true, |
||||
// @ts-expect-error (TS cannot assure that `process.env.PROJECT_CWD` is a string)
|
||||
preserveModulesRoot: path.join(process.env.PROJECT_CWD, `packages/grafana-ui/src`), |
||||
}, |
||||
], |
||||
external: [ |
||||
'react', |
||||
'react-dom', |
||||
'@grafana/data', |
||||
'@grafana/schema', |
||||
'@grafana/e2e-selectors', |
||||
'moment', |
||||
'jquery', // required to use jquery.plot, which is assigned externally
|
||||
'react-inlinesvg', // required to mock Icon svg loading in tests
|
||||
'@emotion/react', |
||||
'@emotion/css', |
||||
], |
||||
plugins: [ |
||||
// rc-time-picker has a transitive dependency on component-indexof which
|
||||
// when bundled via `component-classes` imports a nonexistent `indexof` module.
|
||||
alias({ entries: [{ find: 'indexof', replacement: 'component-indexof' }] }), |
||||
commonjs({ |
||||
include: /node_modules/, |
||||
ignoreTryCatch: false, |
||||
}), |
||||
resolve(), |
||||
svg({ stringify: true }), |
||||
env === 'production' && terser(), |
||||
], |
||||
}; |
||||
}; |
||||
export default [buildCjsPackage({ env: 'development' }), buildCjsPackage({ env: 'production' })]; |
||||
}, |
||||
{ |
||||
input: './compiled/index.d.ts', |
||||
plugins: [dts()], |
||||
output: { |
||||
file: pkg.publishConfig.types, |
||||
format: 'es', |
||||
}, |
||||
}, |
||||
]; |
||||
|
@ -1,4 +1,11 @@ |
||||
import { FileDropzone, DropzoneFile, FileDropzoneProps, FileDropzoneDefaultChildren } from './FileDropzone'; |
||||
import { FileListItem, FileListItemProps } from './FileListItem'; |
||||
|
||||
export { FileDropzone, FileDropzoneProps, DropzoneFile, FileListItem, FileListItemProps, FileDropzoneDefaultChildren }; |
||||
export { |
||||
FileDropzone, |
||||
type FileDropzoneProps, |
||||
type DropzoneFile, |
||||
FileListItem, |
||||
type FileListItemProps, |
||||
FileDropzoneDefaultChildren, |
||||
}; |
||||
|
@ -1,3 +1,3 @@ |
||||
export { Tooltip, TooltipProps } from './Tooltip'; |
||||
export { Tooltip, type TooltipProps } from './Tooltip'; |
||||
export { PopoverController } from './PopoverController'; |
||||
export { TooltipPlacement, PopoverContent, PopoverContentProps } from './types'; |
||||
export type { TooltipPlacement, PopoverContent, PopoverContentProps } from './types'; |
||||
|
@ -1,3 +1,3 @@ |
||||
export { VizTooltip, VizTooltipContentProps, VizTooltipProps, ActiveDimensions } from './VizTooltip'; |
||||
export { VizTooltipContainer, VizTooltipContainerProps } from './VizTooltipContainer'; |
||||
export { SeriesTable, SeriesTableRow, SeriesTableProps, SeriesTableRowProps } from './SeriesTable'; |
||||
export { VizTooltip, type VizTooltipContentProps, type VizTooltipProps, type ActiveDimensions } from './VizTooltip'; |
||||
export { VizTooltipContainer, type VizTooltipContainerProps } from './VizTooltipContainer'; |
||||
export { SeriesTable, SeriesTableRow, type SeriesTableProps, type SeriesTableRowProps } from './SeriesTable'; |
||||
|
@ -1 +1 @@ |
||||
export { ActionMeta } from '../components/Select/types'; |
||||
export type { ActionMeta } from '../components/Select/types'; |
||||
|
@ -1,11 +1,18 @@ |
||||
{ |
||||
"compilerOptions": { |
||||
"baseUrl": "./", |
||||
"declarationDir": "dist", |
||||
"outDir": "compiled", |
||||
"rootDirs": [".", "stories"] |
||||
"declarationDir": "./compiled", |
||||
"emitDeclarationOnly": true, |
||||
"isolatedModules": true, |
||||
"rootDirs": ["."] |
||||
}, |
||||
"exclude": ["dist", "node_modules"], |
||||
"exclude": ["dist/**/*"], |
||||
"extends": "@grafana/tsconfig", |
||||
"include": ["src/**/*.ts*", "../../public/app/types/*.d.ts", "../grafana-schema/src/schema/models.gen.ts"] |
||||
"include": ["src/**/*.ts*", "../../public/app/types/*.d.ts"], |
||||
// override for storybook which uses ts-node to compile main.ts / preview.ts files. |
||||
"ts-node": { |
||||
"compilerOptions": { |
||||
"isolatedModules": false |
||||
} |
||||
} |
||||
} |
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue