mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2024-11-10 19:56:54 +03:00
Refactor extension builds (#1265)
* Update for Edge build * Refactor builds * Update permissions * Update tests
This commit is contained in:
parent
27f13c02e6
commit
adff9dd9f9
18
.github/workflows/release.yml
vendored
18
.github/workflows/release.yml
vendored
|
@ -38,3 +38,21 @@ jobs:
|
|||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
||||
- name: Archive Chrome Extension
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Chrome extension
|
||||
path: extension/chrome/dist/chrome.zip
|
||||
|
||||
- name: Archive Edge Extension
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Edge extension
|
||||
path: extension/edge/dist/edge.zip
|
||||
|
||||
- name: Archive Firefox Extension
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Edge extension
|
||||
path: extension/firefox/dist/firefox.zip
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
node_modules
|
||||
build
|
||||
dev
|
||||
webpack/replace
|
||||
examples
|
||||
npm-package
|
||||
_book
|
||||
node_modules
|
||||
dist
|
||||
examples
|
||||
|
|
9
extension/.gitignore
vendored
9
extension/.gitignore
vendored
|
@ -1,9 +1,2 @@
|
|||
node_modules
|
||||
npm-debug.log
|
||||
.DS_Store
|
||||
.idea/
|
||||
dist/
|
||||
build/
|
||||
dev/
|
||||
tmp/
|
||||
_book
|
||||
dist
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
"version": "3.0.11",
|
||||
"name": "Redux DevTools",
|
||||
"short_name": "Redux DevTools",
|
||||
"description": "Redux DevTools for debugging application's state changes.",
|
||||
"homepage_url": "https://github.com/reduxjs/redux-devtools",
|
||||
"manifest_version": 2,
|
||||
|
|
67
extension/edge/manifest.json
Normal file
67
extension/edge/manifest.json
Normal file
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"version": "3.0.11",
|
||||
"name": "Redux DevTools",
|
||||
"description": "Redux DevTools for debugging application's state changes.",
|
||||
"homepage_url": "https://github.com/reduxjs/redux-devtools",
|
||||
"manifest_version": 2,
|
||||
"page_action": {
|
||||
"default_icon": "img/logo/gray.png",
|
||||
"default_title": "Redux DevTools",
|
||||
"default_popup": "window.html#popup"
|
||||
},
|
||||
"commands": {
|
||||
"devtools-left": {
|
||||
"description": "DevTools window to left"
|
||||
},
|
||||
"devtools-right": {
|
||||
"description": "DevTools window to right"
|
||||
},
|
||||
"devtools-bottom": {
|
||||
"description": "DevTools window to bottom"
|
||||
},
|
||||
"devtools-remote": {
|
||||
"description": "Remote DevTools"
|
||||
},
|
||||
"_execute_page_action": {
|
||||
"suggested_key": {
|
||||
"default": "Ctrl+Shift+E"
|
||||
}
|
||||
}
|
||||
},
|
||||
"icons": {
|
||||
"16": "img/logo/16x16.png",
|
||||
"48": "img/logo/48x48.png",
|
||||
"128": "img/logo/128x128.png"
|
||||
},
|
||||
"options_ui": {
|
||||
"page": "options.html",
|
||||
"chrome_style": true
|
||||
},
|
||||
"background": {
|
||||
"scripts": ["background.bundle.js"],
|
||||
"persistent": false
|
||||
},
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": ["<all_urls>"],
|
||||
"exclude_globs": ["https://www.google*"],
|
||||
"js": ["content.bundle.js", "pagewrap.bundle.js"],
|
||||
"run_at": "document_start",
|
||||
"all_frames": true
|
||||
}
|
||||
],
|
||||
"devtools_page": "devtools.html",
|
||||
"web_accessible_resources": ["page.bundle.js"],
|
||||
"externally_connectable": {
|
||||
"ids": ["*"]
|
||||
},
|
||||
"permissions": [
|
||||
"notifications",
|
||||
"contextMenus",
|
||||
"storage",
|
||||
"file:///*",
|
||||
"http://*/*",
|
||||
"https://*/*"
|
||||
],
|
||||
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'; style-src * 'unsafe-inline'; img-src 'self' data:;"
|
||||
}
|
|
@ -11,16 +11,14 @@
|
|||
"url": "https://github.com/reduxjs/redux-devtools.git"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "webpack --config webpack/dev.config.babel.js",
|
||||
"build": "pnpm run build:extension && pnpm run build:firefox",
|
||||
"build:extension": "rimraf build/extension && webpack --config webpack/wrap.config.babel.js && webpack --config webpack/prod.config.babel.js",
|
||||
"build:firefox": "webpack --config webpack/prod.firefox.config.babel.js",
|
||||
"start": "webpack --env development --watch",
|
||||
"build": "pnpm run build:extension && pnpm run build:chrome && pnpm run build:edge && pnpm run build:firefox",
|
||||
"build:extension": "webpack --env production && webpack --config wrap.webpack.config.js",
|
||||
"build:chrome": "cpy dist/** chrome/dist/unpacked && cpy manifest.json dist/unpacked --cwd chrome && bestzip chrome/dist/chrome.zip chrome/dist/unpacked",
|
||||
"build:edge": "cpy dist/** edge/dist/unpacked && cpy manifest.json dist/unpacked --cwd edge && bestzip edge/dist/edge.zip edge/dist/unpacked",
|
||||
"build:firefox": "cpy dist/** firefox/dist/unpacked && cpy manifest.json dist/unpacked --cwd firefox && bestzip firefox/dist/firefox.zip firefox/dist/unpacked",
|
||||
"build:examples": "babel-node examples/buildAll.js",
|
||||
"precompress:extension": "pnpm run lint && pnpm run test:app && pnpm run build:extension && pnpm run test:chrome && pnpm run test:electron",
|
||||
"precompress:firefox": "pnpm run lint && pnpm run build:firefox && pnpm run test:app",
|
||||
"compress:extension": "bestzip build/extension.zip build/extension",
|
||||
"compress:firefox": "bestzip build/extension.zip build/extension",
|
||||
"clean": "rimraf build && rimraf dev",
|
||||
"clean": "rimraf dist && rimraf chrome/dist && rimraf edge/dist && rimraf firefox/dist",
|
||||
"test:app": "cross-env BABEL_ENV=test jest test/app",
|
||||
"test:chrome": "jest test/chrome",
|
||||
"test:electron": "pnpm run build:test:electron:fixture && jest test/electron",
|
||||
|
@ -68,6 +66,7 @@
|
|||
"bestzip": "^2.2.1",
|
||||
"chromedriver": "^106.0.1",
|
||||
"copy-webpack-plugin": "^11.0.0",
|
||||
"cpy-cli": "^4.2.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"css-loader": "^6.7.1",
|
||||
"electron": "^21.1.1",
|
||||
|
@ -82,7 +81,6 @@
|
|||
"immutable": "^4.1.0",
|
||||
"jest": "^29.2.2",
|
||||
"jest-environment-jsdom": "^29.2.2",
|
||||
"path-browserify": "^1.0.1",
|
||||
"pug-html-loader": "^1.1.5",
|
||||
"raw-loader": "^4.0.2",
|
||||
"react-transform-catch-errors": "^1.0.2",
|
||||
|
|
|
@ -23,7 +23,7 @@ export default ({ options, saveOption }: OptionsProps) => {
|
|||
<label className="option__label" htmlFor="editor-browser">
|
||||
{navigator.userAgent.indexOf('Firefox') !== -1
|
||||
? "Don't open in external editor"
|
||||
: "Use browser's debugger (from Chrome devpanel only)"}
|
||||
: "Use browser's debugger (from browser devpanel only)"}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -2,10 +2,6 @@ import React from 'react';
|
|||
import { OptionsProps } from './Options';
|
||||
|
||||
export default ({ options, saveOption }: OptionsProps) => {
|
||||
const browserName = navigator.userAgent.includes('Firefox')
|
||||
? 'Firefox'
|
||||
: 'Chrome';
|
||||
|
||||
return (
|
||||
<fieldset className="option-group">
|
||||
<legend className="option-group__title">Miscellaneous</legend>
|
||||
|
@ -46,7 +42,7 @@ export default ({ options, saveOption }: OptionsProps) => {
|
|||
Show errors
|
||||
</label>
|
||||
<div className="option__hint">
|
||||
Show the {browserName} notifications when errors occur in the app
|
||||
Show the browser notifications when errors occur in the app
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
|
|
@ -2,7 +2,7 @@ let s = document.createElement('script');
|
|||
s.type = 'text/javascript';
|
||||
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
const { default: script } = require('raw-loader!tmp/page.bundle.js');
|
||||
const { default: script } = require('raw-loader!../dist/page.bundle.js');
|
||||
s.appendChild(document.createTextNode(script));
|
||||
(document.head || document.documentElement).appendChild(s);
|
||||
s.parentNode!.removeChild(s);
|
||||
|
|
|
@ -5,7 +5,7 @@ import chromedriver from 'chromedriver';
|
|||
import { switchMonitorTests, delay } from '../utils/e2e';
|
||||
|
||||
const port = 9515;
|
||||
const path = resolve(__dirname, '..', '..', 'build', 'extension');
|
||||
const path = resolve(__dirname, '..', '..', 'dist');
|
||||
const extensionId = 'lmhkpmbekcpmknklioeibfkpmmfibljd';
|
||||
const actionsPattern =
|
||||
/^@@INIT(.|\n)+@@reduxReactRouter\/routerDidChange(.|\n)+@@reduxReactRouter\/initRoutes(.|\n)+$/;
|
||||
|
|
|
@ -4,7 +4,7 @@ const { app, BrowserWindow, session } = require('electron');
|
|||
app.on('window-all-closed', app.quit);
|
||||
app.whenReady().then(async () => {
|
||||
await session.defaultSession.loadExtension(
|
||||
path.join(__dirname, '../../../build/extension'),
|
||||
path.join(__dirname, '../../../dist'),
|
||||
{ allowFileAccess: true }
|
||||
);
|
||||
|
||||
|
|
81
extension/webpack.config.js
Normal file
81
extension/webpack.config.js
Normal file
|
@ -0,0 +1,81 @@
|
|||
const path = require('path');
|
||||
const webpack = require('webpack');
|
||||
const CopyPlugin = require('copy-webpack-plugin');
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
|
||||
module.exports = function (env) {
|
||||
return {
|
||||
mode: env.production ? 'production' : 'development',
|
||||
devtool: env.production ? 'source-map' : 'eval-source-map',
|
||||
entry: {
|
||||
background: [
|
||||
path.resolve(__dirname, 'src/chromeApiMock'),
|
||||
path.resolve(__dirname, 'src/background/index'),
|
||||
],
|
||||
options: [
|
||||
path.resolve(__dirname, 'src/chromeApiMock'),
|
||||
path.resolve(__dirname, 'src/options/index'),
|
||||
],
|
||||
window: [path.resolve(__dirname, 'src/window/index')],
|
||||
remote: [path.resolve(__dirname, 'src/remote/index')],
|
||||
devpanel: [
|
||||
path.resolve(__dirname, 'src/chromeApiMock'),
|
||||
path.resolve(__dirname, 'src/devpanel/index'),
|
||||
],
|
||||
devtools: path.resolve(__dirname, 'src/devtools/index'),
|
||||
content: [
|
||||
path.resolve(__dirname, 'src/chromeApiMock'),
|
||||
path.resolve(__dirname, 'src/contentScript/index'),
|
||||
],
|
||||
page: path.join(__dirname, 'src/pageScript'),
|
||||
...(env.production
|
||||
? {}
|
||||
: { pagewrap: path.resolve(__dirname, 'src/pageScriptWrap') }),
|
||||
},
|
||||
output: {
|
||||
filename: '[name].bundle.js',
|
||||
},
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
'process.env.BABEL_ENV': JSON.stringify(process.env.NODE_ENV),
|
||||
}),
|
||||
new ForkTsCheckerWebpackPlugin({
|
||||
typescript: {
|
||||
configFile: 'tsconfig.json',
|
||||
},
|
||||
}),
|
||||
new CopyPlugin({
|
||||
patterns: [
|
||||
{
|
||||
from: path.join(__dirname, 'chrome/manifest.json'),
|
||||
to: path.join(__dirname, 'dist/manifest.json'),
|
||||
},
|
||||
{
|
||||
from: path.join(__dirname, 'src/assets'),
|
||||
to: path.join(__dirname, 'dist'),
|
||||
},
|
||||
],
|
||||
}),
|
||||
],
|
||||
resolve: {
|
||||
extensions: ['.js', '.jsx', '.ts', '.tsx'],
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.(js|ts)x?$/,
|
||||
use: 'babel-loader',
|
||||
exclude: /node_modules/,
|
||||
},
|
||||
{
|
||||
test: /\.css?$/,
|
||||
use: ['style-loader', 'css-loader'],
|
||||
},
|
||||
{
|
||||
test: /\.pug$/,
|
||||
use: ['file-loader?name=[name].html', 'pug-html-loader'],
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
};
|
|
@ -1,100 +0,0 @@
|
|||
import path from 'path';
|
||||
import webpack from 'webpack';
|
||||
import CopyPlugin from 'copy-webpack-plugin';
|
||||
import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';
|
||||
|
||||
const baseConfig = (params) => ({
|
||||
// devtool: 'source-map',
|
||||
mode: params.mode,
|
||||
entry: params.input || {
|
||||
background: [
|
||||
path.resolve(__dirname, '../src/chromeApiMock'),
|
||||
path.resolve(__dirname, '../src/background/index'),
|
||||
],
|
||||
options: [
|
||||
path.resolve(__dirname, '../src/chromeApiMock'),
|
||||
path.resolve(__dirname, '../src/options/index'),
|
||||
],
|
||||
window: [path.resolve(__dirname, '../src/window/index')],
|
||||
remote: [path.resolve(__dirname, '../src/remote/index')],
|
||||
devpanel: [
|
||||
path.resolve(__dirname, '../src/chromeApiMock'),
|
||||
path.resolve(__dirname, '../src/devpanel/index'),
|
||||
],
|
||||
devtools: [path.resolve(__dirname, '../src/devtools/index')],
|
||||
content: [
|
||||
path.resolve(__dirname, '../src/chromeApiMock'),
|
||||
path.resolve(__dirname, '../src/contentScript/index'),
|
||||
],
|
||||
pagewrap: [path.resolve(__dirname, '../src/pageScriptWrap')],
|
||||
...params.inputExtra,
|
||||
},
|
||||
output: {
|
||||
filename: '[name].bundle.js',
|
||||
chunkFilename: '[id].chunk.js',
|
||||
...params.output,
|
||||
},
|
||||
plugins: [
|
||||
new webpack.DefinePlugin(params.globals),
|
||||
...(params.plugins
|
||||
? params.plugins
|
||||
: [
|
||||
new ForkTsCheckerWebpackPlugin({
|
||||
typescript: {
|
||||
configFile: 'tsconfig.json',
|
||||
},
|
||||
}),
|
||||
]),
|
||||
].concat(
|
||||
params.copy
|
||||
? new CopyPlugin({
|
||||
patterns: [
|
||||
{
|
||||
from: params.manifestJsonPath,
|
||||
to: path.join(params.output.path, 'manifest.json'),
|
||||
},
|
||||
{
|
||||
from: path.join(__dirname, '../src/assets/'),
|
||||
to: params.output.path,
|
||||
},
|
||||
],
|
||||
})
|
||||
: []
|
||||
),
|
||||
performance: {
|
||||
hints: false,
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
app: path.join(__dirname, '../src/app'),
|
||||
tmp: path.join(__dirname, '../build/tmp'),
|
||||
},
|
||||
extensions: ['.js', '.jsx', '.ts', '.tsx'],
|
||||
fallback: {
|
||||
path: require.resolve('path-browserify'),
|
||||
},
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
...(params.loaders
|
||||
? params.loaders
|
||||
: [
|
||||
{
|
||||
test: /\.(js|ts)x?$/,
|
||||
use: 'babel-loader',
|
||||
exclude: /(node_modules|tmp\/page\.bundle)/,
|
||||
},
|
||||
]),
|
||||
{
|
||||
test: /\.css?$/,
|
||||
use: ['style-loader', 'css-loader'],
|
||||
},
|
||||
{
|
||||
test: /\.pug$/,
|
||||
use: ['file-loader?name=[name].html', 'pug-html-loader'],
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
|
||||
export default baseConfig;
|
|
@ -1,23 +0,0 @@
|
|||
import path from 'path';
|
||||
import webpack from 'webpack';
|
||||
import baseConfig from './base.config';
|
||||
|
||||
let config = baseConfig({
|
||||
mode: 'development',
|
||||
inputExtra: {
|
||||
page: [path.join(__dirname, '../src/pageScript')],
|
||||
},
|
||||
output: { path: path.join(__dirname, '../dev') },
|
||||
globals: {
|
||||
'process.env': {
|
||||
NODE_ENV: '"development"',
|
||||
},
|
||||
},
|
||||
plugins: [new webpack.NoEmitOnErrorsPlugin()],
|
||||
copy: true,
|
||||
manifestJsonPath: path.join(__dirname, '../chrome/manifest.json'),
|
||||
});
|
||||
|
||||
config.watch = true;
|
||||
|
||||
export default config;
|
|
@ -1,17 +0,0 @@
|
|||
import path from 'path';
|
||||
import baseConfig from './base.config';
|
||||
|
||||
export default baseConfig({
|
||||
mode: 'production',
|
||||
inputExtra: {
|
||||
page: [path.join(__dirname, '../src/pageScript')],
|
||||
},
|
||||
output: { path: path.join(__dirname, '../build/extension') },
|
||||
globals: {
|
||||
'process.env': {
|
||||
NODE_ENV: '"production"',
|
||||
},
|
||||
},
|
||||
copy: true,
|
||||
manifestJsonPath: path.join(__dirname, '../chrome/manifest.json'),
|
||||
});
|
|
@ -1,14 +0,0 @@
|
|||
import path from 'path';
|
||||
import baseConfig from './base.config';
|
||||
|
||||
export default baseConfig({
|
||||
mode: 'production',
|
||||
output: { path: path.join(__dirname, '../build/extension') },
|
||||
globals: {
|
||||
'process.env': {
|
||||
NODE_ENV: '"production"',
|
||||
},
|
||||
},
|
||||
copy: true,
|
||||
manifestJsonPath: path.join(__dirname, '../firefox/manifest.json'),
|
||||
});
|
|
@ -1,15 +0,0 @@
|
|||
import path from 'path';
|
||||
import baseConfig from './base.config';
|
||||
|
||||
export default baseConfig({
|
||||
mode: 'production',
|
||||
input: {
|
||||
page: [path.join(__dirname, '../src/pageScript')],
|
||||
},
|
||||
output: { path: path.join(__dirname, '../build/tmp') },
|
||||
globals: {
|
||||
'process.env': {
|
||||
NODE_ENV: '"production"',
|
||||
},
|
||||
},
|
||||
});
|
32
extension/wrap.webpack.config.js
Normal file
32
extension/wrap.webpack.config.js
Normal file
|
@ -0,0 +1,32 @@
|
|||
const path = require('path');
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
|
||||
module.exports = {
|
||||
mode: 'production',
|
||||
devtool: 'source-map',
|
||||
entry: {
|
||||
pagewrap: path.resolve(__dirname, 'src/pageScriptWrap'),
|
||||
},
|
||||
output: {
|
||||
filename: '[name].bundle.js',
|
||||
},
|
||||
plugins: [
|
||||
new ForkTsCheckerWebpackPlugin({
|
||||
typescript: {
|
||||
configFile: 'tsconfig.json',
|
||||
},
|
||||
}),
|
||||
],
|
||||
resolve: {
|
||||
extensions: ['.js', '.jsx', '.ts', '.tsx'],
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.(js|ts)x?$/,
|
||||
use: 'babel-loader',
|
||||
exclude: /(node_modules|dist\/page\.bundle)/,
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
|
@ -103,7 +103,6 @@
|
|||
"html-webpack-plugin": "^5.5.0",
|
||||
"jest": "^29.2.2",
|
||||
"jest-environment-jsdom": "^29.2.2",
|
||||
"path-browserify": "^1.0.1",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"rimraf": "^3.0.2",
|
||||
|
|
|
@ -39,9 +39,6 @@ export default (
|
|||
},
|
||||
resolve: {
|
||||
extensions: ['.js', '.jsx', '.ts', '.tsx'],
|
||||
fallback: {
|
||||
path: require.resolve('path-browserify'),
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
|
|
|
@ -39,9 +39,6 @@ export default (env: { production?: boolean } = {}): webpack.Configuration => ({
|
|||
},
|
||||
resolve: {
|
||||
extensions: ['.js', '.jsx', '.ts', '.tsx'],
|
||||
fallback: {
|
||||
path: require.resolve('path-browserify'),
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
|
|
182
pnpm-lock.yaml
182
pnpm-lock.yaml
|
@ -66,6 +66,7 @@ importers:
|
|||
bestzip: ^2.2.1
|
||||
chromedriver: ^106.0.1
|
||||
copy-webpack-plugin: ^11.0.0
|
||||
cpy-cli: ^4.2.0
|
||||
cross-env: ^7.0.3
|
||||
css-loader: ^6.7.1
|
||||
electron: ^21.1.1
|
||||
|
@ -83,7 +84,6 @@ importers:
|
|||
jsan: ^3.1.14
|
||||
localforage: ^1.10.0
|
||||
lodash: ^4.17.21
|
||||
path-browserify: ^1.0.1
|
||||
pug-html-loader: ^1.1.5
|
||||
raw-loader: ^4.0.2
|
||||
react: ^18.2.0
|
||||
|
@ -144,6 +144,7 @@ importers:
|
|||
bestzip: 2.2.1
|
||||
chromedriver: 106.0.1
|
||||
copy-webpack-plugin: 11.0.0_webpack@5.74.0
|
||||
cpy-cli: 4.2.0
|
||||
cross-env: 7.0.3
|
||||
css-loader: 6.7.1_webpack@5.74.0
|
||||
electron: 21.1.1
|
||||
|
@ -158,7 +159,6 @@ importers:
|
|||
immutable: 4.1.0
|
||||
jest: 29.2.2
|
||||
jest-environment-jsdom: 29.2.2
|
||||
path-browserify: 1.0.1
|
||||
pug-html-loader: 1.1.5
|
||||
raw-loader: 4.0.2_webpack@5.74.0
|
||||
react-transform-catch-errors: 1.0.2
|
||||
|
@ -838,7 +838,6 @@ importers:
|
|||
jsondiffpatch: ^0.4.1
|
||||
localforage: ^1.10.0
|
||||
lodash: ^4.17.21
|
||||
path-browserify: ^1.0.1
|
||||
prop-types: ^15.8.1
|
||||
react: ^18.2.0
|
||||
react-dom: ^18.2.0
|
||||
|
@ -920,7 +919,6 @@ importers:
|
|||
html-webpack-plugin: 5.5.0_webpack@5.74.0
|
||||
jest: 29.2.2_4pb6an67rakrle6rtido6z2a34
|
||||
jest-environment-jsdom: 29.2.2
|
||||
path-browserify: 1.0.1
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
rimraf: 3.0.2
|
||||
|
@ -9752,6 +9750,14 @@ packages:
|
|||
clean-stack: 2.2.0
|
||||
indent-string: 4.0.0
|
||||
|
||||
/aggregate-error/4.0.1:
|
||||
resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
clean-stack: 4.2.0
|
||||
indent-string: 5.0.0
|
||||
dev: true
|
||||
|
||||
/airbnb-js-shims/2.2.1:
|
||||
resolution: {integrity: sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==}
|
||||
dependencies:
|
||||
|
@ -10250,6 +10256,11 @@ packages:
|
|||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/arrify/3.0.0:
|
||||
resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==}
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/asap/2.0.6:
|
||||
resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
|
||||
dev: true
|
||||
|
@ -11128,6 +11139,16 @@ packages:
|
|||
quick-lru: 4.0.1
|
||||
dev: true
|
||||
|
||||
/camelcase-keys/7.0.2:
|
||||
resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
camelcase: 6.3.0
|
||||
map-obj: 4.3.0
|
||||
quick-lru: 5.1.1
|
||||
type-fest: 1.4.0
|
||||
dev: true
|
||||
|
||||
/camelcase/1.2.1:
|
||||
resolution: {integrity: sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
@ -11373,6 +11394,13 @@ packages:
|
|||
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
/clean-stack/4.2.0:
|
||||
resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
escape-string-regexp: 5.0.0
|
||||
dev: true
|
||||
|
||||
/cli-boxes/2.2.1:
|
||||
resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==}
|
||||
engines: {node: '>=6'}
|
||||
|
@ -11821,6 +11849,25 @@ packages:
|
|||
p-event: 4.2.0
|
||||
dev: true
|
||||
|
||||
/cp-file/9.1.0:
|
||||
resolution: {integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
graceful-fs: 4.2.10
|
||||
make-dir: 3.1.0
|
||||
nested-error-stacks: 2.1.1
|
||||
p-event: 4.2.0
|
||||
dev: true
|
||||
|
||||
/cpy-cli/4.2.0:
|
||||
resolution: {integrity: sha512-b04b+cbdr29CdpREPKw/itrfjO43Ty0Aj7wRM6M6LoE4GJxZJCk9Xp+Eu1IqztkKh3LxIBt1tDplENsa6KYprg==}
|
||||
engines: {node: '>=12.20'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
cpy: 9.0.1
|
||||
meow: 10.1.5
|
||||
dev: true
|
||||
|
||||
/cpy/8.1.2:
|
||||
resolution: {integrity: sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg==}
|
||||
engines: {node: '>=8'}
|
||||
|
@ -11838,6 +11885,20 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/cpy/9.0.1:
|
||||
resolution: {integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg==}
|
||||
engines: {node: ^12.20.0 || ^14.17.0 || >=16.0.0}
|
||||
dependencies:
|
||||
arrify: 3.0.0
|
||||
cp-file: 9.1.0
|
||||
globby: 13.1.2
|
||||
junk: 4.0.0
|
||||
micromatch: 4.0.5
|
||||
nested-error-stacks: 2.1.1
|
||||
p-filter: 3.0.0
|
||||
p-map: 5.5.0
|
||||
dev: true
|
||||
|
||||
/crc-32/1.2.2:
|
||||
resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==}
|
||||
engines: {node: '>=0.8'}
|
||||
|
@ -12211,6 +12272,11 @@ packages:
|
|||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/decamelize/5.0.1:
|
||||
resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/decimal.js/10.4.2:
|
||||
resolution: {integrity: sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==}
|
||||
dev: true
|
||||
|
@ -12834,6 +12900,11 @@ packages:
|
|||
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
/escape-string-regexp/5.0.0:
|
||||
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/escodegen/2.0.0:
|
||||
resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==}
|
||||
engines: {node: '>=6.0'}
|
||||
|
@ -14834,6 +14905,11 @@ packages:
|
|||
resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
/indent-string/5.0.0:
|
||||
resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/infer-owner/1.0.4:
|
||||
resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==}
|
||||
|
||||
|
@ -16474,6 +16550,11 @@ packages:
|
|||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/junk/4.0.0:
|
||||
resolution: {integrity: sha512-ojtSU++zLJ3jQG9bAYjg94w+/DOJtRyD7nPaerMFrBhmdVmiV5/exYH5t4uHga4G/95nT6hr1OJoKIFbYbrW5w==}
|
||||
engines: {node: '>=12.20'}
|
||||
dev: true
|
||||
|
||||
/just-extend/4.2.1:
|
||||
resolution: {integrity: sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==}
|
||||
dev: true
|
||||
|
@ -17122,6 +17203,24 @@ packages:
|
|||
readable-stream: 2.3.7
|
||||
dev: true
|
||||
|
||||
/meow/10.1.5:
|
||||
resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
dependencies:
|
||||
'@types/minimist': 1.2.2
|
||||
camelcase-keys: 7.0.2
|
||||
decamelize: 5.0.1
|
||||
decamelize-keys: 1.1.0
|
||||
hard-rejection: 2.1.0
|
||||
minimist-options: 4.1.0
|
||||
normalize-package-data: 3.0.3
|
||||
read-pkg-up: 8.0.0
|
||||
redent: 4.0.0
|
||||
trim-newlines: 4.0.2
|
||||
type-fest: 1.4.0
|
||||
yargs-parser: 20.2.9
|
||||
dev: true
|
||||
|
||||
/meow/3.7.0:
|
||||
resolution: {integrity: sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
@ -18054,6 +18153,13 @@ packages:
|
|||
p-map: 2.1.0
|
||||
dev: true
|
||||
|
||||
/p-filter/3.0.0:
|
||||
resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
dependencies:
|
||||
p-map: 5.5.0
|
||||
dev: true
|
||||
|
||||
/p-finally/1.0.0:
|
||||
resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
|
||||
engines: {node: '>=4'}
|
||||
|
@ -18112,6 +18218,13 @@ packages:
|
|||
dependencies:
|
||||
aggregate-error: 3.1.0
|
||||
|
||||
/p-map/5.5.0:
|
||||
resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
aggregate-error: 4.0.1
|
||||
dev: true
|
||||
|
||||
/p-retry/4.6.2:
|
||||
resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==}
|
||||
engines: {node: '>=8'}
|
||||
|
@ -18946,6 +19059,11 @@ packages:
|
|||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/quick-lru/5.1.1:
|
||||
resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/ramda/0.28.0:
|
||||
resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==}
|
||||
|
||||
|
@ -19430,6 +19548,15 @@ packages:
|
|||
type-fest: 0.8.1
|
||||
dev: true
|
||||
|
||||
/read-pkg-up/8.0.0:
|
||||
resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
find-up: 5.0.0
|
||||
read-pkg: 6.0.0
|
||||
type-fest: 1.4.0
|
||||
dev: true
|
||||
|
||||
/read-pkg/1.1.0:
|
||||
resolution: {integrity: sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
@ -19450,6 +19577,16 @@ packages:
|
|||
type-fest: 0.6.0
|
||||
dev: true
|
||||
|
||||
/read-pkg/6.0.0:
|
||||
resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
'@types/normalize-package-data': 2.4.1
|
||||
normalize-package-data: 3.0.3
|
||||
parse-json: 5.2.0
|
||||
type-fest: 1.4.0
|
||||
dev: true
|
||||
|
||||
/read-yaml-file/1.1.0:
|
||||
resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==}
|
||||
engines: {node: '>=6'}
|
||||
|
@ -19534,6 +19671,14 @@ packages:
|
|||
strip-indent: 3.0.0
|
||||
dev: true
|
||||
|
||||
/redent/4.0.0:
|
||||
resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
indent-string: 5.0.0
|
||||
strip-indent: 4.0.0
|
||||
dev: true
|
||||
|
||||
/redux-devtools-themes/1.0.0:
|
||||
resolution: {integrity: sha512-hBWqdZX+dioMWnTjf8+uSm0q1wCdYO4kU5gERzHcMMbu0Qg7JDR42TnJ6GHJ6r7k/tIpsCSygc9U0ehAtR24TQ==}
|
||||
dependencies:
|
||||
|
@ -20814,6 +20959,13 @@ packages:
|
|||
min-indent: 1.0.1
|
||||
dev: true
|
||||
|
||||
/strip-indent/4.0.0:
|
||||
resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
min-indent: 1.0.1
|
||||
dev: true
|
||||
|
||||
/strip-json-comments/3.1.1:
|
||||
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
|
||||
engines: {node: '>=8'}
|
||||
|
@ -21409,6 +21561,11 @@ packages:
|
|||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/trim-newlines/4.0.2:
|
||||
resolution: {integrity: sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==}
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/trim-trailing-lines/1.1.4:
|
||||
resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==}
|
||||
dev: true
|
||||
|
@ -21636,6 +21793,11 @@ packages:
|
|||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/type-fest/1.4.0:
|
||||
resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/type-fest/2.19.0:
|
||||
resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
|
||||
engines: {node: '>=12.20'}
|
||||
|
@ -22736,18 +22898,6 @@ packages:
|
|||
signal-exit: 3.0.7
|
||||
dev: true
|
||||
|
||||
/ws/7.5.9:
|
||||
resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
|
||||
engines: {node: '>=8.3.0'}
|
||||
peerDependencies:
|
||||
bufferutil: ^4.0.1
|
||||
utf-8-validate: ^5.0.2
|
||||
peerDependenciesMeta:
|
||||
bufferutil:
|
||||
optional: true
|
||||
utf-8-validate:
|
||||
optional: true
|
||||
|
||||
/ws/8.9.0:
|
||||
resolution: {integrity: sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
|
|
Loading…
Reference in New Issue
Block a user