mirror of
https://github.com/grafana/grafana.git
synced 2025-07-31 13:22:08 +08:00
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
This commit is contained in:
@ -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:
|
||||||
|
@ -1,5 +1,16 @@
|
|||||||
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 = {
|
|||||||
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 = {
|
|||||||
{
|
{
|
||||||
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 = {
|
|||||||
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,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user