1.0.256 • Published 9 months ago

@budarin/spa-react-app-config v1.0.256

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

@budarin/spa-react-app-config

Данный пакет основан на докладе Ивана Малюгина "А почему бы не вынести все конфиги в отдельный пакет, сократив бойлерплейт до нуля?"

Существует альтернативный проект heft

Преимущества использования внешнего пакета с базовыми настройками конфигураций приложения:

  • все проекты существуют в одном пространстве-времени с одними и теми же врсиями зависимостей (а те кто - нет - айяйяй! 😂)
  • все необходимые пакеты устанавливаются при помощи установки всего одного пакета
  • все приложения будут использовать единые настройки
  • ...

Неостатки:

  • в CI всегда будут устанавливаться все пакеты для разработки т.к. при публикации пакета устанавливаются только зависимости из секции dependencies, а в данном пакете мы вынуждены все пакеты размещать только в секции dependencies, чтобы они были установлены у клиента

Установка

yarn add @budarin/spa-react-app-config

для pnpm:

  • создайте файл .npmrc:
public-hoist-pattern[]=*
  • выполните команду установки: pnpm add @budarin/spa-react-app-config

Настройка проекта

В приложении нужно в файлах конфигурации, созданных в приложении, экспортировать импортированные из node_modules конфиги

babel.config.js

module.exports = require('@budarin/spa-react-app-config').getBabelConfig(__dirname);

prettier.config.js

module.exports = require('@budarin/spa-react-app-config').prettierConfig;

eslintrc.js

module.exports = require('@budarin/spa-react-app-config').eslintrc;

Используем eslintrc.js так как еще не все плагины готовы к новой конфигурации

stylelint.config.js

module.exports = require('@budarin/spa-react-app-config').stylelintConfig;

jest.config.js

module.exports = require('@budarin/spa-react-app-config').jestConfig;

playwright.config.ts

module.exports = require('@budarin/spa-react-app-config').playwrightConfig;

tsconfig

{
    "extends": "node_modules/@budarin/spa-react-app-config/tsconfig.json"
}

webpack

в общем случае просто экспортируем импортированный из node_modules конфиг

module.exports = require('@budarin/spa-react-app-config').webpackConfigs.getDevConfig();

но если конфиг нужно кастомизировать, то делаем это так

const defaultConfig = require('@budarin/spa-react-app-config').webpackConfigs.getDevConfig();

module.exports = {
    ...defaultConfig,
    module: {
        ...defaultConfig.module,
        rules: [
            ...defaultConfig.module.rules,
            {
                //new rules
            },
        ],
    },
};

CLI

spa-react-app-config

Options

  • install
@babel/core@babel/eslint-plugin@babel/plugin-transform-react-constant-elements@babel/plugin-transform-react-inline-elements@babel/preset-env@babel/preset-react@babel/preset-typescript@bem-react/classname@budarin/browser-pino-dev-logger@budarin/browser-pino-logger@budarin/cache-store@budarin/deep-equal@budarin/json-rpc-request@budarin/local-store@budarin/no-ops-service@budarin/service-stub@budarin/ulid@budarin/validate.ts@statoscope/webpack-plugin@testing-library/jest-dom@testing-library/react@testing-library/user-event@types/dom-screen-wake-lock@types/jest@types/node@types/react@types/react-dom@types/serviceworker@types/trusted-types@types/webpack-env@typescript-eslint/eslint-plugin@typescript-eslint/parserbabel-loaderbabel-plugin-react-remove-propertiesbrowserslistcaniuse-litecookie-parsercopy-webpack-plugincore-jscss-loadercssnanoesbuild-loadereslinteslint-config-airbnbeslint-config-prettiereslint-import-resolver-typescripteslint-plugin-boundarieseslint-plugin-importeslint-plugin-jesteslint-plugin-jest-domeslint-plugin-jsx-a11yeslint-plugin-optimize-regexeslint-plugin-reacteslint-plugin-react-hookseslint-plugin-sonarjseslint-plugin-testing-libraryglobalshtml-webpack-pluginidentity-obj-proxyjestjest-environment-jsdomlint-stagedpostcsspostcss-loaderpostcss-pixels-to-rempostcss-preset-envprettierraw-loaderreactreact-ariareact-domreact-toastifystyle-loaderstylelintstylelint-config-clean-orderstylelint-config-standardstylelint-no-unsupported-browser-featuresstylelint-plugin-defensive-cssstylelint-use-logical-specterser-webpack-plugints-jesttsconfig-paths-webpack-plugintypescriptwebpackwebpack-assets-manifestwebpack-cliwebpack-dev-serverzustandzx
1.0.256

9 months ago

1.0.253

12 months ago

1.0.252

12 months ago

1.0.254

10 months ago

1.0.251

12 months ago

1.0.250

12 months ago

1.0.228

1 year ago

1.0.229

1 year ago

1.0.242

12 months ago

1.0.241

12 months ago

1.0.244

12 months ago

1.0.243

12 months ago

1.0.240

12 months ago

1.0.249

12 months ago

1.0.246

12 months ago

1.0.245

12 months ago

1.0.248

12 months ago

1.0.247

12 months ago

1.0.231

1 year ago

1.0.230

1 year ago

1.0.233

1 year ago

1.0.232

1 year ago

1.0.239

12 months ago

1.0.238

12 months ago

1.0.235

12 months ago

1.0.234

12 months ago

1.0.237

12 months ago

1.0.236

12 months ago

1.0.220

1 year ago

1.0.222

1 year ago

1.0.221

1 year ago

1.0.227

1 year ago

1.0.224

1 year ago

1.0.223

1 year ago

1.0.226

1 year ago

1.0.225

1 year ago

1.0.219

1 year ago

1.0.217

1 year ago

1.0.216

1 year ago

1.0.218

1 year ago

1.0.213

1 year ago

1.0.212

1 year ago

1.0.215

1 year ago

1.0.214

1 year ago

1.0.211

1 year ago

1.0.210

1 year ago

1.0.209

1 year ago

1.0.208

1 year ago

1.0.207

1 year ago

1.0.206

1 year ago

1.0.205

1 year ago

1.0.204

1 year ago

1.0.203

1 year ago

1.0.202

1 year ago

1.0.201

1 year ago

1.0.200

1 year ago

1.0.199

1 year ago

1.0.198

1 year ago

1.0.197

1 year ago

1.0.196

1 year ago

1.0.194

1 year ago

1.0.195

1 year ago

1.0.193

1 year ago

1.0.192

1 year ago

1.0.191

1 year ago

1.0.189

1 year ago

1.0.190

1 year ago

1.0.188

1 year ago

1.0.187

1 year ago

1.0.186

1 year ago

1.0.185

1 year ago

1.0.184

1 year ago

1.0.183

1 year ago

1.0.182

1 year ago

1.0.181

1 year ago

1.0.180

1 year ago

1.0.179

1 year ago

1.0.175

1 year ago

1.0.178

1 year ago

1.0.177

1 year ago

1.0.174

1 year ago

1.0.173

1 year ago

1.0.172

1 year ago

1.0.171

1 year ago

1.0.170

1 year ago

1.0.169

1 year ago

1.0.167

1 year ago

1.0.168

1 year ago

1.0.166

1 year ago

1.0.165

1 year ago

1.0.164

1 year ago

1.0.163

1 year ago

1.0.162

1 year ago

1.0.161

1 year ago

1.0.160

1 year ago

1.0.159

1 year ago

1.0.158

1 year ago

1.0.154

1 year ago

1.0.153

1 year ago

1.0.156

1 year ago

1.0.155

1 year ago

1.0.157

1 year ago

1.0.152

1 year ago

1.0.151

1 year ago

1.0.150

1 year ago

1.0.149

1 year ago

1.0.143

1 year ago

1.0.142

1 year ago

1.0.145

1 year ago

1.0.144

1 year ago

1.0.147

1 year ago

1.0.146

1 year ago

1.0.148

1 year ago

1.0.141

1 year ago

1.0.140

1 year ago

1.0.139

1 year ago

1.0.138

2 years ago

1.0.136

2 years ago

1.0.135

2 years ago

1.0.137

2 years ago

1.0.134

2 years ago

1.0.133

2 years ago

1.0.132

2 years ago

1.0.131

2 years ago

1.0.130

2 years ago

1.0.129

2 years ago

1.0.128

2 years ago

1.0.125

2 years ago

1.0.127

2 years ago

1.0.126

2 years ago

1.0.123

2 years ago

1.0.124

2 years ago

1.0.121

2 years ago

1.0.120

2 years ago

1.0.122

2 years ago

1.0.118

2 years ago

1.0.117

2 years ago

1.0.119

2 years ago

1.0.116

2 years ago

1.0.115

2 years ago

1.0.114

2 years ago

1.0.101

2 years ago

1.0.107

2 years ago

1.0.106

2 years ago

1.0.109

2 years ago

1.0.108

2 years ago

1.0.103

2 years ago

1.0.102

2 years ago

1.0.105

2 years ago

1.0.104

2 years ago

1.0.110

2 years ago

1.0.112

2 years ago

1.0.111

2 years ago

1.0.113

2 years ago

1.0.100

2 years ago

1.0.99

2 years ago

1.0.98

2 years ago

1.0.97

2 years ago

1.0.96

2 years ago

1.0.95

2 years ago

1.0.94

2 years ago

1.0.93

2 years ago

1.0.92

2 years ago

1.0.91

2 years ago

1.0.90

2 years ago

1.0.89

2 years ago

1.0.88

2 years ago

1.0.87

2 years ago

1.0.86

2 years ago

1.0.85

2 years ago

1.0.84

2 years ago

1.0.83

2 years ago

1.0.82

2 years ago

1.0.81

2 years ago

1.0.80

2 years ago

1.0.79

2 years ago

1.0.78

2 years ago

1.0.77

2 years ago

1.0.76

2 years ago

1.0.75

2 years ago

1.0.74

2 years ago

1.0.73

2 years ago

1.0.72

2 years ago

1.0.71

2 years ago

1.0.70

2 years ago

1.0.69

2 years ago

1.0.68

2 years ago

1.0.67

2 years ago

1.0.66

2 years ago

1.0.65

2 years ago

1.0.64

2 years ago

1.0.63

2 years ago

1.0.62

2 years ago

1.0.61

2 years ago

1.0.60

2 years ago

1.0.59

2 years ago

1.0.58

2 years ago

1.0.57

2 years ago

1.0.56

2 years ago

1.0.55

2 years ago

1.0.54

2 years ago

1.0.53

2 years ago

1.0.52

2 years ago

1.0.51

2 years ago

1.0.50

2 years ago

1.0.49

2 years ago

1.0.48

2 years ago

1.0.47

2 years ago

1.0.46

2 years ago

1.0.45

2 years ago

1.0.44

2 years ago

1.0.43

2 years ago

1.0.42

2 years ago

1.0.41

2 years ago

1.0.40

2 years ago

1.0.39

2 years ago

1.0.38

2 years ago

1.0.37

2 years ago

1.0.36

2 years ago

1.0.35

2 years ago

1.0.34

2 years ago

1.0.33

2 years ago

1.0.32

2 years ago

1.0.31

2 years ago

1.0.30

2 years ago

1.0.28

2 years ago

1.0.27

2 years ago

1.0.26

2 years ago

1.0.25

2 years ago

1.0.24

2 years ago

1.0.23

2 years ago

1.0.22

2 years ago

1.0.21

2 years ago

1.0.20

2 years ago

1.0.19

2 years ago

1.0.18

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago