1.0.256 • Published 10 months ago

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

Weekly downloads
-
License
MIT
Repository
github
Last release
10 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

10 months ago

1.0.253

1 year ago

1.0.252

1 year ago

1.0.254

11 months ago

1.0.251

1 year ago

1.0.250

1 year ago

1.0.228

1 year ago

1.0.229

1 year ago

1.0.242

1 year ago

1.0.241

1 year ago

1.0.244

1 year ago

1.0.243

1 year ago

1.0.240

1 year ago

1.0.249

1 year ago

1.0.246

1 year ago

1.0.245

1 year ago

1.0.248

1 year ago

1.0.247

1 year 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

1 year ago

1.0.238

1 year ago

1.0.235

1 year ago

1.0.234

1 year ago

1.0.237

1 year ago

1.0.236

1 year 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

2 years ago

1.0.151

2 years ago

1.0.150

2 years ago

1.0.149

2 years ago

1.0.143

2 years ago

1.0.142

2 years ago

1.0.145

2 years ago

1.0.144

2 years ago

1.0.147

2 years ago

1.0.146

2 years ago

1.0.148

2 years ago

1.0.141

2 years ago

1.0.140

2 years ago

1.0.139

2 years 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