Commit 814020c0 by Dominik Prokop Committed by GitHub

Circle: Introduce es-check to branches & pr workflow (#21677)

* Transpile selected es6 node deps

* Add es-check to build-fast-frontend

* change es-check is used

* transpile react-hook-form
parent 296af36a
...@@ -419,6 +419,12 @@ jobs: ...@@ -419,6 +419,12 @@ jobs:
- run: - run:
name: build grafana frontend name: build grafana frontend
command: './scripts/build/build.sh --fast --frontend-only' command: './scripts/build/build.sh --fast --frontend-only'
- run:
name: es-check install
command: 'yarn global add es-check'
- run:
name: es-check run
command: 'es-check es5 ./public/build/*.js'
- save_cache: - save_cache:
key: frontend-dependency-cache-{{ checksum "yarn.lock" }} key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
paths: paths:
......
const path = require('path'); const path = require('path');
// https://github.com/visionmedia/debug/issues/701#issuecomment-505487361
function shouldExclude(filename) {
const packagesToProcessbyBabel = ['debug', 'lru-cache', 'yallist', 'apache-arrow', 'react-hook-form'];
for (const package of packagesToProcessbyBabel) {
if (filename.indexOf(`node_modules/${package}`) > 0) {
return false;
}
}
return true;
}
module.exports = { module.exports = {
target: 'web', target: 'web',
entry: { entry: {
...@@ -19,15 +30,34 @@ module.exports = { ...@@ -19,15 +30,34 @@ module.exports = {
stats: { stats: {
children: false, children: false,
warningsFilter: /export .* was not found in/, warningsFilter: /export .* was not found in/,
source: false source: false,
}, },
node: { node: {
fs: 'empty', fs: 'empty',
}, },
module: { module: {
rules: [{ rules: [
/**
* Some npm packages are bundled with es2015 syntax, ie. debug
* To make them work with PhantomJS we need to transpile them
* to get rid of unsupported syntax.
*/
{
test: /\.js$/,
exclude: shouldExclude,
use: [
{
loader: 'babel-loader',
options: {
presets: [['@babel/preset-env']],
},
},
],
},
{
test: require.resolve('jquery'), test: require.resolve('jquery'),
use: [{ use: [
{
loader: 'expose-loader', loader: 'expose-loader',
query: 'jQuery', query: 'jQuery',
}, },
...@@ -40,7 +70,8 @@ module.exports = { ...@@ -40,7 +70,8 @@ module.exports = {
{ {
test: /\.html$/, test: /\.html$/,
exclude: /(index|error)\-template\.html/, exclude: /(index|error)\-template\.html/,
use: [{ use: [
{
loader: 'ngtemplate-loader?relativeTo=' + path.resolve(__dirname, '../../public') + '&prefix=public', loader: 'ngtemplate-loader?relativeTo=' + path.resolve(__dirname, '../../public') + '&prefix=public',
}, },
{ {
...@@ -68,26 +99,26 @@ module.exports = { ...@@ -68,26 +99,26 @@ module.exports = {
test: /[\\/]node_modules[\\/]moment[\\/].*[jt]sx?$/, test: /[\\/]node_modules[\\/]moment[\\/].*[jt]sx?$/,
chunks: 'initial', chunks: 'initial',
priority: 20, priority: 20,
enforce: true enforce: true,
}, },
angular: { angular: {
test: /[\\/]node_modules[\\/]angular[\\/].*[jt]sx?$/, test: /[\\/]node_modules[\\/]angular[\\/].*[jt]sx?$/,
chunks: 'initial', chunks: 'initial',
priority: 50, priority: 50,
enforce: true enforce: true,
}, },
vendors: { vendors: {
test: /[\\/]node_modules[\\/].*[jt]sx?$/, test: /[\\/]node_modules[\\/].*[jt]sx?$/,
chunks: 'initial', chunks: 'initial',
priority: -10, priority: -10,
reuseExistingChunk: true, reuseExistingChunk: true,
enforce: true enforce: true,
}, },
default: { default: {
priority: -20, priority: -20,
chunks: 'all', chunks: 'all',
test: /.*[jt]sx?$/, test: /.*[jt]sx?$/,
reuseExistingChunk: true reuseExistingChunk: true,
}, },
}, },
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment