forked from sombochea/verdaccio-ui
6b5d0b7e2e
This PR convert the code base to Typescript, the changes are the following: - migrate code base to Typescript (3.4.x) - enable `eslint` and `@typescript-eslint/eslint-plugin` (warnings still need to be addressed in future pull request - update relevant dependencies for this PR (linting, etc) - enable `bundlezise` (it was disabled for some reason) * refactor: refactoring to typescript * refactor: migrating to typescript * refactor: applied feedbacks * fix: fixed conflicts * refactored: changed registry * refactor: updated registry & removed unnecessary lib * fix: fixed registry ur * fix: fixed page load * refactor: refactored footer wip * refactor: converting to ts..wip * refactor: converting to ts. wip * refactor: converting to ts. wip * refactor: converting to ts * refactor: converting to ts * fix: fixed load errors * refactor: converted files to ts * refactor: removed flow from tests * fix: removed transpiled files * refactor: added ts-ignore * fix: fixed errors * fix: fixed types * fix: fixing jest import -.- * fix: fixing lint errors * fix: fixing lint errors * fix: fixed lint errors * refactor: removed unnecessary tsconfig's config * fix: fixing errors * fix: fixed warning * fix: fixed test * refactor: wip * refactor: wip * refactor: wip * fix: fixing tests: wip * wip * wip * fix: fixed search test * wip * fix: fixing lint errors * fix: re-added stylelint * refactor: updated stylelint script * fix: fixed: 'styles.js' were found. * fix: fixed Search tests * chore: enable eslint eslint needs expecitely to know which file has to lint, by default is JS, in this case we need also ts,tsx files eslint . --ext .js,.ts * chore: vcode eslint settings * chore: restore eslint previous conf * chore: clean jest config * chore: fix eslint warnings * chore: eslint errors cleared chore: clean warnings chore: remove github actions test phases chore: remove dupe rule * chore: update handler name * chore: restore logo from img to url css prop - loading images with css is more performant than using img html tags, switching this might be a breaking change - restore no-empty-source seems the linting do not accept false - update snapshots - remove @material-ui/styles * chore: update stylelint linting * chore: update stylelint linting * chore: fix a mistake on move tabs to a function * chore: eanble bundlezie * chore: use default_executor in circleci * chore: update readme
105 lines
2.0 KiB
JavaScript
105 lines
2.0 KiB
JavaScript
const env = require('../config/env');
|
|
const StyleLintPlugin = require('stylelint-webpack-plugin');
|
|
|
|
module.exports = {
|
|
entry: `${env.SRC_ROOT}/index.tsx`,
|
|
|
|
output: {
|
|
path: `${env.APP_ROOT}/static/`,
|
|
filename: '[name].[hash].js',
|
|
// FIXME: do we need this?
|
|
publicPath: 'ToReplaceByVerdaccio/-/static',
|
|
},
|
|
|
|
resolve: {
|
|
extensions: ['.js', '.jsx', '.ts', '.tsx'],
|
|
},
|
|
|
|
plugins: [
|
|
new StyleLintPlugin({
|
|
files: ['src/**/styles.ts'],
|
|
failOnError: false,
|
|
emitErrors: true,
|
|
}),
|
|
],
|
|
|
|
optimization: {
|
|
runtimeChunk: {
|
|
name: 'manifest',
|
|
},
|
|
splitChunks: {
|
|
cacheGroups: {
|
|
vendor: {
|
|
test: /[\\/]node_modules[\\/]/,
|
|
name: 'vendors',
|
|
priority: -20,
|
|
chunks: 'all',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
module: {
|
|
rules: [
|
|
/* Pre loader */
|
|
{
|
|
enforce: 'pre',
|
|
test: /\.jsx?$/,
|
|
exclude: /node_modules/,
|
|
use: 'eslint-loader',
|
|
},
|
|
|
|
/* Normal loader */
|
|
{
|
|
test: /\.jsx?$/,
|
|
exclude: /node_modules/,
|
|
use: 'babel-loader',
|
|
},
|
|
{
|
|
test: /\.(jpe?g|png|gif|svg)$/,
|
|
use: [
|
|
{
|
|
loader: 'file-loader',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
test: /\.(woff|woff2|eot|ttf|otf)$/,
|
|
loader: 'url-loader',
|
|
options: {
|
|
name: 'fonts/[name].[ext]',
|
|
limit: 50,
|
|
},
|
|
},
|
|
{
|
|
test: /\.scss$/,
|
|
exclude: /node_modules/,
|
|
loader: `style-loader!css-loader?module&sourceMap=false&localIdentName=[path][name]__[local]--[hash:base64:5]
|
|
!resolve-url-loader?keepQuery!sass-loader?sourceMap`,
|
|
},
|
|
{
|
|
test: /\.css$/,
|
|
use: [
|
|
{
|
|
loader: 'style-loader',
|
|
},
|
|
{
|
|
loader: 'css-loader',
|
|
},
|
|
],
|
|
},
|
|
|
|
/* Typescript loader */
|
|
{
|
|
test: /\.tsx?$/,
|
|
use: 'babel-loader',
|
|
exclude: /node_modules/,
|
|
},
|
|
],
|
|
},
|
|
|
|
stats: {
|
|
children: false,
|
|
},
|
|
};
|