diff --git a/packages/grafana-toolkit/README.md b/packages/grafana-toolkit/README.md index 060beb6ee18..0a6e6ee64ea 100644 --- a/packages/grafana-toolkit/README.md +++ b/packages/grafana-toolkit/README.md @@ -129,23 +129,20 @@ Currently we support following Jest configuration properties: ### How can I customize Webpack rules or plugins? You can provide your own webpack configuration. -Provide a function implementing `CustomWebpackConfigurationGetter` in a file named `webpack.config.ts`. +Provide a function implementing `CustomWebpackConfigurationGetter` in a file named `webpack.config.js`. You can import the correct interface and Options from `@grafana/toolkit/src/config`. Example -``` ts -import { CustomWebpackConfigurationGetter } from '@grafana/toolkit/src/config' +```js import CustomPlugin from 'custom-plugin'; -const getWebpackConfig: CustomWebpackConfigurationGetter = (defaultConfig, options) => { +export const getWebpackConfig = (defaultConfig, options) => { console.log('Custom config'); defaultConfig.plugins.push(new CustomPlugin()) return defaultConfig; -} - -export = getWebpackConfig; +}; ``` ### How can I style my plugin? diff --git a/packages/grafana-toolkit/src/config/mocks/webpack/overrides/webpack.config.js b/packages/grafana-toolkit/src/config/mocks/webpack/overrides/webpack.config.js new file mode 100644 index 00000000000..1b6c117c3f8 --- /dev/null +++ b/packages/grafana-toolkit/src/config/mocks/webpack/overrides/webpack.config.js @@ -0,0 +1,10 @@ +'use strict'; +const {cloneDeep} = require('lodash'); + +const overrideWebpackConfig = (originalConfig, options) => { + const config = cloneDeep(originalConfig); + config.name = 'customConfig'; + return config; +}; + +module.exports = overrideWebpackConfig; diff --git a/packages/grafana-toolkit/src/config/mocks/webpack/overrides/webpack.config.ts b/packages/grafana-toolkit/src/config/mocks/webpack/overrides/webpack.config.ts deleted file mode 100644 index 035cc825233..00000000000 --- a/packages/grafana-toolkit/src/config/mocks/webpack/overrides/webpack.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { CustomWebpackConfigurationGetter } from '../../../webpack.plugin.config'; -import _ from 'lodash'; - -const overrideWebpackConfig: CustomWebpackConfigurationGetter = (originalConfig, options) => { - const config = _.cloneDeep(originalConfig); - config.name = 'customConfig'; - return config; -}; - -export = overrideWebpackConfig; diff --git a/packages/grafana-toolkit/src/config/mocks/webpack/overridesNamedExport/webpack.config.js b/packages/grafana-toolkit/src/config/mocks/webpack/overridesNamedExport/webpack.config.js new file mode 100644 index 00000000000..d0d0e40db9c --- /dev/null +++ b/packages/grafana-toolkit/src/config/mocks/webpack/overridesNamedExport/webpack.config.js @@ -0,0 +1,8 @@ +'use strict'; +const {cloneDeep} = require('lodash'); + +module.exports.getWebpackConfig = (originalConfig, options) => { + const config = cloneDeep(originalConfig); + config.name = 'customConfig'; + return config; +}; diff --git a/packages/grafana-toolkit/src/config/mocks/webpack/overridesNamedExport/webpack.config.ts b/packages/grafana-toolkit/src/config/mocks/webpack/overridesNamedExport/webpack.config.ts deleted file mode 100644 index 8c02bebde72..00000000000 --- a/packages/grafana-toolkit/src/config/mocks/webpack/overridesNamedExport/webpack.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { CustomWebpackConfigurationGetter } from '../../../webpack.plugin.config'; -import _ from 'lodash'; - -export const getWebpackConfig: CustomWebpackConfigurationGetter = (originalConfig, options) => { - const config = _.cloneDeep(originalConfig); - config.name = 'customConfig'; - return config; -}; diff --git a/packages/grafana-toolkit/src/config/mocks/webpack/unsupportedOverride/webpack.config.ts b/packages/grafana-toolkit/src/config/mocks/webpack/unsupportedOverride/webpack.config.js similarity index 66% rename from packages/grafana-toolkit/src/config/mocks/webpack/unsupportedOverride/webpack.config.ts rename to packages/grafana-toolkit/src/config/mocks/webpack/unsupportedOverride/webpack.config.js index 5d518eb7abe..f62e5e8d0b4 100644 --- a/packages/grafana-toolkit/src/config/mocks/webpack/unsupportedOverride/webpack.config.ts +++ b/packages/grafana-toolkit/src/config/mocks/webpack/unsupportedOverride/webpack.config.js @@ -1,7 +1,5 @@ /* WRONG CONFIG ON PURPOSE - DO NOT COPY THIS */ -const config = { +module.exports.config = { name: 'test', }; - -export = config; diff --git a/packages/grafana-toolkit/src/config/webpack.plugin.config.ts b/packages/grafana-toolkit/src/config/webpack.plugin.config.ts index 0540f3186ea..ca6bdc0eb12 100644 --- a/packages/grafana-toolkit/src/config/webpack.plugin.config.ts +++ b/packages/grafana-toolkit/src/config/webpack.plugin.config.ts @@ -235,7 +235,7 @@ const getBaseWebpackConfig: WebpackConfigurationGetter = async options => { export const loadWebpackConfig: WebpackConfigurationGetter = async options => { const baseConfig = await getBaseWebpackConfig(options); - const customWebpackPath = path.resolve(process.cwd(), 'webpack.config.ts'); + const customWebpackPath = path.resolve(process.cwd(), 'webpack.config.js'); try { await accessPromise(customWebpackPath);