kibana/packages/kbn-pm/webpack.config.js

90 lines
2.5 KiB
JavaScript
Raw Normal View History

/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
const path = require('path');
module.exports = {
mode: 'none',
entry: {
2018-02-21 10:09:30 +01:00
index: './src/index.ts',
},
target: 'node',
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].js',
libraryTarget: 'commonjs2',
},
2018-02-21 10:09:30 +01:00
resolve: {
extensions: ['.ts', '.js'],
symlinks: false,
2018-02-21 10:09:30 +01:00
},
module: {
rules: [
{
2018-02-21 10:09:30 +01:00
test: /\.ts$/,
use: [
{
loader: 'babel-loader',
},
],
exclude: /node_modules/,
},
// Removing an unnecessary require from
// https://github.com/ForbesLindesay/spawn-sync/blob/8ba6d1bd032917ff5f0cf68508b91bb628d16336/index.js#L3
//
// This require would cause warnings when building with Webpack, and it's
// only required for Node <= 0.12.
{
test: /spawn-sync\/index\.js$/,
use: {
loader: 'string-replace-loader',
options: {
search: ` || require('./lib/spawn-sync')`,
replace: '',
strict: true,
},
},
},
Upgrade to NodeJS 10 (#25157) * feat(NA): upgrade node js version on file configs. * chore(NA): migrate configs and 3rd party dependencies to work on node js 10.x * fix(NA): add missing async function declaration. * chore(NA): updated elastic/good package to work with node10 * chore(NA): update lockfiles. * fix(NA): add missing dep. * fix(NA): types for node 10. * test(NA): fix error return type for node10. * fix(NA): kbn-pm webpack config to unlazy a require using lazy-cache. fix(NA): build to work with node 10. * test(NA): jest integration test for kbn-pluin-helpers. * test(NA): fix jest tests for kbn-es. * fix(NA): use ostmpdir instead of a tmp folder inside the fixtures. * fix(NA): change afterEach on kbn es decompress test. * fix(NA): change afterEach on kbn es decompress test. * fix(NA): readd mock-fs for the tests that still use it on kbn-es and that works on node10. * fix(NA): readd mock-fs for the tests that still use it on kbn-es and that works on node10. * refact(NA): rewrite tests using mock-fs and completely remove this dependency. * fix(NA): failing test implementation using jest mock in order to replace mock-fs. * fix(NA): update jest snapshots to match new ones generated one node 10. * fix(NA): cli/cluster mock to spyOn off method instead off spyOn removeListener as this was changed on Node 10. * fix(NA): tests for cluster_manager to also spyOn off and on instead of addListener and removeListener * test(NA): fix management advance settings image field test flow. * fix(NA): apply missing types for src/core/server/plugins/discovery/plugins_discovery.ts. * test(NA): updated 2 missing snapshots for KuiCodeEditor on kbn-ui-framework. * refact(NA): fix eslint errors. * refact(NA): fix ts code with tslint fix. chore(NA): update jest snapshots. * chore(NA): migrate kbn config schema peer dependency to last used joi version to avoid warning on bootstrap. * fix(NA): tslint errors. * chore(NA): upgrade types node to the last version. * fix(NA): missing utf8 input format encoding when reading a file. * chore(NA): upgrade to node 10.14.1 * fix(NA): Buffer api usage to avoid deprecation warnings.
2018-12-10 18:41:51 +01:00
// In order to make it work with Node 10 we had the need to upgrade
// the package cpy to a version >= 7.0.0. In this version cpy is
// using the new globby that relies in the fast-glob which relies
// in the new micromatch. The micromatch (use and class-utils) dependencies having a require
// that uses the lazy-cache which cannot be correctly extracted by webpack.
// According to the documentation we should use the unlazy-loader to solve
// this situation: https://github.com/jonschlinkert/lazy-cache#heads-up
// We can also found some issues arround this who also used unlazy-loader
// to solve this: https://github.com/micromatch/micromatch/issues/55
{
test: /node_modules\/(use|class-utils)\/utils\.js$/,
use: {
loader: 'unlazy-loader',
},
},
],
},
node: {
// Don't replace built-in globals
__filename: false,
__dirname: false,
},
externals: {
worker_threads: {
commonjs: 'worker_threads',
},
},
watchOptions: {
ignored: [/node_modules/, /vendor/],
},
};