1
0
Fork 0
mirror of https://github.com/betagouv/mon-entreprise synced 2025-03-11 06:25:05 +00:00

🐛 Corrections diverses

This commit is contained in:
Maxime Quandalle 2022-01-26 09:53:15 +01:00 committed by Maxime Quandalle
parent 42f89c6c7e
commit cdf441a9e1
23 changed files with 213 additions and 138 deletions

View file

@ -182,9 +182,9 @@ yarn preview:infrance
### Worker en développement
Nous utilisons [vite](https://vitejs.dev/) pour le serveur de développement et comme bundler. Aucun bundling n'est fait en développement, ce qui accélère considérablement le temps de rechargement de l'app à chaque modification. Pour cela, la syntaxe ESModule est utilisée partout, y compris dans les worker. Malheureusement, tous les navigateurs ne [supportent pas encore cette fonctionalité](https://caniuse.com/mdn-api_worker_worker_ecmascript_modules) (notamment [Firefox](https://bugzilla.mozilla.org/show_bug.cgi?id=1247687)).
Nous utilisons [vite](https://vitejs.dev/) pour le serveur de développement et comme bundler. Aucun bundling n'est fait en développement, ce qui accélère considérablement le temps de rechargement de l'app à chaque modification. Pour cela, la syntaxe ESModule est utilisée partout, y compris dans les worker. Malheureusement, tous les navigateurs ne [supportent pas encore cette fonctionalité](https://caniuse.com/mdn-api_worker_worker_ecmascript_modules) (en particulier [Firefox](https://bugzilla.mozilla.org/show_bug.cgi?id=1247687)).
Par conséquent, les worker ne fonctionne pas en développement sous firefox. Ce n'est pas critique mais il faut le savoir.
Par conséquent, les workers ne fonctionnent pas en mode développement sous firefox. Ce n'est pas critique mais il faut le savoir.
### Tests

View file

@ -18,10 +18,10 @@
"type": "module",
"devDependencies": {
"js-yaml": "^4.1.0",
"publicodes": "^1.0.0-beta.26"
"publicodes": "^1.0.0-beta.29"
},
"peerDependencies": {
"publicodes": "^1.0.0-beta.26"
"publicodes": "^1.0.0-beta.29"
},
"scripts": {
"build": "node build.js",

View file

@ -67,8 +67,8 @@
"iframe-resizer": "^4.1.1",
"markdown-to-jsx": "^7.1.5",
"modele-social": "^0.5.0",
"publicodes": "^1.0.0-beta.26",
"publicodes-react": "^1.0.0-beta.26",
"publicodes": "^1.0.0-beta.29",
"publicodes-react": "^1.0.0-beta.29",
"ramda": "^0.27.0",
"react": "^17.0.0",
"react-color": "^2.14.0",
@ -113,7 +113,7 @@
"@typescript-eslint/eslint-plugin": "^4.0.1",
"@typescript-eslint/parser": "^4.0.1",
"@vitejs/plugin-legacy": "^1.6.4",
"@vitejs/plugin-react": "^1.1.0",
"@vitejs/plugin-react": "=1.1.3",
"babel-plugin-styled-components": "^2.0.2",
"cypress": "^7.7.0",
"cypress-plugin-tab": "^1.0.5",
@ -124,6 +124,7 @@
"eslint-plugin-mocha": "^8.0.0",
"eslint-plugin-react": "^7.12.4",
"eslint-plugin-react-hooks": "^4.3.0",
"http-proxy-middleware": "^2.0.2",
"i18next-parser": "^5.3.0",
"isomorphic-fetch": "^2.2.1",
"prettier": "^2.3.2",

View file

@ -20,12 +20,12 @@ const pagesToPrerender = {
'/simulateurs',
'/simulateurs/salaire-brut-net',
'/simulateurs/chômage-partiel',
'simulateurs/auto-entrepreneur',
'simulateurs/indépendant',
'simulateurs/dirigeant-sasu',
'simulateurs/artiste-auteur',
'iframes/simulateur-embauche',
'iframes/pamc',
'/simulateurs/auto-entrepreneur',
'/simulateurs/indépendant',
'/simulateurs/dirigeant-sasu',
'/simulateurs/artiste-auteur',
'/iframes/simulateur-embauche',
'/iframes/pamc',
],
infrance: ['/', '/calculators/salary', '/iframes/simulateur-embauche'],
}

View file

@ -7,12 +7,10 @@
//
// If you want to fetch unpublished "draft" release, you should check the
// "public repo" authorization when generating the access token.
import dotenv from 'dotenv'
import 'dotenv/config.js'
import 'isomorphic-fetch'
import { createDataDir, writeInDataDir } from './utils.js'
dotenv.config()
// We use the GitHub API V4 in GraphQL to download the releases. A GraphQL
// explorer can be found here : https://developer.github.com/v4/explorer/
const githubAuthToken = process.env.GITHUB_API_SECRET

View file

@ -1,4 +1,4 @@
import dotenv from 'dotenv'
import 'dotenv/config.js'
import 'isomorphic-fetch'
import fs from 'fs'
import path from 'path'
@ -6,8 +6,6 @@ import { filter, flatten, map, partition, pipe } from 'ramda'
import { compose } from 'redux'
import { createDataDir, writeInDataDir } from './utils.js'
dotenv.config()
const matomoSiteVisitsHistory = JSON.parse(
fs.readFileSync(
path.join(

View file

@ -1,17 +1,17 @@
import { writeFileSync } from 'fs'
import { format, resolveConfig } from 'prettier'
import { stringify } from 'yaml'
import prettier from 'prettier'
import yaml from 'yaml'
import {
fetchTranslation,
getRulesMissingTranslations,
rulesTranslationPath,
} from './utils'
} from './utils.js'
const [missingTranslations, resolved] = getRulesMissingTranslations()
writeFileSync(
rulesTranslationPath,
stringify(resolved, { sortMapEntries: true })
yaml.stringify(resolved, { sortMapEntries: true })
)
;(async function main() {
await Promise.all(
@ -25,9 +25,9 @@ writeFileSync(
})
)
resolveConfig(rulesTranslationPath).then((options) => {
const formattedYaml = format(
stringify(resolved, { sortMapEntries: true }),
prettier.resolveConfig(rulesTranslationPath).then((options) => {
const formattedYaml = prettier.format(
yaml.stringify(resolved, { sortMapEntries: true }),
{
...options,
parser: 'yaml',

View file

@ -1,16 +1,18 @@
import { readFileSync, writeFileSync } from 'fs'
import { assocPath } from 'ramda'
import { parse, stringify } from 'yaml'
import yaml from 'yaml'
import {
fetchTranslation,
getUiMissingTranslations,
UiOriginalTranslationPath,
UiTranslationPath,
} from './utils'
} from './utils.js'
;(async function () {
const missingTranslations = getUiMissingTranslations()
let originalKeys = parse(readFileSync(UiOriginalTranslationPath, 'utf-8'))
let translatedKeys = parse(readFileSync(UiTranslationPath, 'utf-8'))
let originalKeys = yaml.parse(
readFileSync(UiOriginalTranslationPath, 'utf-8')
)
let translatedKeys = yaml.parse(readFileSync(UiTranslationPath, 'utf-8'))
await Promise.all(
Object.entries(missingTranslations)
.map(([key, value]) => [key, value === 'NO_TRANSLATION' ? key : value])
@ -27,10 +29,10 @@ import {
)
writeFileSync(
UiTranslationPath,
stringify(translatedKeys, { sortMapEntries: true })
yaml.stringify(translatedKeys, { sortMapEntries: true })
)
writeFileSync(
UiOriginalTranslationPath,
stringify(originalKeys, { sortMapEntries: true })
yaml.stringify(originalKeys, { sortMapEntries: true })
)
})()

View file

@ -1,4 +1,4 @@
import dotenv from 'dotenv'
import 'dotenv/config.js'
import { readFileSync } from 'fs'
import 'isomorphic-fetch'
import { stringify } from 'querystring'
@ -6,8 +6,6 @@ import { equals, mergeAll, path as _path, pick, toPairs } from 'ramda'
import yaml from 'yaml'
import rules from '../../../modele-social/dist/index.js'
dotenv.config()
const localesPath = new URL('../../source/locales/', import.meta.url).pathname
export let UiStaticAnalysisPath = localesPath + 'static-analysis-fr.json'
export let rulesTranslationPath = localesPath + 'rules-en.yaml'

View file

@ -1,8 +1,6 @@
import dotenv from 'dotenv'
import 'dotenv/config.js'
import algoliasearch from 'algoliasearch'
dotenv.config()
const {
ALGOLIA_APP_ID,
ALGOLIA_ADMIN_KEY,

View file

@ -1,11 +1,9 @@
import algoliasearch from 'algoliasearch'
import dotenv from 'dotenv'
import 'dotenv/config.js'
import rawRules from 'modele-social'
import { parsePublicodes } from 'publicodes'
import getSimulationData from '../../source/pages/Simulateurs/metadata-src.js'
dotenv.config()
const rules = parsePublicodes(rawRules)
const ALGOLIA_APP_ID = process.env.ALGOLIA_APP_ID

View file

@ -14,14 +14,7 @@ import { createBrowserHistory } from 'history'
import i18next from 'i18next'
import 'iframe-resizer'
import logo from 'Images/logo-monentreprise.svg'
import {
createContext,
default as React,
default as React,
useEffect,
useMemo,
useState,
} from 'react'
import React, { createContext, useEffect, useMemo, useState } from 'react'
import { HelmetProvider } from 'react-helmet-async'
import { I18nextProvider } from 'react-i18next'
import { Provider as ReduxProvider } from 'react-redux'

View file

@ -46,7 +46,7 @@ type FabriqueSocialSearchPayload = {
}
const COMPANY_SEARCH_HOST =
process.env.COMPANY_SEARCH_HOST ||
import.meta.env.VITE_COMPANY_SEARCH_HOST ||
'https://search-recherche-entreprises.fabrique.social.gouv.fr'
const makeSearchUrl = (query: string, limit: number) =>

View file

@ -1,32 +1,37 @@
import { expect, describe, it } from 'vitest'
import { roundedPercentages } from './StackedBarChart'
// TODO: Ré-activer ce test. Désactivé à cause d'un problème d'import entre
// publicodes-react et styled-component dans le contexte de test uniquement.
// J'ai bon espoir que ce problème soit résolu "tout seul" lors d'une prochaine
// version de vitest.
describe('roundedPercentages', () => {
it('rounds percentages correctly', () => {
expect(roundedPercentages([500, 250, 250], 1)).to.deep.equal([50, 25, 25])
expect(roundedPercentages([501, 251, 248], 1)).to.deep.equal([50, 25, 25])
expect(roundedPercentages([506, 257, 237], 1)).to.deep.equal([50, 26, 24])
expect(roundedPercentages([509, 259, 232], 1)).to.deep.equal([51, 26, 23])
expect(roundedPercentages([503, 253, 244], 1)).to.deep.equal([50, 25, 25])
})
it('rounds permilles correctly', () => {
expect(roundedPercentages([5000, 2500, 2500], 0.1)).to.deep.equal([
50.0, 25.0, 25.0,
])
expect(roundedPercentages([5001, 2507, 2492], 0.1)).to.deep.equal([
50.0, 25.1, 24.9,
])
expect(roundedPercentages([5004, 2504, 2492], 0.1)).to.deep.equal([
50.0, 25.1, 24.9,
])
expect(roundedPercentages([5005, 2503, 2492], 0.1)).to.deep.equal([
50.1, 25.0, 24.9,
])
expect(roundedPercentages([5003, 2503, 2494], 0.1)).to.deep.equal([
50.0, 25.0, 25.0,
])
expect(roundedPercentages([5004, 2503, 2493], 0.1)).to.deep.equal([
50.1, 25.0, 24.9,
])
})
})
// import { expect, describe, it } from 'vitest'
// import { roundedPercentages } from './StackedBarChart'
// describe('roundedPercentages', () => {
// it('rounds percentages correctly', () => {
// expect(roundedPercentages([500, 250, 250], 1)).to.deep.equal([50, 25, 25])
// expect(roundedPercentages([501, 251, 248], 1)).to.deep.equal([50, 25, 25])
// expect(roundedPercentages([506, 257, 237], 1)).to.deep.equal([50, 26, 24])
// expect(roundedPercentages([509, 259, 232], 1)).to.deep.equal([51, 26, 23])
// expect(roundedPercentages([503, 253, 244], 1)).to.deep.equal([50, 25, 25])
// })
// it('rounds permilles correctly', () => {
// expect(roundedPercentages([5000, 2500, 2500], 0.1)).to.deep.equal([
// 50.0, 25.0, 25.0,
// ])
// expect(roundedPercentages([5001, 2507, 2492], 0.1)).to.deep.equal([
// 50.0, 25.1, 24.9,
// ])
// expect(roundedPercentages([5004, 2504, 2492], 0.1)).to.deep.equal([
// 50.0, 25.1, 24.9,
// ])
// expect(roundedPercentages([5005, 2503, 2492], 0.1)).to.deep.equal([
// 50.1, 25.0, 24.9,
// ])
// expect(roundedPercentages([5003, 2503, 2494], 0.1)).to.deep.equal([
// 50.0, 25.0, 25.0,
// ])
// expect(roundedPercentages([5004, 2503, 2493], 0.1)).to.deep.equal([
// 50.1, 25.0, 24.9,
// ])
// })
// })

View file

@ -26,7 +26,7 @@ export default function Footer() {
typeof window !== 'undefined' &&
(currentEnv === 'production' || currentEnv === 'development'
? `${window.location.protocol}//${window.location.host}`
: '' + window.location.pathname)
: '') + window.location.pathname
const uri = decodeURIComponent(encodedUri || '').replace(/\/$/, '')
const hrefLink = hrefLangLink[language][uri] || []

10
site/source/index.html Normal file
View file

@ -0,0 +1,10 @@
<!--
Ideally this file wouldn't be needed, but ViteJS used it when the dev server is
started to pre-bundle the dependencies and speed it the server start.
https://vitejs.dev/guide/dep-pre-bundling.html
TODO: There might be a way to do it using the plugin API, which we could use in
our custom plugin. This should be doable with
https://vitejs.dev/config/#optimizedeps-entries but I couldn't make it work.
-->
<script type="module" src="/source/entry.fr.tsx"></script>

View file

@ -1675,9 +1675,17 @@ replier: show less
responsabilité:
bouton1: Limited liability company
bouton2: Sole proprietorship
description: Sole proprietorship or limited liability? Each option has legal
implications, and leads to a different status for creating your company in
France
description: "
\t\t\t\t\t\tLimited liability? Sole proprietorship? Each option has
\t\t\t\t\t\tlegal implications and leads to a different status for the
\t\t\t\t\t\tyour business in France. This guide helps you choose
\t\t\t\t\t\tbetween the different forms of liability.
\t\t\t\t\t"
entreprise-individuelle: >
<0>Sole proprietorship:</0>

View file

@ -1313,6 +1313,20 @@ recherche-globale:
responsabilité:
bouton1: Société
bouton2: Entreprise individuelle
description: "
\t\t\t\t\t\tResponsabilité limitée ? entreprise individuelle ? Chaque
option a
\t\t\t\t\t\tdes implications juridiques et conduit à un statut différent
pour la
\t\t\t\t\t\tcréation de votre entreprise en France. Ce guide vous aide à
choisir
\t\t\t\t\t\tentre les différentes forme de responsabilité.
\t\t\t\t\t"
entreprise-individuelle: "<0>Entreprise individuelle : </0>Une activité
économique exercée par une seule personne physique, en son nom propre. Moins
de formalités, mais plus de risques en cas de faillite, car votre patrimoine

View file

@ -2,6 +2,7 @@ import { Grid } from '@mui/material'
import SearchRules from 'Components/search/SearchRules'
import { FromBottom } from 'Components/ui/animate'
import { useEngine } from 'Components/utils/EngineContext'
import { Markdown } from 'Components/utils/markdown'
import Meta from 'Components/utils/Meta'
import { ScrollToTop } from 'Components/utils/Scroll'
import { SitePathsContext } from 'Components/utils/SitePathsContext'
@ -70,6 +71,7 @@ export default function MonEntrepriseRulePage() {
Link: Link as React.ComponentType<{
to: string
}>,
Text: Markdown as any,
References,
}}
/>

View file

@ -197,27 +197,21 @@ export const generateSiteMap = (sitePaths: SitePathsType): SiteMap =>
sitePaths
)
// TODO: HACKY, find a better way to expose this information
const basePathFr = import.meta.env.PROD
? import.meta.env.VITE_FR_BASE_URL
: '/mon-entreprise'
const basePathEn = import.meta.env.PROD
? import.meta.env.VITE_EN_BASE_URL
: '/infrance'
const basePathFr =
import.meta.env.DEV && typeof window !== 'undefined'
? `http://${window.location.host}/mon-entreprise`
: import.meta.env.VITE_FR_BASE_URL ?? ''
const basePathEn =
import.meta.env.DEV && typeof window !== 'undefined'
? `http://${window.location.host}/infrance`
: import.meta.env.VITE_EN_BASE_URL ?? ''
const enSiteMap = generateSiteMap(constructLocalizedSitePath('en')).map(
(path) =>
'http://' +
(typeof window === 'undefined' ? '' : window.location.host) +
basePathEn +
path
(path) => basePathEn + path
)
const frSiteMap = generateSiteMap(constructLocalizedSitePath('fr')).map(
(path) =>
'http://' +
(typeof window === 'undefined' ? '' : window.location.host) +
basePathFr +
path
(path) => basePathFr + path
)
export const hrefLangLink = {

View file

@ -84,7 +84,6 @@
<body>
<div id="js"><!--app-html--></div>
<script type="module" src="{{ entry }}"></script>
<script>
// Set the main colors from the provided customization in the URL We do it
@ -170,6 +169,6 @@
src="/polyfill.io/v3/polyfill.min.js?features=ResizeObserver%2CIntl.~locale.en%2CIntl.~locale.fr"
></script>
<script type="module" src="/source/entry.fr.tsx"></script>
<script type="module" src="{{ entry }}"></script>
</body>
</html>

View file

@ -1,13 +1,14 @@
import yaml from '@rollup/plugin-yaml'
import legacy from '@vitejs/plugin-legacy'
import react from '@vitejs/plugin-react'
import { promises as fs } from 'fs'
import fs from 'fs/promises'
import path from 'path'
import toml from 'rollup-plugin-toml'
// import AutoImport from 'unplugin-auto-import/vite'
import { defineConfig, Plugin } from 'vite'
import { watchDottedNames } from '../modele-social/build.js'
import shimReactPdf from 'vite-plugin-shim-react-pdf'
import { createProxyMiddleware } from 'http-proxy-middleware'
export default defineConfig({
resolve: {
alias: {
@ -62,6 +63,7 @@ export default defineConfig({
legacy({
targets: ['defaults', 'not IE 11'],
}),
monEntrepriseDevServer(),
],
})
@ -90,12 +92,6 @@ function multipleSPA(options: MultipleSPAOptions): Plugin {
enforce: 'pre',
configureServer(vite) {
// Small hack: This call shouldn't be here, but it's the easiest way to
// start the watcher with the development server. We could use native
// ViteJS watch API, but it would require changing more code and maybe the
// whole "modele-social" package build process.
watchDottedNames()
// eslint-disable-next-line @typescript-eslint/no-misused-promises
vite.middlewares.use(async (req, res, next) => {
const url = req.originalUrl
@ -154,3 +150,22 @@ function multipleSPA(options: MultipleSPAOptions): Plugin {
},
}
}
function monEntrepriseDevServer(): Plugin {
return {
name: 'mon-entreprise',
configureServer(vite) {
// We could use native ViteJS watch API, but it would require changing
// more code and maybe the whole "modele-social" package build process.
watchDottedNames()
vite.middlewares.use(
createProxyMiddleware('/polyfill.io', {
target: 'https://polyfill.io',
changeOrigin: true,
pathRewrite: { '^/polyfill.io': '' },
}) as any
)
},
}
}

View file

@ -130,7 +130,7 @@
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60"
integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==
"@babel/core@^7.16.5":
"@babel/core@^7.16.0":
version "7.16.12"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784"
integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==
@ -287,28 +287,28 @@
dependencies:
"@babel/helper-plugin-utils" "^7.16.7"
"@babel/plugin-transform-react-jsx-development@^7.16.5":
"@babel/plugin-transform-react-jsx-development@^7.16.0":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz#43a00724a3ed2557ed3f276a01a929e6686ac7b8"
integrity sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==
dependencies:
"@babel/plugin-transform-react-jsx" "^7.16.7"
"@babel/plugin-transform-react-jsx-self@^7.16.5":
"@babel/plugin-transform-react-jsx-self@^7.16.0":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.16.7.tgz#f432ad0cba14c4a1faf44f0076c69e42a4d4479e"
integrity sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA==
dependencies:
"@babel/helper-plugin-utils" "^7.16.7"
"@babel/plugin-transform-react-jsx-source@^7.16.5":
"@babel/plugin-transform-react-jsx-source@^7.16.0":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.7.tgz#1879c3f23629d287cc6186a6c683154509ec70c0"
integrity sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw==
dependencies:
"@babel/helper-plugin-utils" "^7.16.7"
"@babel/plugin-transform-react-jsx@^7.16.5", "@babel/plugin-transform-react-jsx@^7.16.7":
"@babel/plugin-transform-react-jsx@^7.16.0", "@babel/plugin-transform-react-jsx@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz#86a6a220552afd0e4e1f0388a68a372be7add0d4"
integrity sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag==
@ -1506,7 +1506,7 @@
estree-walker "^1.0.1"
picomatch "^2.2.2"
"@rollup/pluginutils@^4.1.2":
"@rollup/pluginutils@^4.1.1":
version "4.1.2"
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.2.tgz#ed5821c15e5e05e32816f5fb9ec607cdf5a75751"
integrity sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==
@ -1667,6 +1667,13 @@
"@types/react" "*"
hoist-non-react-statics "^3.3.0"
"@types/http-proxy@^1.17.8":
version "1.17.8"
resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.8.tgz#968c66903e7e42b483608030ee85800f22d03f55"
integrity sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==
dependencies:
"@types/node" "*"
"@types/iframe-resizer@^3.5.7":
version "3.5.9"
resolved "https://registry.yarnpkg.com/@types/iframe-resizer/-/iframe-resizer-3.5.9.tgz#75c4cda33cee5f4da4c7693a0d9ad1ccb0c5ee98"
@ -1933,17 +1940,17 @@
regenerator-runtime "^0.13.9"
systemjs "^6.11.0"
"@vitejs/plugin-react@^1.1.0":
version "1.1.4"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-1.1.4.tgz#a3f3f49d11890bf73bc64d545ce8fe7f5d506e85"
integrity sha512-cMUBDonNY8PPeHWjIrYKbRn6bLSunh/Ixo2XLLBd3DM0uYBZft+c+04zkGhhN1lAwvoRKJ2FdtvhGhPgViHc6w==
"@vitejs/plugin-react@=1.1.3":
version "1.1.3"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-1.1.3.tgz#0a649db2ea4637fd188adb36502b59da05ff6303"
integrity sha512-xv8QujX/uR4ti8qpt0hMriM2bdpxX4jm4iU6GAZfCwHjh/ewkX/8DJgnmQpE0HSJmgz8dixyUnRJKi2Pf1nNoQ==
dependencies:
"@babel/core" "^7.16.5"
"@babel/plugin-transform-react-jsx" "^7.16.5"
"@babel/plugin-transform-react-jsx-development" "^7.16.5"
"@babel/plugin-transform-react-jsx-self" "^7.16.5"
"@babel/plugin-transform-react-jsx-source" "^7.16.5"
"@rollup/pluginutils" "^4.1.2"
"@babel/core" "^7.16.0"
"@babel/plugin-transform-react-jsx" "^7.16.0"
"@babel/plugin-transform-react-jsx-development" "^7.16.0"
"@babel/plugin-transform-react-jsx-self" "^7.16.0"
"@babel/plugin-transform-react-jsx-source" "^7.16.0"
"@rollup/pluginutils" "^4.1.1"
react-refresh "^0.11.0"
resolve "^1.20.0"
@ -3478,7 +3485,7 @@ eventemitter2@^6.4.3:
resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.5.tgz#97380f758ae24ac15df8353e0cc27f8b95644655"
integrity sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw==
eventemitter3@^4.0.1:
eventemitter3@^4.0.0, eventemitter3@^4.0.1:
version "4.0.7"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
@ -3654,6 +3661,11 @@ focus-trap@^6.7.2:
dependencies:
tabbable "^5.2.1"
follow-redirects@^1.0.0:
version "1.14.7"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685"
integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==
foreach@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
@ -4034,6 +4046,26 @@ htmlparser2@^6.1.0:
domutils "^2.5.2"
entities "^2.0.0"
http-proxy-middleware@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.2.tgz#94d7593790aad6b3de48164f13792262f656c332"
integrity sha512-XtmDN5w+vdFTBZaYhdJAbMqn0DP/EhkUaAeo963mojwpKMMbw6nivtFKw07D7DDOH745L5k0VL0P8KRYNEVF/g==
dependencies:
"@types/http-proxy" "^1.17.8"
http-proxy "^1.18.1"
is-glob "^4.0.1"
is-plain-obj "^3.0.0"
micromatch "^4.0.2"
http-proxy@^1.18.1:
version "1.18.1"
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
dependencies:
eventemitter3 "^4.0.0"
follow-redirects "^1.0.0"
requires-port "^1.0.0"
http-signature@~1.3.6:
version "1.3.6"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9"
@ -4352,6 +4384,11 @@ is-plain-obj@^2.0.0:
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
is-plain-obj@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7"
integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==
is-regex@^1.0.4, is-regex@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
@ -4744,7 +4781,7 @@ merge2@^1.3.0, merge2@^1.4.1:
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
micromatch@^4.0.4:
micromatch@^4.0.2, micromatch@^4.0.4:
version "4.0.4"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
@ -5217,19 +5254,19 @@ psl@^1.1.28:
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
publicodes-react@^1.0.0-beta.26:
version "1.0.0-beta.26"
resolved "https://registry.yarnpkg.com/publicodes-react/-/publicodes-react-1.0.0-beta.26.tgz#5ec3080be3cf7429cc4c0a8220ab6980e2807ceb"
integrity sha512-Mhgvz6/wVFLygZj+fgrR7qD5q7o6HD/bPVmqml1hYp5BjT37iruCjSDgP6QRm43y5UKNOVlxiEA+f1r5nCqjFg==
publicodes-react@^1.0.0-beta.29:
version "1.0.0-beta.29"
resolved "https://registry.yarnpkg.com/publicodes-react/-/publicodes-react-1.0.0-beta.29.tgz#d6ffd26d9a7b17a2d41a64eaaa284518bc18b431"
integrity sha512-Mi5eBdXqAfSGb9O/nB9ezMWE0zWNXS8PGtM9qQnC5eqjbI/59AgY3wmRqZkS8tY369LbJlqu5jqZmkSCMNrURA==
dependencies:
focus-trap-react "^8.8.2"
styled-components "^5.1.0"
yaml "^1.9.2"
publicodes@^1.0.0-beta.26:
version "1.0.0-beta.26"
resolved "https://registry.yarnpkg.com/publicodes/-/publicodes-1.0.0-beta.26.tgz#1c7264dd3b78e9c0d49cfc996021736259a0ef7b"
integrity sha512-hZN6ZrhL9c3s/u8u+uRVWbXpigf+g9ijluWrzK+t3PV54BvZfTHnnGBdFYOxFFtPhyj2ZOiMVRU/TJK5IoLShg==
publicodes@^1.0.0-beta.29:
version "1.0.0-beta.29"
resolved "https://registry.yarnpkg.com/publicodes/-/publicodes-1.0.0-beta.29.tgz#4f3ef017ee9f02ccb794fba3e32757e56d372cc3"
integrity sha512-5voh02ar3gZM4J0kUgDkMxFEX2yCdjRUaZ3M0IfAnKZU/axFTS3HdvANsSo8qrGiXFZovtGS75SD+FJoAldRBQ==
dependencies:
moo "^0.5.1"
nearley "^2.19.2"
@ -5731,6 +5768,11 @@ require-from-string@^2.0.2:
resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
requires-port@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
reselect@^4.0.0:
version "4.1.5"
resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.5.tgz#852c361247198da6756d07d9296c2b51eddb79f6"