diff --git a/.changeset/chatty-timers-exercise.md b/.changeset/chatty-timers-exercise.md new file mode 100644 index 00000000000..70c3bb9736d --- /dev/null +++ b/.changeset/chatty-timers-exercise.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-publish-local': minor +--- + +Add missing deps diff --git a/.changeset/chilly-lies-pump.md b/.changeset/chilly-lies-pump.md new file mode 100644 index 00000000000..b3c0df5d5ef --- /dev/null +++ b/.changeset/chilly-lies-pump.md @@ -0,0 +1,5 @@ +--- +'@talend/babel-plugin-import-d3': minor +--- + +Add missing deps and fix lint issues diff --git a/.changeset/fair-candles-kneel.md b/.changeset/fair-candles-kneel.md new file mode 100644 index 00000000000..0b404916074 --- /dev/null +++ b/.changeset/fair-candles-kneel.md @@ -0,0 +1,5 @@ +--- +'@talend/eslint-plugin': minor +--- + +remove dep with scripts-core and fix eslint config (circular dependency) diff --git a/.changeset/fair-fans-exercise.md b/.changeset/fair-fans-exercise.md new file mode 100644 index 00000000000..0d3df8aa16e --- /dev/null +++ b/.changeset/fair-fans-exercise.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-build-cdn': minor +--- + +Add missing deps, remove dependency with scripts-core (circular dependency) and adapt code for PNPM diff --git a/.changeset/famous-ghosts-guess.md b/.changeset/famous-ghosts-guess.md new file mode 100644 index 00000000000..f9680d27aa9 --- /dev/null +++ b/.changeset/famous-ghosts-guess.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-cmf': minor +--- + +add missing deps, remove link with scripts-core (circular dependency) diff --git a/.changeset/giant-bobcats-drum.md b/.changeset/giant-bobcats-drum.md new file mode 100644 index 00000000000..7c001e07cc8 --- /dev/null +++ b/.changeset/giant-bobcats-drum.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-core': minor +--- + +Improve peerDependencies and add missing deps to not have circular dependency, adapt code to be compatible with PNPM and fix tests diff --git a/.changeset/gorgeous-singers-whisper.md b/.changeset/gorgeous-singers-whisper.md new file mode 100644 index 00000000000..eec9b5a925a --- /dev/null +++ b/.changeset/gorgeous-singers-whisper.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-config-storybook-lib': minor +--- + +Add missing deps, upgrade msw to v1.3.2 diff --git a/.changeset/green-shoes-lay.md b/.changeset/green-shoes-lay.md new file mode 100644 index 00000000000..9f98a361d4e --- /dev/null +++ b/.changeset/green-shoes-lay.md @@ -0,0 +1,5 @@ +--- +'@talend/babel-plugin-import-from-index': minor +--- + +add missing deps, fix eslint config (circular dependency) and fix lint issues diff --git a/.changeset/nine-bikes-bathe.md b/.changeset/nine-bikes-bathe.md new file mode 100644 index 00000000000..c3442e67084 --- /dev/null +++ b/.changeset/nine-bikes-bathe.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-config-react-webpack': minor +--- + +Add missing deps, make talend/icons as peerDependency to remove circular dependency and adapt webpack config files for pnpm diff --git a/.changeset/pink-penguins-rule.md b/.changeset/pink-penguins-rule.md new file mode 100644 index 00000000000..c1155deb737 --- /dev/null +++ b/.changeset/pink-penguins-rule.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-yarn-workspace': minor +--- + +Add missing deps diff --git a/.changeset/proud-spiders-provide.md b/.changeset/proud-spiders-provide.md new file mode 100644 index 00000000000..796e37b5ca9 --- /dev/null +++ b/.changeset/proud-spiders-provide.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-config-typescript': minor +--- + +Add missing deps, Remove link with scripts-core (circular dependency) and fix tsconfig file diff --git a/.changeset/quiet-worms-reflect.md b/.changeset/quiet-worms-reflect.md new file mode 100644 index 00000000000..ca260fc5d8d --- /dev/null +++ b/.changeset/quiet-worms-reflect.md @@ -0,0 +1,5 @@ +--- +'@talend/upgrade-deps': minor +--- + +Add missing deps diff --git a/.changeset/rich-ladybugs-drive.md b/.changeset/rich-ladybugs-drive.md new file mode 100644 index 00000000000..475627c0dd7 --- /dev/null +++ b/.changeset/rich-ladybugs-drive.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-config-stylelint': minor +--- + +Add missing deps diff --git a/.changeset/short-crabs-smile.md b/.changeset/short-crabs-smile.md new file mode 100644 index 00000000000..d52556589b4 --- /dev/null +++ b/.changeset/short-crabs-smile.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-config-jest': minor +--- + +Fix peer dependencies, Add lint diff --git a/.changeset/silent-wasps-camp.md b/.changeset/silent-wasps-camp.md new file mode 100644 index 00000000000..548d6943d31 --- /dev/null +++ b/.changeset/silent-wasps-camp.md @@ -0,0 +1,5 @@ +--- +'@talend/cypress-api-mock-plugin': minor +--- + +Add missing deps and fix lint issues diff --git a/.changeset/silver-flowers-smell.md b/.changeset/silver-flowers-smell.md new file mode 100644 index 00000000000..b893f975a2f --- /dev/null +++ b/.changeset/silver-flowers-smell.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-utils': minor +--- + +Add missing deps and revert change about eslint config to use the talend one diff --git a/.changeset/slimy-boats-whisper.md b/.changeset/slimy-boats-whisper.md new file mode 100644 index 00000000000..acecf9b709d --- /dev/null +++ b/.changeset/slimy-boats-whisper.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-config-cdn': minor +--- + +Add missing deps, adapt cdn code for pnpm and fix eslint config (circular dependency) diff --git a/.changeset/slimy-islands-yell.md b/.changeset/slimy-islands-yell.md new file mode 100644 index 00000000000..ef9288ee9f8 --- /dev/null +++ b/.changeset/slimy-islands-yell.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-teorem': minor +--- + +Add missing deps diff --git a/.changeset/soft-years-poke.md b/.changeset/soft-years-poke.md new file mode 100644 index 00000000000..e60346e8f22 --- /dev/null +++ b/.changeset/soft-years-poke.md @@ -0,0 +1,5 @@ +--- +'@talend/babel-plugin-import-from-lib': minor +--- + +Add missing deps and fix lint issues diff --git a/.changeset/strong-balloons-tell.md b/.changeset/strong-balloons-tell.md new file mode 100644 index 00000000000..58990f27aa5 --- /dev/null +++ b/.changeset/strong-balloons-tell.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-locales': minor +--- + +Add missing deps and fix lint diff --git a/.changeset/tender-cooks-hope.md b/.changeset/tender-cooks-hope.md new file mode 100644 index 00000000000..6f79bbfa86c --- /dev/null +++ b/.changeset/tender-cooks-hope.md @@ -0,0 +1,5 @@ +--- +'@talend/babel-plugin-assets-api': minor +--- + +Add missing deps, fix eslint config (circular dependency) and fix lint issues diff --git a/.changeset/thin-pillows-smell.md b/.changeset/thin-pillows-smell.md new file mode 100644 index 00000000000..644caa5426a --- /dev/null +++ b/.changeset/thin-pillows-smell.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-config-prettier': minor +--- + +Add missing deps, remove link with scripts-core (circular dependency) and fix prettier config to be compatible with prettier 3 diff --git a/.changeset/thirty-scissors-dress.md b/.changeset/thirty-scissors-dress.md new file mode 100644 index 00000000000..735fdeffe86 --- /dev/null +++ b/.changeset/thirty-scissors-dress.md @@ -0,0 +1,5 @@ +--- +'@talend/scripts-config-babel': minor +--- + +fix plugin order for eslint and fix eslint config (circular dep) diff --git a/.github/actions/setup-node/action.yml b/.github/actions/setup-node/action.yml index 89bd8521e1a..d56e1454672 100644 --- a/.github/actions/setup-node/action.yml +++ b/.github/actions/setup-node/action.yml @@ -10,7 +10,7 @@ runs: - name: Set up Node.js uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d #v3.8.1 with: - node-version: '20' + node-version-file: '.tool-versions' registry-url: 'https://registry.npmjs.org/' scope: '@talend' diff --git a/.github/workflows/pr-demo.yml b/.github/workflows/pr-demo.yml index 0e4b7f020f4..984e066f635 100644 --- a/.github/workflows/pr-demo.yml +++ b/.github/workflows/pr-demo.yml @@ -28,29 +28,32 @@ jobs: uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 - name: Use Node.js - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 - with: - node-version: 18 - registry-url: "https://registry.npmjs.org/" - scope: "@talend" - cache: "yarn" + uses: ./.github/actions/setup-node - name: cache for storybook uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 #v3.3.2 with: path: packages/*/node_modules - key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }} + key: ${{ runner.os }}-storybook-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-storybook- - name: Install run: | + node --version yarn install --frozen-lockfile - yarn global add surge - echo "$(yarn global bin)" >> $GITHUB_PATH - - - name: Build + - name: Run test:demo run: | + node --version yarn test:demo + + - name: Before surge + run: | + node --version + yarn global add surge + echo "$(yarn global bin)" >> $GITHUB_PATH + node --version ./.github/workflows/before-surge.sh env: STORYBOOK_FIGMA_ACCESS_TOKEN: ${{ secrets.STORYBOOK_FIGMA_ACCESS_TOKEN }} diff --git a/.github/workflows/pr-playground.yml b/.github/workflows/pr-playground.yml index 374f049c241..9e709ace2d2 100644 --- a/.github/workflows/pr-playground.yml +++ b/.github/workflows/pr-playground.yml @@ -72,6 +72,13 @@ jobs: - name: Checkout sources uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - name: Use Node.js + uses: ./.github/actions/setup-node + + - name: Check node version + run: | + node --version + - name: Check UMD files size diff uses: preactjs/compressed-size-action@8119d3d31b6e57b167e09c81dfa877eada3bcb35 #v2.5.0 if: github.ref != 'refs/heads/master' diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 00000000000..c2ca3d3d25e --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +nodejs 20.9.0 diff --git a/package.json b/package.json index 59ed895ed3c..96739f312cb 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,18 @@ { "devDependencies": { "@changesets/cli": "^2.26.2", + "@talend/scripts-config-prettier": "^12.0.0", + "@talend/scripts-config-babel": "^13.1.0", + "@talend/scripts-yarn-workspace": "^1.2.0", "cross-env": "^7.0.3", "cross-spawn": "^7.0.3", "eslint": "^8.53.0", "husky": "^8.0.3", "i18next-scanner": "^4.4.0", "lint-staged": "^13.3.0", - "prettier": "^3.0.3" + "prettier": "^3.0.3", + "rimraf": "^3.0.2", + "typescript": "^5.0.4" }, "scripts": { "postinstall": "talend-yarn-workspace run build:lib", @@ -58,12 +63,5 @@ "*.{json,md,mdx,html,js,jsx,ts,tsx}": [ "prettier --write" ] - }, - "dependencies": { - "@types/react": "^18.2.7", - "@types/react-dom": "^18.2.15", - "terser-webpack-plugin": "^5.3.9", - "typescript": "^5.2.2", - "webpack": "^5.89.0" } } diff --git a/scripts/get-locations.js b/scripts/get-locations.js deleted file mode 100644 index 68885c791dd..00000000000 --- a/scripts/get-locations.js +++ /dev/null @@ -1,7 +0,0 @@ -const run = require('../run'); - -run({ name: 'yarn', args: ['workspaces', '--silent', 'info'] }) - .then(info => JSON.parse(info)) - .then(workspaceInfo => { - console.log(Object.keys(workspaceInfo).map(name => workspaceInfo[name].location)); - }); diff --git a/tools/babel-plugin-assets-api/.eslintrc.json b/tools/babel-plugin-assets-api/.eslintrc.json index 8464e11418a..892f6e0fe8e 100644 --- a/tools/babel-plugin-assets-api/.eslintrc.json +++ b/tools/babel-plugin-assets-api/.eslintrc.json @@ -1,4 +1,16 @@ { "root": true, - "extends": "@talend" + "extends": ["eslint:recommended", "plugin:prettier/recommended", "plugin:import/recommended"], + "env": { + "es6": true, + "node": true, + "jasmine": true, + "jest": true + }, + "parser": "@babel/eslint-parser", + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module", + "requireConfigFile": false + } } diff --git a/tools/babel-plugin-assets-api/__fixtures__/first/output.js b/tools/babel-plugin-assets-api/__fixtures__/first/output.js index b4274db8740..b3b4faff125 100644 --- a/tools/babel-plugin-assets-api/__fixtures__/first/output.js +++ b/tools/babel-plugin-assets-api/__fixtures__/first/output.js @@ -1,8 +1,10 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable import/no-extraneous-dependencies */ -import assetsAPI from '@talend/assets-api'; import React from 'react'; + +import assetsAPI from '@talend/assets-api'; + assetsAPI.getURL('/', 'react', '18.2.0'); assetsAPI.getURL('/', 'react', '16.13.0'); assetsAPI.getJSON('/foo.json', 'react', '18.2.0'); diff --git a/tools/babel-plugin-assets-api/package.json b/tools/babel-plugin-assets-api/package.json index 53ded16c519..06dda3a3f58 100644 --- a/tools/babel-plugin-assets-api/package.json +++ b/tools/babel-plugin-assets-api/package.json @@ -4,7 +4,7 @@ "description": "", "main": "src/index.js", "scripts": { - "lint": "talend-scripts lint", + "lint": "eslint ./src", "test": "jest" }, "dependencies": { @@ -13,10 +13,13 @@ }, "devDependencies": { "@babel/core": "^7.23.3", + "@babel/eslint-parser": "^7.23.3", "@babel/preset-env": "^7.23.3", "babel-jest": "^29.7.0", "babel-plugin-tester": "^10.1.0", - "jest": "^29.7.0" + "eslint": "^8.53.0", + "jest": "^29.7.0", + "react": "^18.2.0" }, "jest": { "verbose": true, diff --git a/tools/babel-plugin-assets-api/src/index.test.js b/tools/babel-plugin-assets-api/src/index.test.js index a122d6bd129..a5c4835861b 100644 --- a/tools/babel-plugin-assets-api/src/index.test.js +++ b/tools/babel-plugin-assets-api/src/index.test.js @@ -1,5 +1,6 @@ import pluginTester, { prettierFormatter } from 'babel-plugin-tester'; import path from 'path'; + import babelPlugin from '.'; pluginTester({ diff --git a/tools/babel-plugin-import-d3/package.json b/tools/babel-plugin-import-d3/package.json index 1c739611b79..d72f7a06165 100644 --- a/tools/babel-plugin-import-d3/package.json +++ b/tools/babel-plugin-import-d3/package.json @@ -18,6 +18,9 @@ "test": "jest" }, "devDependencies": { + "@talend/eslint-config": "^12.2.0", + "@talend/eslint-plugin": "^1.0.1", + "@talend/scripts-core": "^16.1.0", "@babel/core": "^7.23.3", "@babel/preset-env": "^7.23.3", "babel-jest": "^29.7.0", diff --git a/tools/babel-plugin-import-d3/src/index.js b/tools/babel-plugin-import-d3/src/index.js index 151269823d6..2e2844f0db3 100644 --- a/tools/babel-plugin-import-d3/src/index.js +++ b/tools/babel-plugin-import-d3/src/index.js @@ -37,14 +37,6 @@ function findD3RelatedPackageName(importDeclarationPath) { return found; } -function getLastNameInPath(path) { - const splited = path.split('/'); - if (splited.length === 1) { - return false; - } - return splited.pop(); -} - function sortImports(a, b) { if (a.type === 'ImportDefaultSpecifier') { return -1; @@ -62,7 +54,6 @@ module.exports = function transform({ types }) { const d3Packages = []; const requireCalls = []; let lastImport; - let realLastImport; path.traverse({ CallExpression: { @@ -70,27 +61,24 @@ module.exports = function transform({ types }) { if (callExpression.node.callee.name === 'require') { if (PACKAGES.indexOf(callExpression.node.arguments[0].value) !== -1) { const mod = callExpression.node.arguments[0].value.replace('d3-', ''); + // eslint-disable-next-line no-param-reassign callExpression.node.arguments[0] = types.stringLiteral('d3'); // we must wrap callexpression into memberexpression requireCalls.push({ callExpression, - replace: types.memberExpression( - callExpression.node, - types.identifier(mod), - ) + replace: types.memberExpression(callExpression.node, types.identifier(mod)), }); callExpression.remove(); } } - } + }, }, ImportDeclaration: { exit(importDeclarationPath) { - realLastImport = importDeclarationPath; const packageName = findD3RelatedPackageName(importDeclarationPath); if (packageName) { d3Packages.push( - ...importDeclarationPath.node.specifiers.map(({ local, imported, type }) => { + ...importDeclarationPath.node.specifiers.map(({ local, imported }) => { const localName = local.name; let importedName = localName; if (imported) { @@ -112,13 +100,9 @@ module.exports = function transform({ types }) { requireCalls.forEach(info => { info.callExpression.insertAfter(info.replace); }); - const packageName = 'd3'; if (d3Packages.length > 0) { const source = types.stringLiteral('d3'); - const imp = types.importDeclaration( - d3Packages.filter(Boolean).sort(sortImports), - source, - ); + const imp = types.importDeclaration(d3Packages.filter(Boolean).sort(sortImports), source); if (lastImport) { lastImport.insertAfter(imp); } diff --git a/tools/babel-plugin-import-d3/src/index.test.js b/tools/babel-plugin-import-d3/src/index.test.js index 3ff21417155..08c5090a26a 100644 --- a/tools/babel-plugin-import-d3/src/index.test.js +++ b/tools/babel-plugin-import-d3/src/index.test.js @@ -1,4 +1,5 @@ import pluginTester from 'babel-plugin-tester'; + import babelPlugin from '.'; pluginTester({ @@ -14,9 +15,9 @@ pluginTester({ import { brush } from 'd3'; import { csv } from 'd3-fetch'`, output: ` - import get from 'lodash/get'; import { brush } from 'd3'; - import { select, event, shape, scale as foo, csv } from 'd3';`, + import { select, event, shape, scale as foo, csv } from 'd3'; + import get from 'lodash/get';`, }, // should work in already compiled project { diff --git a/tools/babel-plugin-import-from-index/.eslintrc.json b/tools/babel-plugin-import-from-index/.eslintrc.json index 8464e11418a..892f6e0fe8e 100644 --- a/tools/babel-plugin-import-from-index/.eslintrc.json +++ b/tools/babel-plugin-import-from-index/.eslintrc.json @@ -1,4 +1,16 @@ { "root": true, - "extends": "@talend" + "extends": ["eslint:recommended", "plugin:prettier/recommended", "plugin:import/recommended"], + "env": { + "es6": true, + "node": true, + "jasmine": true, + "jest": true + }, + "parser": "@babel/eslint-parser", + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module", + "requireConfigFile": false + } } diff --git a/tools/babel-plugin-import-from-index/package.json b/tools/babel-plugin-import-from-index/package.json index bd983e25780..367a070bd93 100644 --- a/tools/babel-plugin-import-from-index/package.json +++ b/tools/babel-plugin-import-from-index/package.json @@ -14,7 +14,7 @@ "url": "https://github.com/Talend/ui.git" }, "scripts": { - "lint": "talend-scripts lint", + "lint": "eslint ./src", "test": "jest" }, "dependencies": { @@ -22,9 +22,11 @@ }, "devDependencies": { "@babel/core": "^7.23.3", + "@babel/eslint-parser": "^7.23.3", "@babel/preset-env": "^7.23.3", "babel-jest": "^29.7.0", "babel-plugin-tester": "^10.1.0", + "eslint": "^8.53.0", "jest": "^29.7.0" }, "jest": { diff --git a/tools/babel-plugin-import-from-index/src/index.js b/tools/babel-plugin-import-from-index/src/index.js index de5dbce1351..c9b7e6a9724 100644 --- a/tools/babel-plugin-import-from-index/src/index.js +++ b/tools/babel-plugin-import-from-index/src/index.js @@ -8,7 +8,7 @@ const PACKAGES = Object.keys(rules); function getPackageVersion(packageName) { let currentPath = require.resolve(packageName); let pjson; - while(!pjson) { + while (!pjson) { const pjsonPath = `${currentPath}/package.json`; if (fs.existsSync(pjsonPath)) { pjson = pjsonPath; @@ -18,7 +18,7 @@ function getPackageVersion(packageName) { } try { return require(pjson).version; - } catch(error) { + } catch (error) { console.error(`${packageName} NOT FOUND`, error); } } @@ -80,8 +80,7 @@ module.exports = function transform({ types }) { exit(importDeclarationPath) { realLastImport = importDeclarationPath; const packageName = find(importDeclarationPath); - const isPackageFrom = - PACKAGES.includes(importDeclarationPath.node.source.value); + const isPackageFrom = PACKAGES.includes(importDeclarationPath.node.source.value); if (packageName && !importSpecifiers[packageName]) { importSpecifiers[packageName] = []; } diff --git a/tools/babel-plugin-import-from-index/src/index.test.js b/tools/babel-plugin-import-from-index/src/index.test.js index 17b27b9a537..91b19330145 100644 --- a/tools/babel-plugin-import-from-index/src/index.test.js +++ b/tools/babel-plugin-import-from-index/src/index.test.js @@ -1,4 +1,5 @@ import pluginTester from 'babel-plugin-tester'; + import babelPlugin from '.'; pluginTester({ @@ -33,6 +34,7 @@ pluginTester({ _.toUpper('foo');`, output: ` import _ from 'lodash'; + _.toUpper('foo');`, }, { @@ -43,6 +45,7 @@ pluginTester({ import List from '@talend/react-components/lib/List';`, output: ` import React from 'react'; + import { SidePanel, Actions, ActionButton, ActionDropdown, List } from '@talend/react-components';`, }, { @@ -56,6 +59,7 @@ pluginTester({ import { ModelViewer as ModelViewerComponent } from '@talend/react-components';`, output: ` import React from 'react'; + import { SidePanel, ModelViewer as ModelViewerComponent } from '@talend/react-components';`, }, { diff --git a/tools/babel-plugin-import-from-lib/index.js b/tools/babel-plugin-import-from-lib/index.js index 541c9c06a66..948a8cff7e0 100644 --- a/tools/babel-plugin-import-from-lib/index.js +++ b/tools/babel-plugin-import-from-lib/index.js @@ -20,7 +20,6 @@ module.exports = function transform({ types: t }) { return true; } if (RULES[root][name].default !== undefined) { - return RULES[root][name].default; } return true; @@ -47,18 +46,32 @@ module.exports = function transform({ types: t }) { const source = t.stringLiteral(getPath(spec.imported.name, base)); let specifier = t.importDefaultSpecifier(t.identifier(spec.local.name)); if (!isDefault(spec.local.name, base)) { - specifier = t.importSpecifier(t.identifier(spec.local.name), t.identifier(spec.local.name)); + specifier = t.importSpecifier( + t.identifier(spec.local.name), + t.identifier(spec.local.name), + ); } else if (spec.imported && !isDefault(spec.imported.name, base)) { - specifier = t.importSpecifier(t.identifier(spec.imported.name), t.identifier(spec.local.name)); + specifier = t.importSpecifier( + t.identifier(spec.imported.name), + t.identifier(spec.local.name), + ); } const imp = t.importDeclaration([specifier], source); path.insertAfter(imp); } else { // is last so we replace + // eslint-disable-next-line no-param-reassign path.node.specifiers = [t.importDefaultSpecifier(t.identifier(spec.local.name))]; if (!isDefault(spec.imported.name, base)) { - path.node.specifiers = [t.importSpecifier(t.identifier(spec.local.name), t.identifier(spec.imported.name))]; + // eslint-disable-next-line no-param-reassign + path.node.specifiers = [ + t.importSpecifier( + t.identifier(spec.local.name), + t.identifier(spec.imported.name), + ), + ]; } + // eslint-disable-next-line no-param-reassign path.node.source = t.stringLiteral(getPath(spec.imported.name, base)); } } else { diff --git a/tools/babel-plugin-import-from-lib/index.test.js b/tools/babel-plugin-import-from-lib/index.test.js index b849698e48a..d55bc208d86 100644 --- a/tools/babel-plugin-import-from-lib/index.test.js +++ b/tools/babel-plugin-import-from-lib/index.test.js @@ -9,25 +9,25 @@ pluginTester({ { code: ` import { SidePanel, Actions, ActionButton, ActionDropdown, List } from '@talend/react-components';`, - output: ` - import List from '@talend/react-components/lib/List'; + output: ` import { ActionDropdown } from '@talend/react-components/lib/Actions'; import { ActionButton } from '@talend/react-components/lib/Actions'; import { Actions } from '@talend/react-components/lib/Actions'; - import SidePanel from '@talend/react-components/lib/SidePanel';` + import List from '@talend/react-components/lib/List'; + import SidePanel from '@talend/react-components/lib/SidePanel';`, }, { code: "import { SidePanel as Component } from '@talend/react-components';", - output: "import Component from '@talend/react-components/lib/SidePanel';" + output: "import Component from '@talend/react-components/lib/SidePanel';", }, { code: "import { Actions as Component } from '@talend/react-components';", - output: "import { Actions as Component } from '@talend/react-components/lib/Actions';" + output: "import { Actions as Component } from '@talend/react-components/lib/Actions';", }, { // do not change existing /lib code: "import getLocale from '@talend/react-components/lib/DateFnsLocale/locale';", - output: "import getLocale from '@talend/react-components/lib/DateFnsLocale/locale';" + output: "import getLocale from '@talend/react-components/lib/DateFnsLocale/locale';", }, { code: "import React from 'react';", @@ -57,13 +57,13 @@ pluginTester({ title: 'options', pluginOptions: { rules: { - '@material-ui/core': {} - } + '@material-ui/core': {}, + }, }, tests: [ { code: "import { Button } from '@material-ui/core';", output: "import Button from '@material-ui/core/Button';", - } - ] -}); \ No newline at end of file + }, + ], +}); diff --git a/tools/babel-plugin-import-from-lib/package.json b/tools/babel-plugin-import-from-lib/package.json index 1585552b19d..a37d768b0a6 100644 --- a/tools/babel-plugin-import-from-lib/package.json +++ b/tools/babel-plugin-import-from-lib/package.json @@ -16,6 +16,9 @@ "@babel/types": "^7.23.3" }, "devDependencies": { + "@talend/eslint-config": "^12.2.0", + "@talend/eslint-plugin": "^1.0.1", + "@talend/scripts-core": "^16.1.0", "babel-plugin-tester": "^10.1.0", "jest": "^29.7.0" } diff --git a/tools/cypress-api-mock-plugin/commands.js b/tools/cypress-api-mock-plugin/commands.js index 257953f9e56..4399909edbe 100644 --- a/tools/cypress-api-mock-plugin/commands.js +++ b/tools/cypress-api-mock-plugin/commands.js @@ -21,13 +21,13 @@ export function installApiMockCommands(options = {}) { const recordMode = Cypress.env('record-api'); if (recordMode) { - Cypress.Commands.add('beforeApiMock', (options = {}) => { - cy.recordHar({ options }); + Cypress.Commands.add('beforeApiMock', (opt = {}) => { + cy.recordHar({ options: opt }); }); - Cypress.Commands.add('afterApiMock', (options = {}) => { - const { fileName, harPath } = getFileNames(options); - cy.saveHar({ outDir: HAR_FOLDER, fileName, ...options }); + Cypress.Commands.add('afterApiMock', (opt = {}) => { + const { fileName, harPath } = getFileNames(opt); + cy.saveHar({ outDir: HAR_FOLDER, fileName, ...opt }); cy.task('optimiseHar', { interceptUrl, harPath, @@ -35,8 +35,8 @@ export function installApiMockCommands(options = {}) { }); } else { // Load the corresponding har before executing the test file - Cypress.Commands.add('beforeApiMock', (options = {}) => { - const fileName = harFileName(options.fileName || Cypress.spec.name); + Cypress.Commands.add('beforeApiMock', (opt = {}) => { + const fileName = harFileName(opt.fileName || Cypress.spec.name); const harPath = `./${path.join(HAR_FOLDER, fileName)}`; cy.readFile(harPath) .then(harContent => JSON.parse(harContent)) diff --git a/tools/cypress-api-mock-plugin/package.json b/tools/cypress-api-mock-plugin/package.json index 953eae9546f..686c674a44f 100644 --- a/tools/cypress-api-mock-plugin/package.json +++ b/tools/cypress-api-mock-plugin/package.json @@ -24,5 +24,10 @@ }, "dependencies": { "@neuralegion/cypress-har-generator": "^5.16.4" + }, + "devDependencies": { + "@talend/eslint-config": "^12.2.0", + "@talend/eslint-plugin": "^1.0.1", + "@talend/scripts-core": "^16.1.0" } } diff --git a/tools/eslint-plugin/.eslintrc.json b/tools/eslint-plugin/.eslintrc.json index 8464e11418a..892f6e0fe8e 100644 --- a/tools/eslint-plugin/.eslintrc.json +++ b/tools/eslint-plugin/.eslintrc.json @@ -1,4 +1,16 @@ { "root": true, - "extends": "@talend" + "extends": ["eslint:recommended", "plugin:prettier/recommended", "plugin:import/recommended"], + "env": { + "es6": true, + "node": true, + "jasmine": true, + "jest": true + }, + "parser": "@babel/eslint-parser", + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module", + "requireConfigFile": false + } } diff --git a/tools/eslint-plugin/package.json b/tools/eslint-plugin/package.json index 9f772384135..4ce7b079a47 100644 --- a/tools/eslint-plugin/package.json +++ b/tools/eslint-plugin/package.json @@ -10,7 +10,7 @@ "author": "Jean-Michel FRANCOIS", "main": "src/index.js", "scripts": { - "lint": "talend-scripts lint", + "lint": "eslint ./", "test": "jest" }, "dependencies": { diff --git a/tools/scripts-build-cdn/build.js b/tools/scripts-build-cdn/build.js index e2bed28478f..cabb7d47b28 100755 --- a/tools/scripts-build-cdn/build.js +++ b/tools/scripts-build-cdn/build.js @@ -60,10 +60,7 @@ async function main(args) { const patchPath = `${__dirname}/patch/${packageName}/${version}`; const UMDFileName = packageCdnConfig.path.replace(`/${TARGET}/`, ''); - if ( - fs.existsSync(`${packagePath}/${version}/${TARGET}/${UMDFileName}`) && - !program.force - ) { + if (fs.existsSync(`${packagePath}/${version}/${TARGET}/${UMDFileName}`) && !program.force) { await cleanup(packagePath, version); continue; } @@ -73,7 +70,7 @@ async function main(args) { } const devDependencies = { - 'd3': '^6.5.0' // so we can support d3-x babel plugin + d3: '^6.5.0', // so we can support d3-x babel plugin }; if (packageName.includes('react') || packageName.includes('rc-')) { @@ -129,7 +126,7 @@ module.exports = { { test: /\.js$/, use: { - loader: 'babel-loader', + loader: require.resolve('babel-loader'), options: { plugins: ['@talend/babel-plugin-import-d3'] } @@ -156,7 +153,7 @@ module.exports = { `${packagePath}/${version}/webpack.index.js`, `export { default } from '${packageName}'; export * from '${packageName}'; - ` + `, ); } @@ -167,7 +164,9 @@ module.exports = { console.error(error); return; } - const info = require(`${process.cwd()}/${packagePath}/${version}/node_modules/${packageName}/package.json`); + const info = require( + `${process.cwd()}/${packagePath}/${version}/node_modules/${packageName}/package.json`, + ); if (info.peerDependencies) { pjson.devDependencies = Object.keys(info.peerDependencies).reduce((acc, key) => { acc[key] = info.peerDependencies[key]; diff --git a/tools/scripts-build-cdn/package.json b/tools/scripts-build-cdn/package.json index a764e044a4b..7efd868280a 100644 --- a/tools/scripts-build-cdn/package.json +++ b/tools/scripts-build-cdn/package.json @@ -7,7 +7,7 @@ "talend-cdn": "./index.js" }, "scripts": { - "lint": "talend-scripts lint ./", + "lint": "eslint ./", "start": "node index.js --debug --exclude ';@angular;' 2> error.log", "test": "echo \"Nothing to test\"" }, @@ -36,6 +36,10 @@ "webpack-bundle-analyzer": "^4.9.1", "webpack-cli": "^4.10.0" }, + "devDependencies": { + "@talend/eslint-config": "^12.2.0", + "@talend/eslint-plugin": "^1.0.1" + }, "publishConfig": { "access": "public" } diff --git a/tools/scripts-cmf/package.json b/tools/scripts-cmf/package.json index 19eb8a71931..c6e3d328c86 100644 --- a/tools/scripts-cmf/package.json +++ b/tools/scripts-cmf/package.json @@ -10,14 +10,20 @@ "cmf-settings": "./cmf-settings.js" }, "scripts": { - "lint": "talend-scripts lint ./" + "lint": "eslint ./" }, "dependencies": { + "i18next": "^23.5.1", "deepmerge": "^1.5.2", "jsonpath": "^1.1.1", "lodash": "^4.17.21", "mkdirp": "^1.0.4" }, + "devDependencies": { + "@babel/eslint-parser": "^7.23.3", + "@talend/eslint-config": "^12.2.0", + "eslint": "^8.53.0" + }, "repository": { "type": "git", "url": "https://github.com/Talend/ui.git" diff --git a/tools/scripts-config-babel/.eslintrc.json b/tools/scripts-config-babel/.eslintrc.json index 8464e11418a..892f6e0fe8e 100644 --- a/tools/scripts-config-babel/.eslintrc.json +++ b/tools/scripts-config-babel/.eslintrc.json @@ -1,4 +1,16 @@ { "root": true, - "extends": "@talend" + "extends": ["eslint:recommended", "plugin:prettier/recommended", "plugin:import/recommended"], + "env": { + "es6": true, + "node": true, + "jasmine": true, + "jest": true + }, + "parser": "@babel/eslint-parser", + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module", + "requireConfigFile": false + } } diff --git a/tools/scripts-config-babel/babel.config.js b/tools/scripts-config-babel/babel.config.js index cb50ab45d67..27270fbbca0 100644 --- a/tools/scripts-config-babel/babel.config.js +++ b/tools/scripts-config-babel/babel.config.js @@ -13,12 +13,12 @@ module.exports = { plugins: [ require.resolve('@talend/babel-plugin-import-from-index'), require.resolve('@talend/babel-plugin-assets-api'), - require.resolve('@babel/plugin-proposal-nullish-coalescing-operator'), require.resolve('@babel/plugin-proposal-class-properties'), + require.resolve('@babel/plugin-proposal-optional-chaining'), + require.resolve('@babel/plugin-proposal-nullish-coalescing-operator'), require.resolve('@babel/plugin-proposal-export-default-from'), require.resolve('@babel/plugin-proposal-export-namespace-from'), require.resolve('@babel/plugin-transform-object-assign'), - require.resolve('@babel/plugin-proposal-optional-chaining'), [require.resolve('babel-plugin-angularjs-annotate'), { explicitOnly: true }], ], }; diff --git a/tools/scripts-config-cdn/.eslintrc.json b/tools/scripts-config-cdn/.eslintrc.json index 8464e11418a..892f6e0fe8e 100644 --- a/tools/scripts-config-cdn/.eslintrc.json +++ b/tools/scripts-config-cdn/.eslintrc.json @@ -1,4 +1,16 @@ { "root": true, - "extends": "@talend" + "extends": ["eslint:recommended", "plugin:prettier/recommended", "plugin:import/recommended"], + "env": { + "es6": true, + "node": true, + "jasmine": true, + "jest": true + }, + "parser": "@babel/eslint-parser", + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module", + "requireConfigFile": false + } } diff --git a/tools/scripts-config-cdn/cdn.js b/tools/scripts-config-cdn/cdn.js index 94ca9802de5..ab18a48bae0 100644 --- a/tools/scripts-config-cdn/cdn.js +++ b/tools/scripts-config-cdn/cdn.js @@ -16,7 +16,10 @@ const { download } = require('./utils'); const CDN_URL = 'https://statics-dev.cloud.talend.com'; -function getModuleName(nameandversion) { +function getModuleName(nameandversion, isPnpm = false) { + if (isPnpm) { + nameandversion = nameandversion.startsWith('/') ? nameandversion.substring(1) : nameandversion; + } const split = nameandversion.split('@'); if (nameandversion.startsWith('@')) { return `@${split[1]}`; @@ -24,6 +27,17 @@ function getModuleName(nameandversion) { return split[0]; } +function getModuleVersion(nameandversion, isPnpm = false) { + if (isPnpm) { + nameandversion = nameandversion.startsWith('/') ? nameandversion.substring(1) : nameandversion; + } + const split = nameandversion.split('@'); + if (nameandversion.startsWith('@')) { + return split[2]; + } + return split[1]; +} + function addToCopyConfig(info, config) { if (info && info.local) { // Copy the entire folder. @@ -109,41 +123,65 @@ function getAllFlattenDependencies(packageLockContent) { function getModulesFromLockFile(dir) { const cwd = dir || process.cwd(); + const lockTypeMap = { + npm: { + lockfile: 'package-lock.json', + path: path.join(cwd, 'package-lock.json'), + }, + yarn: { + lockfile: 'yarn.lock', + path: path.join(cwd, 'yarn.lock'), + }, + pnpm: { + lockfile: 'pnpm-lock.yaml', + path: path.join(cwd, 'pnpm-lock.yaml'), + }, + }; + let infos = []; - let lockType = 'package-lock.json'; - let lockPath = path.join(cwd, lockType); - if (fs.existsSync(lockPath)) { - const packagelock = require(lockPath); + if (fs.existsSync(lockTypeMap.npm.path)) { + const packagelock = require(lockTypeMap.npm.lockfile); infos = getAllFlattenDependencies(packagelock) .map(({ name, version }) => moduleToCdn(name, version, { env: 'development' })) .map(addLocal); - } else { - lockType = 'yarn.lock'; - lockPath = path.join(cwd, lockType); - if (fs.existsSync(lockPath)) { - let yarnv1; - let yarnv3; - try { - yarnv1 = lockfile.parse(fs.readFileSync(lockPath, 'utf-8')); - } catch (e) { - yarnv3 = yaml.load(fs.readFileSync(lockPath, 'utf-8')); - // eslint-disable-next-line no-underscore-dangle - delete yarnv3.__metadata; - } - - const json = yarnv1 ? yarnv1.object : yarnv3; - infos = Object.keys(json) - .map(moduleAndversion => { - const moduleName = getModuleName(moduleAndversion); - return moduleToCdn(moduleName, json[moduleAndversion].version, { - env: 'development', - }); - }) - .map(addLocal); - } else { - console.log(`No lockfile found in ${cwd}. Search in parent directory`); - return getModulesFromLockFile(path.join(cwd, '..')); + } else if (fs.existsSync(lockTypeMap.yarn.path)) { + const { path: lockPath } = lockTypeMap.yarn; + let yarnv1; + let yarnv3; + try { + yarnv1 = lockfile.parse(fs.readFileSync(lockPath, 'utf-8')); + } catch (e) { + yarnv3 = yaml.load(fs.readFileSync(lockPath, 'utf-8')); + // eslint-disable-next-line no-underscore-dangle + delete yarnv3.__metadata; } + + const json = yarnv1 ? yarnv1.object : yarnv3; + infos = Object.keys(json) + .map(moduleAndversion => { + const moduleName = getModuleName(moduleAndversion); + return moduleToCdn(moduleName, json[moduleAndversion].version, { + env: 'development', + }); + }) + .map(addLocal); + } else if (fs.existsSync(lockTypeMap.pnpm.path)) { + const json = yaml.load(fs.readFileSync(lockTypeMap.pnpm.path, 'utf-8')); + infos = Object.keys(json.packages) + .map(moduleAndversion => { + if (moduleAndversion.startsWith('file:')) { + return null; + } + const moduleName = getModuleName(moduleAndversion, true); + return moduleToCdn(moduleName, getModuleVersion(moduleAndversion, true), { + env: 'development', + }); + }) + .map(addLocal); + console.log('pnpm lock file found'); + } else { + console.log(`No lockfile found in ${cwd}. Search in parent directory`); + return getModulesFromLockFile(path.join(cwd, '..')); } return infos; } diff --git a/tools/scripts-config-cdn/package.json b/tools/scripts-config-cdn/package.json index ed1416f909b..cdd979a31e6 100644 --- a/tools/scripts-config-cdn/package.json +++ b/tools/scripts-config-cdn/package.json @@ -4,7 +4,7 @@ "description": "Provide a simple API to inject CDN config into existing webpack configuration", "main": "cdn.js", "scripts": { - "lint": "talend-scripts lint ./", + "lint": "eslint ./", "test": "echo \"Nothing to test\"" }, "author": "Talend Frontend (http://www.talend.com)", @@ -16,6 +16,10 @@ "js-yaml": "^3.14.1", "read-pkg-up": "^7.0.1" }, + "devDependencies": { + "@babel/eslint-parser": "^7.23.3", + "eslint": "^8.53.0" + }, "publishConfig": { "access": "public" } diff --git a/tools/scripts-config-jest/package.json b/tools/scripts-config-jest/package.json index 23ad874a1da..6d8c19fa50b 100644 --- a/tools/scripts-config-jest/package.json +++ b/tools/scripts-config-jest/package.json @@ -14,7 +14,7 @@ "url": "https://github.com/Talend/ui.git" }, "scripts": { - "lint": "echo \"Not possible to use talend-scripts here (risk of circular dependency)\" && exit 0", + "lint": "eslint ./", "test": "jest" }, "dependencies": { @@ -30,15 +30,19 @@ "raf": "^3.4.1", "regenerator-runtime": "^0.13.11" }, + "devDependencies": { + "@talend/eslint-config": "^12.2.0", + "@talend/eslint-plugin": "^1.0.1" + }, "peerDependencies": { - "@talend/design-system": ">= 7.15.1", + "@talend/design-system": ">= 8.1.0", "ally.js": ">= 1.4.1", - "i18next": ">= 20.6.1", + "i18next": ">= 23.5.1", "classnames": ">= 2.3.2", "jest-axe": ">= 8.0.0", "prop-types": ">= 15.8.1", "react": ">= 16.14.0", - "react-i18next": ">= 11.18.6" + "react-i18next": ">= 13.3.0" }, "peerDependenciesMeta": { "@talend/design-system": { diff --git a/tools/scripts-config-prettier/.prettierrc.js b/tools/scripts-config-prettier/.prettierrc.js index 69d70eb0f0c..1e0f97029a7 100644 --- a/tools/scripts-config-prettier/.prettierrc.js +++ b/tools/scripts-config-prettier/.prettierrc.js @@ -3,6 +3,7 @@ const path = require('path'); const isTS = fs.existsSync(path.join(process.cwd(), 'tsconfig.json')); module.exports = { + plugins: [require.resolve('@trivago/prettier-plugin-sort-imports')], importOrder: [ '^@babel/polyfill', 'jquery', // jquery needs to be imported before angular @@ -15,7 +16,7 @@ module.exports = { '.*scss', ], importOrderSeparation: true, - experimentalBabelParserPluginsList: ['jsx', isTS && 'typescript'].filter(Boolean), + importOrderParserPlugins: ['jsx', isTS && 'typescript'].filter(Boolean), printWidth: 100, singleQuote: true, trailingComma: 'all', diff --git a/tools/scripts-config-prettier/package.json b/tools/scripts-config-prettier/package.json index a7452c79c30..9a57312c7a5 100644 --- a/tools/scripts-config-prettier/package.json +++ b/tools/scripts-config-prettier/package.json @@ -12,11 +12,19 @@ "url": "https://github.com/Talend/ui.git" }, "scripts": { - "lint": "talend-scripts lint ./", + "lint": "eslint ./", "test": "echo \"Nothing to test\"" }, "license": "Apache-2.0", "publishConfig": { "access": "public" + }, + "dependencies": { + "@trivago/prettier-plugin-sort-imports": "^3.4.0" + }, + "devDependencies": { + "@babel/eslint-parser": "^7.23.3", + "@talend/eslint-config": "^12.2.0", + "eslint": "^8.53.0" } } diff --git a/tools/scripts-config-react-webpack/config/webpack.config.common.js b/tools/scripts-config-react-webpack/config/webpack.config.common.js index 18b78c1e0a9..81c606202bd 100644 --- a/tools/scripts-config-react-webpack/config/webpack.config.common.js +++ b/tools/scripts-config-react-webpack/config/webpack.config.common.js @@ -111,7 +111,7 @@ function getWebpackRules(srcDirectories, useTypescript, devMode) { devMode && { test: /\.js$/, include: /node_modules/, - use: ['source-map-loader'], + use: [require.resolve('source-map-loader')], enforce: 'pre', }, { diff --git a/tools/scripts-config-react-webpack/config/webpack.config.js b/tools/scripts-config-react-webpack/config/webpack.config.js index 37ae00cb992..82752d8d296 100644 --- a/tools/scripts-config-react-webpack/config/webpack.config.js +++ b/tools/scripts-config-react-webpack/config/webpack.config.js @@ -285,7 +285,7 @@ module.exports = ({ getUserConfig, mode }) => { isEnvDevelopment && { test: /\.js$/, include: /node_modules/, - use: ['source-map-loader'], + use: [require.resolve('source-map-loader')], enforce: 'pre', }, { diff --git a/tools/scripts-config-react-webpack/package.json b/tools/scripts-config-react-webpack/package.json index 06484eaa9a6..af42ca90107 100644 --- a/tools/scripts-config-react-webpack/package.json +++ b/tools/scripts-config-react-webpack/package.json @@ -17,6 +17,9 @@ "lint": "eslint ./", "test": "echo \"Nothing to test\"" }, + "peerDependencies": { + "@talend/icons": "^7.1.0" + }, "dependencies": { "@babel/core": "^7.23.3", "@sentry/webpack-plugin": "^1.20.1", @@ -59,9 +62,8 @@ "webpack-dev-server": "^4.15.1" }, "devDependencies": { - "@babel/eslint-parser": "^7.23.3", "@talend/eslint-config": "^13.0.0", - "eslint": "^8.53.0" + "@talend/eslint-plugin": "^1.0.1" }, "publishConfig": { "access": "public" diff --git a/tools/scripts-config-storybook-lib/.storybook-templates/msw/mockServiceWorker.js b/tools/scripts-config-storybook-lib/.storybook-templates/msw/mockServiceWorker.js index b23b83ff8c3..37c8c04bf89 100644 --- a/tools/scripts-config-storybook-lib/.storybook-templates/msw/mockServiceWorker.js +++ b/tools/scripts-config-storybook-lib/.storybook-templates/msw/mockServiceWorker.js @@ -2,7 +2,7 @@ /* tslint:disable */ /** - * Mock Service Worker (0.49.3). + * Mock Service Worker (1.3.2). * @see https://github.com/mswjs/msw * - Please do NOT modify this file. * - Please do NOT serve this file on production. diff --git a/tools/scripts-config-storybook-lib/package.json b/tools/scripts-config-storybook-lib/package.json index e4226e13a16..89d95483d4d 100644 --- a/tools/scripts-config-storybook-lib/package.json +++ b/tools/scripts-config-storybook-lib/package.json @@ -34,13 +34,12 @@ "assert": "^2.1.0", "i18next-http-backend": "^1.4.5", "lodash": "^4.17.21", - "msw": "^0.49.3", + "msw": "^1.3.2", "msw-storybook-addon": "^1.10.0", "storybook": "^7.5.3", "util": "^0.12.5" }, "peerDependencies": { - "@talend/design-system": "*", "i18next": "*", "react": "*", "react-i18next": "*" @@ -48,7 +47,11 @@ "publishConfig": { "access": "public" }, - "devDependencies": {}, + "devDependencies": { + "@talend/eslint-config": "^12.2.0", + "@talend/eslint-plugin": "^1.0.1", + "@talend/scripts-core": "^16.1.0" + }, "msw": { "workerDirectory": ".storybook-templates/msw" } diff --git a/tools/scripts-config-stylelint/package.json b/tools/scripts-config-stylelint/package.json index 4f41f9e58eb..785b386b1bc 100644 --- a/tools/scripts-config-stylelint/package.json +++ b/tools/scripts-config-stylelint/package.json @@ -10,7 +10,7 @@ "url": "https://github.com/Talend/ui/issues" }, "scripts": { - "lint": "talend-scripts lint ./", + "lint": "eslint ./", "test": "echo \"Nothing to test\"" }, "repository": { @@ -22,6 +22,10 @@ "stylelint-config-sass-guidelines": "^10.0.0", "stylelint-config-standard": "^34.0.0" }, + "devDependencies": { + "@talend/eslint-config": "^12.2.0", + "@talend/eslint-plugin": "^1.0.1" + }, "publishConfig": { "access": "public" } diff --git a/tools/scripts-config-typescript/package.json b/tools/scripts-config-typescript/package.json index 57e2585f82d..171ca79aa42 100644 --- a/tools/scripts-config-typescript/package.json +++ b/tools/scripts-config-typescript/package.json @@ -10,13 +10,17 @@ "url": "https://github.com/Talend/ui/issues" }, "scripts": { - "lint": "talend-scripts lint ./", + "lint": "eslint ./", "test": "echo \"Nothing to test\"" }, "repository": { "type": "git", "url": "https://github.com/Talend/ui.git" }, + "devDependencies": { + "@talend/eslint-config": "^12.2.0", + "@talend/eslint-plugin": "^1.0.1" + }, "publishConfig": { "access": "public" } diff --git a/tools/scripts-config-typescript/tsconfig.json b/tools/scripts-config-typescript/tsconfig.json index 52588ccc3fe..6abd03ae846 100644 --- a/tools/scripts-config-typescript/tsconfig.json +++ b/tools/scripts-config-typescript/tsconfig.json @@ -3,7 +3,7 @@ "outDir": "./dist", "target": "ES2015", "lib": ["dom", "dom.iterable", "esnext"], - "declaration": false, + "declaration": true, "noImplicitAny": true, "strictNullChecks": true, "strictFunctionTypes": true, diff --git a/tools/scripts-core/.gitignore b/tools/scripts-core/.gitignore new file mode 100644 index 00000000000..b7919832705 --- /dev/null +++ b/tools/scripts-core/.gitignore @@ -0,0 +1 @@ +!/__tests__/fixture/node_modules diff --git a/tools/scripts-core/__tests__/fixture/node_modules/react/index.js b/tools/scripts-core/__tests__/fixture/node_modules/react/index.js new file mode 100644 index 00000000000..27d04a3a756 --- /dev/null +++ b/tools/scripts-core/__tests__/fixture/node_modules/react/index.js @@ -0,0 +1,2 @@ +const test = console.log('this is to be able to test scripts-core build:umd'); +export default test; diff --git a/tools/scripts-core/__tests__/fixture/node_modules/react/package.json b/tools/scripts-core/__tests__/fixture/node_modules/react/package.json new file mode 100644 index 00000000000..100b610e277 --- /dev/null +++ b/tools/scripts-core/__tests__/fixture/node_modules/react/package.json @@ -0,0 +1,5 @@ +{ + "private": true, + "name": "react", + "version": "0.0.0" +} diff --git a/tools/scripts-core/package.json b/tools/scripts-core/package.json index e7b333a7f8c..6e996fb9fbb 100644 --- a/tools/scripts-core/package.json +++ b/tools/scripts-core/package.json @@ -18,26 +18,53 @@ "url": "https://github.com/Talend/ui.git" }, "scripts": { - "lint": "talend-scripts lint", - "test": "talend-scripts test" + "lint": "node ./src/index.js lint", + "test": "node ./src/index.js test ./__tests__" + }, + "peerDependencies": { + "@talend/scripts-config-react-webpack": ">=16.0.0", + "@talend/scripts-config-storybook-lib": ">=5.0.0", + "karma": ">=6.4.2", + "storybook": ">=7.4.0" + }, + "peerDependenciesMeta": { + "@talend/scripts-config-react-webpack": { + "optional": true + }, + "@talend/scripts-config-storybook-lib": { + "optional": true + }, + "karma": { + "optional": true + }, + "storybook": { + "optional": true + } }, - "devDependencies": {}, "dependencies": { "@babel/cli": "^7.23.0", "@babel/core": "^7.23.3", "@talend/eslint-config": "^13.0.0", + "@talend/eslint-plugin": "^1.0.1", "@talend/scripts-utils": "^2.1.0", "@talend/scripts-config-babel": "^13.1.0", "@talend/scripts-config-jest": "^13.0.0", + "@talend/scripts-config-stylelint": "^4.0.0", "@talend/scripts-config-typescript": "^11.1.0", + "stylelint": "^15.10.3", + "babel-loader": "^9.1.3", + "jest": "^29.7.0", + "jest-cli": "^29.7.0", "cpx2": "^3.0.2", "fs-extra": "^10.1.0", "lodash": "^4.17.21", "rimraf": "^3.0.2", "typescript": "^5.2.2", + "webpack": "^5.88.2", "webpack-merge": "^5.10.0", "yargs": "^15.4.1" }, + "devDependencies": {}, "publishConfig": { "access": "public" } diff --git a/tools/scripts-core/src/index.js b/tools/scripts-core/src/index.js index e52ad1e2408..c12a562467a 100755 --- a/tools/scripts-core/src/index.js +++ b/tools/scripts-core/src/index.js @@ -1,9 +1,9 @@ #!/usr/bin/env node -/* eslint-disable no-console */ +/* eslint-disable no-console */ import { getEnv } from './utils/env.js'; -import { getPresetApi } from './utils/preset.js'; import { printSeparator } from './utils/log.js'; +import { getPresetApi } from './utils/preset.js'; const command = process.argv[2]; const options = process.argv.slice(3); @@ -89,23 +89,28 @@ switch (command) { case 'build:lib:umd': console.log('This command do not exists anymore, please use just "build" command'); process.exit(-1); + break; case 'lint:es': case 'lint:style': console.log('This command do not exists anymore, please use just "lint" command'); process.exit(-1); + break; case 'test:ng': console.log('This command do not exists anymore, please use just "test" command'); process.exit(-1); + break; case 'upgrade:deps': console.log( 'This command do not exists anymore, please use just "talend-upgrade-deps" binary from "@talend/upgrade-deps" package', ); process.exit(-1); + break; case 'publish:local': console.log( 'This command do not exists anymore, please use just "talend-publish-local" bin from "@talend/scripts-publish-local" package', ); process.exit(-1); + break; default: console.log(`Command ${command} not found.`); process.exit(-1); diff --git a/tools/scripts-core/src/scripts/build-lib-umd.js b/tools/scripts-core/src/scripts/build-lib-umd.js index c717813d89d..3bcb25cf40c 100644 --- a/tools/scripts-core/src/scripts/build-lib-umd.js +++ b/tools/scripts-core/src/scripts/build-lib-umd.js @@ -1,20 +1,20 @@ import fs from 'fs'; + import * as utils from '@talend/scripts-utils'; + import { getUserConfigFile } from '../utils/env.js'; -const webpack = utils.path.resolveBin('webpack'); const dirname = utils.path.getDirName(import.meta.url); async function buildUMD(env, presetApi, options = []) { return utils.process.spawn( - webpack, + new URL(import.meta.resolve('webpack/bin/webpack.js')).pathname, ['--config', utils.path.hereRelative(dirname, '../config/webpack.config.js')].concat(options), { stdio: 'inherit', env }, ); } export default async function build(env, presetApi, options) { - utils.pkg.checkPackageIsInstalled('@talend/scripts-config-react-webpack'); const packageJSON = JSON.parse(fs.readFileSync(getUserConfigFile(['package.json']))); const UMDName = packageJSON.name .replace(/[^a-zA-Z0-9]/g, ' ') diff --git a/tools/scripts-core/src/scripts/build-lib.js b/tools/scripts-core/src/scripts/build-lib.js index 2ad021b6599..630c1e17a9b 100755 --- a/tools/scripts-core/src/scripts/build-lib.js +++ b/tools/scripts-core/src/scripts/build-lib.js @@ -3,6 +3,7 @@ import cpx from 'cpx2'; import fs from 'fs'; import path from 'path'; import rimraf from 'rimraf'; +import { fileURLToPath } from 'url'; import * as utils from '@talend/scripts-utils'; @@ -23,8 +24,12 @@ export default async function build(env, presetApi, unsafeOptions) { return true; }); - const babelRootPath = utils.path.getPkgRootPath('@talend/scripts-config-babel'); - const tsRootPath = utils.path.getPkgRootPath('@talend/scripts-config-typescript'); + const babelRootPath = path.dirname( + fileURLToPath(import.meta.resolve('@talend/scripts-config-babel')), + ); + const tsRootPath = path.dirname( + fileURLToPath(import.meta.resolve('@talend/scripts-config-typescript')), + ); const babelConfigPath = getUserConfigFile(['.babelrc', '.babelrc.json', 'babel.config.js']) || path.join(babelRootPath, 'babel.config.js'); @@ -40,48 +45,54 @@ export default async function build(env, presetApi, unsafeOptions) { rimraf.sync(targetFolder); } const babelPromise = () => - new Promise(async (resolve, reject) => { + new Promise((resolve, reject) => { if (useTsc) { resolve({ status: 0 }); return; } console.log('Compiling with babel...'); - const babelSpawn = await utils.process.spawn( - 'npx', - [ - 'babel', - '--config-file', - babelConfigPath, - '-d', - targetFolder, - srcFolder, - '--source-maps', - '--ignore', - // @see https://github.com/babel/babel/issues/12008 - '**/*.test.js,**/*.test.ts,**/*.test.tsx,**/*.spec.js,**/*.spec.ts,**/*.spec.tsx,**/*.stories.js,**/*.stories.ts,**/*.stories.tsx', - '--extensions', - '.js,.ts,.tsx,.jsx', - ...options, - ], - { - stdio: 'inherit', - env, - shell: process.platform === 'win32', - }, - ); - babelSpawn.on('exit', status => { - if (parseInt(status, 10) !== 0) { - console.error(`Babel exit error: ${status}`); - reject(new Error(status)); - } else { - console.log(`Babel exit: ${status}`); - resolve({ status }); - } - }); + utils.process + .spawn( + new URL(import.meta.resolve('@babel/cli/bin/babel.js')).pathname, + [ + '--config-file', + babelConfigPath, + '-d', + targetFolder, + srcFolder, + '--source-maps', + '--ignore', + // @see https://github.com/babel/babel/issues/12008 + '**/__mocks__,**/__tests__,**/*.test.js,**/*.test.ts,**/*.test.tsx,**/*.spec.js,**/*.spec.ts,**/*.spec.tsx,**/*.stories.js,**/*.stories.ts,**/*.stories.tsx', + '--extensions', + '.js,.ts,.tsx,.jsx', + ...options, + ], + { + stdio: 'inherit', + env, + shell: process.platform === 'win32', + }, + ) + .then(babelSpawn => { + babelSpawn.on('exit', status => { + if (parseInt(status, 10) !== 0) { + console.error(`Babel exit error: ${status}`); + reject(new Error(status)); + } else { + console.log(`Babel exit: ${status}`); + resolve({ status }); + } + }); + }) + .catch(error => { + console.error('Spawn error:', error); + reject(error); + }); }); const tscPromise = () => - new Promise(async (resolve, reject) => { + new Promise((resolve, reject) => { if (!isTSLib) { resolve({ status: 0 }); return; @@ -93,32 +104,39 @@ export default async function build(env, presetApi, unsafeOptions) { } else { console.log('Building with tsc'); } - args = ['tsc'].concat(args); - const tscSpawn = await utils.process.spawn('npx', args, { stdio: 'inherit', env }); - - tscSpawn.on('exit', status => { - if (parseInt(status, 10) !== 0) { - console.error(`TSC exit error: ${status}`); - reject(new Error(status)); - } else { - console.log(`TSC exit: ${status}`); - if (!types) { - const msg = `Entry "types", referencing your declaration file (index.d.ts), must be defined in ${pkgPath}`; - console.error(msg); - reject(new Error(msg)); - } else { - const absoluteTypes = path.join(process.cwd(), types); - if (!fs.existsSync(absoluteTypes)) { - const msg = `Declaration file, referenced in package.json, not found ${absoluteTypes}`; - console.error(msg); - reject(new Error(msg)); + const tsc = new URL(import.meta.resolve('typescript/bin/tsc')).pathname; + console.log('####TSC', args); + utils.process + .spawn(tsc, args, { stdio: 'inherit', env }) + .then(tscSpawn => { + tscSpawn.on('exit', status => { + if (parseInt(status, 10) !== 0) { + console.error(`TSC exit error: ${status}`); + reject(new Error(status)); } else { - resolve({ status }); + console.log(`TSC exit: ${status}`); + if (!types) { + const msg = `Entry "types", referencing your declaration file (index.d.ts), must be defined in ${pkgPath}`; + console.error(msg); + reject(new Error(msg)); + } else { + const absoluteTypes = path.join(process.cwd(), types); + if (!fs.existsSync(absoluteTypes)) { + const msg = `Declaration file, referenced in package.json, not found ${absoluteTypes}`; + console.error(msg); + reject(new Error(msg)); + } else { + resolve({ status }); + } + } } - } - } - }); + }); + }) + .catch(error => { + console.error('Spawn error:', error); + reject(error); + }); }); const copyPromise = () => @@ -136,7 +154,7 @@ export default async function build(env, presetApi, unsafeOptions) { cpx.copy(`${srcFolder}/**/*.{scss,json}`, targetFolder, err => { if (err) { console.error(err); - reject(error); + reject(err); } else { resolve(); } diff --git a/tools/scripts-core/src/scripts/build-storybook.js b/tools/scripts-core/src/scripts/build-storybook.js index 753d6383037..dafa4835fd6 100755 --- a/tools/scripts-core/src/scripts/build-storybook.js +++ b/tools/scripts-core/src/scripts/build-storybook.js @@ -1,13 +1,16 @@ import * as utils from '@talend/scripts-utils'; + import { getStorybookConfiguration } from '../utils/storybook.js'; export default async function build(env, presetApi, options) { const sbConfigPath = getStorybookConfiguration(presetApi); - utils.pkg.checkPackageIsInstalled('@talend/scripts-config-storybook-lib'); - const buildStorybook = utils.path.resolveBin('storybook'); - return utils.process.spawn(buildStorybook, ['build', '-c', sbConfigPath].concat(options), { - stdio: 'inherit', - env, - }); + return utils.process.spawn( + new URL(import.meta.resolve('storybook/index.js')).pathname, + ['build', '-c', sbConfigPath].concat(options), + { + stdio: 'inherit', + env, + }, + ); } diff --git a/tools/scripts-core/src/scripts/build.js b/tools/scripts-core/src/scripts/build.js index dae68614898..c2831e725eb 100755 --- a/tools/scripts-core/src/scripts/build.js +++ b/tools/scripts-core/src/scripts/build.js @@ -1,15 +1,14 @@ import * as utils from '@talend/scripts-utils'; -import buildLib from './build-lib.js'; + import buildUMD from './build-lib-umd.js'; +import buildLib from './build-lib.js'; // eslint-disable-next-line consistent-return export default async function build(env, _, options) { const packageType = utils.pkg.getPackageType(); if (packageType.isApp) { - utils.pkg.checkPackageIsInstalled('@talend/scripts-config-react-webpack'); - const webpack = utils.path.resolveBin('webpack'); return utils.process.spawn( - webpack, + new URL(import.meta.resolve('webpack/bin/webpack.js')).pathname, [ '--config', utils.path.hereRelative( @@ -25,7 +24,6 @@ export default async function build(env, _, options) { if (packageType.isLib) { // detect UMD here if (options.includes('--umd')) { - utils.pkg.checkPackageIsInstalled('@talend/scripts-config-react-webpack'); return buildUMD( env, _, diff --git a/tools/scripts-core/src/scripts/extends.js b/tools/scripts-core/src/scripts/extends.js index 424d60428d8..d77a2ffb251 100755 --- a/tools/scripts-core/src/scripts/extends.js +++ b/tools/scripts-core/src/scripts/extends.js @@ -1,7 +1,9 @@ /* eslint-disable no-console */ import fs from 'fs'; -import path from 'path'; import _ from 'lodash'; +import path from 'path'; +import { fileURLToPath } from 'url'; + import { getUserConfigFile } from '../utils/env.js'; const { template } = _; @@ -68,14 +70,16 @@ function generateConfigFile({ configFileNames, defaultConfigFilePath, generateCo console.log(`✅ ${fileName} created.`); } -export default async function extend(env, presetApi) { +export default async function extend() { const rootPath = process.cwd(); const nodeModulesPath = path.join(rootPath, 'node_modules'); generateConfigFile({ configFileNames: ['jest.config.js'], defaultConfigFilePath: path.join(rootPath, 'jest.config.js'), generateContent() { - const configPath = utils.path.getPkgRootPath('@talend/scripts-config-jest'); + const configPath = path.dirname( + fileURLToPath(import.meta.resolve('@talend/scripts-config-jest')), + ); const presetConfigPath = path.join(configPath, 'jest.config.js'); const presetConfigRelativePath = path.relative(nodeModulesPath, presetConfigPath); return jestExtendsTemplate({ presetConfigRelativePath }); @@ -86,7 +90,9 @@ export default async function extend(env, presetApi) { configFileNames: ['.prettierrc.js'], defaultConfigFilePath: path.join(rootPath, '.prettierrc.js'), generateContent() { - const configPath = utils.path.getPkgRootPath('@talend/scripts-config-prettier'); + const configPath = path.dirname( + fileURLToPath(import.meta.resolve('@talend/scripts-config-prettier')), + ); const presetConfigPath = path.join(configPath, '.prettierrc.js'); const presetConfigRelativePath = path.relative(nodeModulesPath, presetConfigPath); return prettierExtendsTemplate({ presetConfigRelativePath }); @@ -104,7 +110,9 @@ export default async function extend(env, presetApi) { ], defaultConfigFilePath: path.join(rootPath, '.stylelintrc'), generateContent() { - const configPath = utils.path.getPkgRootPath('@talend/scripts-config-stylelint'); + const configPath = path.dirname( + fileURLToPath(import.meta.resolve('@talend/scripts-config-stylelint')), + ); const presetConfigPath = path.join(configPath, '.stylelintrc'); const presetConfigRelativePath = path.relative(nodeModulesPath, presetConfigPath); return stylelintExtendsTemplate({ presetConfigRelativePath }); @@ -121,7 +129,7 @@ export default async function extend(env, presetApi) { ], defaultConfigFilePath: path.join(rootPath, '.eslintrc'), generateContent() { - const configPath = utils.path.getPkgRootPath('@talend/eslint-config'); + const configPath = path.dirname(fileURLToPath(import.meta.resolve('@talend/eslint-config'))); const presetConfigPath = path.join(configPath, '.eslintrc.js'); const presetConfigRelativePath = path.relative(nodeModulesPath, presetConfigPath); return eslintExtendsTemplate({ presetConfigRelativePath }); @@ -132,7 +140,9 @@ export default async function extend(env, presetApi) { configFileNames: ['.babelrc', '.babelrc.json', 'babel.config.js'], defaultConfigFilePath: path.join(rootPath, 'babel.config.js'), generateContent() { - const configPath = utils.path.getPkgRootPath('@talend/scripts-config-babel'); + const configPath = path.dirname( + fileURLToPath(import.meta.resolve('@talend/scripts-config-babel')), + ); const presetConfigPath = path.join(configPath, 'babel.config.js'); const presetConfigRelativePath = path.relative(nodeModulesPath, presetConfigPath); return babelExtendsTemplate({ presetConfigRelativePath }); @@ -143,7 +153,9 @@ export default async function extend(env, presetApi) { configFileNames: ['tsconfig.json'], defaultConfigFilePath: path.join(rootPath, 'tsconfig.json'), generateContent() { - const configPath = utils.path.getPkgRootPath('@talend/scripts-config-typescript'); + const configPath = path.dirname( + fileURLToPath(import.meta.resolve('@talend/scripts-config-typescript')), + ); const presetConfigPath = path.join(configPath, 'tsconfig.json'); const presetConfigRelativePath = path.relative(nodeModulesPath, presetConfigPath); return typescriptExtendsTemplate({ presetConfigRelativePath }); diff --git a/tools/scripts-core/src/scripts/lint.js b/tools/scripts-core/src/scripts/lint.js index ff5638f4237..cf83b60da72 100644 --- a/tools/scripts-core/src/scripts/lint.js +++ b/tools/scripts-core/src/scripts/lint.js @@ -1,5 +1,8 @@ import path from 'path'; +import { fileURLToPath } from 'url'; + import * as utils from '@talend/scripts-utils'; + import { getUserConfigFile } from '../utils/env.js'; function getSmartOptions(opts, categories) { @@ -26,7 +29,7 @@ function getSmartOptions(opts, categories) { } async function lintEs(env, presetApi, options) { - const configRootPath = utils.path.getPkgRootPath('@talend/eslint-config'); + const configRootPath = path.dirname(fileURLToPath(import.meta.resolve('@talend/eslint-config'))); const eslintConfigPath = getUserConfigFile([ @@ -56,16 +59,16 @@ async function lintEs(env, presetApi, options) { } } - const eslint = utils.path.resolveBin('eslint'); - - return utils.process.spawn(eslint, args, { + return utils.process.spawn(new URL(import.meta.resolve('eslint/bin/eslint.js')).pathname, args, { stdio: 'inherit', env, }); } async function lintStyle(env, presetApi, options) { - const configRootPath = utils.path.getPkgRootPath('@talend/scripts-config-stylelint'); + const configRootPath = path.dirname( + fileURLToPath(import.meta.resolve('@talend/scripts-config-stylelint')), + ); const stylelintConfigPath = getUserConfigFile([ '.stylelintrc.js', @@ -95,13 +98,15 @@ async function lintStyle(env, presetApi, options) { args.push('-f', 'json'); } } - utils.pkg.checkPackageIsInstalled('@talend/scripts-config-stylelint'); - const stylelint = utils.path.resolveBin('stylelint'); - return utils.process.spawn(stylelint, args, { - stdio: 'inherit', - env, - }); + return utils.process.spawn( + new URL(import.meta.resolve('stylelint/bin/stylelint.mjs')).pathname, + args, + { + stdio: 'inherit', + env, + }, + ); } export default async function lint(env, presetApi, options) { diff --git a/tools/scripts-core/src/scripts/start-storybook.js b/tools/scripts-core/src/scripts/start-storybook.js index 1cdd7c50ed2..f957fb59721 100755 --- a/tools/scripts-core/src/scripts/start-storybook.js +++ b/tools/scripts-core/src/scripts/start-storybook.js @@ -4,12 +4,14 @@ import * as utils from '@talend/scripts-utils'; import { getStorybookConfiguration } from '../utils/storybook.js'; export default async function start(env, presetApi, options) { - utils.pkg.checkPackageIsInstalled('@talend/scripts-config-storybook-lib'); - const startStorybook = utils.path.resolveBin('storybook'); const sbConfigPath = getStorybookConfiguration(presetApi); - return utils.process.spawn(startStorybook, ['dev', '-c', sbConfigPath].concat(options), { - stdio: 'inherit', - env, - }); + return utils.process.spawn( + new URL(import.meta.resolve('storybook/index.js')).pathname, + ['dev', '-c', sbConfigPath].concat(options), + { + stdio: 'inherit', + env, + }, + ); } diff --git a/tools/scripts-core/src/scripts/start.js b/tools/scripts-core/src/scripts/start.js index ba3d14346ac..cb5732626c7 100755 --- a/tools/scripts-core/src/scripts/start.js +++ b/tools/scripts-core/src/scripts/start.js @@ -1,14 +1,13 @@ import * as utils from '@talend/scripts-utils'; + import startStorybook from './start-storybook.js'; export default async function start(env, _, options) { const packageType = utils.pkg.getPackageType(); if (packageType.isApp) { - utils.pkg.checkPackageIsInstalled('@talend/scripts-config-react-webpack'); - const webpack = utils.path.resolveBin('webpack'); return utils.process.spawn( - webpack, + new URL(import.meta.resolve('webpack/bin/webpack.js')).pathname, [ 'serve', '--config', @@ -25,4 +24,5 @@ export default async function start(env, _, options) { if (packageType.isLib) { return startStorybook(env, _, options); } + return null; } diff --git a/tools/scripts-core/src/scripts/test.js b/tools/scripts-core/src/scripts/test.js index ad54cb7b06d..b80093b90d8 100755 --- a/tools/scripts-core/src/scripts/test.js +++ b/tools/scripts-core/src/scripts/test.js @@ -1,16 +1,24 @@ import path from 'path'; +import { fileURLToPath } from 'url'; + import * as utils from '@talend/scripts-utils'; + import { getUserConfigFile } from '../utils/env.js'; async function testKarma(env, presetApi, options) { - const karma = utils.path.resolveBin('karma'); - const configPath = utils.path.getPkgRootPath('@talend/scripts-config-karma'); + const configPath = path.dirname( + fileURLToPath(import.meta.resolve('@talend/scripts-config-karma')), + ); const karmaConfigPath = path.join(configPath, 'karma.conf.js'); - return utils.process.spawn(karma, ['start', karmaConfigPath].concat(options), { - stdio: 'inherit', - env, - }); + return utils.process.spawn( + new URL(import.meta.resolve('karma/bin/karma')).pathname, + ['start', karmaConfigPath].concat(options), + { + stdio: 'inherit', + env, + }, + ); } export default async function test(env, presetApi, options) { @@ -18,13 +26,18 @@ export default async function test(env, presetApi, options) { if (packageType.isAngular) { return testKarma(env, presetApi, options); } - const configPath = utils.path.getPkgRootPath('@talend/scripts-config-jest'); + const configPath = path.dirname( + fileURLToPath(import.meta.resolve('@talend/scripts-config-jest')), + ); const jestConfigPath = getUserConfigFile('jest.config.js') || path.join(configPath, 'jest.config.js'); - const jest = utils.path.resolveBin('jest'); - return utils.process.spawn(jest, ['--config', jestConfigPath].concat(options), { - stdio: 'inherit', - env, - }); + return utils.process.spawn( + new URL(import.meta.resolve('jest-cli/bin/jest')).pathname, + ['--config', jestConfigPath].concat(options), + { + stdio: 'inherit', + env, + }, + ); } diff --git a/tools/scripts-core/src/utils/env.js b/tools/scripts-core/src/utils/env.js index 07fcc6533bb..d907678c3c4 100644 --- a/tools/scripts-core/src/utils/env.js +++ b/tools/scripts-core/src/utils/env.js @@ -1,9 +1,10 @@ import fs from 'fs'; import _ from 'lodash'; -import path from 'path'; import { createRequire } from 'module'; +import path from 'path'; + +const requireCustom = createRequire(import.meta.url); -const require = createRequire(import.meta.url); const { get } = _; /** * Get talend-scripts configuration @@ -14,7 +15,7 @@ function getScriptsConfig() { if (fs.existsSync(configFilePath)) { // Load and return first config file found - return require(configFilePath); + return requireCustom(configFilePath); } configFilePath = path.join(process.cwd(), 'talend-scripts.json'); if (fs.existsSync(configFilePath)) { diff --git a/tools/scripts-core/src/utils/preset.js b/tools/scripts-core/src/utils/preset.js index b0aa5cf7b56..51459956b2f 100644 --- a/tools/scripts-core/src/utils/preset.js +++ b/tools/scripts-core/src/utils/preset.js @@ -1,10 +1,5 @@ -import fs from 'fs'; -import path from 'path'; -import { createRequire } from 'module'; import { createUserConfigGetter } from './env.js'; -const require = createRequire(import.meta.url); - /** * Get the preset arguments * @param env Then environment object. It takes the current process env if not provided. diff --git a/tools/scripts-core/src/utils/storybook.js b/tools/scripts-core/src/utils/storybook.js index e2ad4d1a3b7..40b7b0be83f 100644 --- a/tools/scripts-core/src/utils/storybook.js +++ b/tools/scripts-core/src/utils/storybook.js @@ -1,9 +1,11 @@ /* eslint-disable no-console */ -import path from 'path'; import fs from 'fs'; import fse from 'fs-extra'; import _ from 'lodash'; import { createRequire } from 'module'; +import path from 'path'; +import { fileURLToPath } from 'url'; + import * as utils from '@talend/scripts-utils'; const require = createRequire(import.meta.url); @@ -14,7 +16,9 @@ const TMP_PATH = path.join(CWD, 'node_modules', '.cache', '.talend-storybook'); const USER_SB_PATH = path.join(CWD, '.storybook'); function getTemplatePath() { - const configSBPath = utils.path.getPkgRootPath('@talend/scripts-config-storybook-lib'); + const configSBPath = path.dirname( + fileURLToPath(import.meta.resolve('@talend/scripts-config-storybook-lib')), + ); return path.join(configSBPath, '.storybook-templates'); } diff --git a/tools/scripts-locales/package.json b/tools/scripts-locales/package.json index 325061bce34..aff28a70036 100644 --- a/tools/scripts-locales/package.json +++ b/tools/scripts-locales/package.json @@ -10,8 +10,13 @@ "lint": "talend-scripts lint" }, "dependencies": { - "cross-spawn": "^7.0.3", - "@talend/scripts-utils": "^2.1.0" + "@talend/scripts-utils": "^2.1.0", + "cross-spawn": "^7.0.3" + }, + "devDependencies": { + "@talend/eslint-config": "^12.2.0", + "@talend/eslint-plugin": "^1.0.1", + "@talend/scripts-core": "^16.1.0" }, "keywords": [ "i18next", diff --git a/tools/scripts-locales/src/index.js b/tools/scripts-locales/src/index.js index 83d4309c660..4e1e9b9948e 100755 --- a/tools/scripts-locales/src/index.js +++ b/tools/scripts-locales/src/index.js @@ -1,5 +1,4 @@ #!/usr/bin/env node -import * as utils from '@talend/scripts-utils'; import { updateCode } from './update-code.js'; const command = process.argv[2]; diff --git a/tools/scripts-publish-local/package.json b/tools/scripts-publish-local/package.json index 85e5f501f06..2e2ee525187 100644 --- a/tools/scripts-publish-local/package.json +++ b/tools/scripts-publish-local/package.json @@ -15,6 +15,11 @@ "generate-password": "^1.7.1", "rimraf": "^3.0.2" }, + "devDependencies": { + "@talend/eslint-config": "^12.2.0", + "@talend/eslint-plugin": "^1.0.1", + "@talend/scripts-core": "^16.1.0" + }, "author": "Talend Frontend (http://www.talend.com)", "license": "Apache-2.0", "publishConfig": { diff --git a/tools/scripts-teorem/package.json b/tools/scripts-teorem/package.json index 617c3afa70a..3d38a2979dc 100644 --- a/tools/scripts-teorem/package.json +++ b/tools/scripts-teorem/package.json @@ -28,5 +28,9 @@ "mkdirp": "^1.0.4", "queue": "^6.0.2" }, - "devDependencies": {} + "devDependencies": { + "@talend/eslint-config": "^12.2.0", + "@talend/eslint-plugin": "^1.0.1", + "@talend/scripts-core": "^16.1.0" + } } diff --git a/tools/scripts-utils/.eslintrc.json b/tools/scripts-utils/.eslintrc.json index 892f6e0fe8e..8464e11418a 100644 --- a/tools/scripts-utils/.eslintrc.json +++ b/tools/scripts-utils/.eslintrc.json @@ -1,16 +1,4 @@ { "root": true, - "extends": ["eslint:recommended", "plugin:prettier/recommended", "plugin:import/recommended"], - "env": { - "es6": true, - "node": true, - "jasmine": true, - "jest": true - }, - "parser": "@babel/eslint-parser", - "parserOptions": { - "ecmaVersion": 6, - "sourceType": "module", - "requireConfigFile": false - } + "extends": "@talend" } diff --git a/tools/scripts-utils/package.json b/tools/scripts-utils/package.json index 5e513e7ecc7..d3faf97417a 100644 --- a/tools/scripts-utils/package.json +++ b/tools/scripts-utils/package.json @@ -14,6 +14,7 @@ }, "devDependencies": { "@babel/eslint-parser": "^7.23.3", + "@talend/eslint-config": "^12.2.0", "eslint": "^8.53.0", "jest": "^29.7.0" }, diff --git a/tools/scripts-yarn-workspace/package.json b/tools/scripts-yarn-workspace/package.json index ca1b86ff0d7..53ef96966ff 100644 --- a/tools/scripts-yarn-workspace/package.json +++ b/tools/scripts-yarn-workspace/package.json @@ -10,7 +10,11 @@ "lint": "talend-scripts lint" }, "author": "frontend@talend.com", - "dependencies": {}, + "devDependencies": { + "@talend/eslint-config": "^12.2.0", + "@talend/eslint-plugin": "^1.0.1", + "@talend/scripts-core": "^16.1.0" + }, "license": "Apache-2.0", "publishConfig": { "access": "public" diff --git a/tools/upgrade-deps/package.json b/tools/upgrade-deps/package.json index f6aa0500463..ae49fbf7a5f 100644 --- a/tools/upgrade-deps/package.json +++ b/tools/upgrade-deps/package.json @@ -14,7 +14,9 @@ "yarn-deduplicate": "^6.0.2" }, "devDependencies": { - "jest": "^29.7.0" + "@talend/eslint-config": "^12.2.0", + "@talend/eslint-plugin": "^1.0.1", + "@talend/scripts-core": "^16.1.0" }, "license": "Apache-2.0", "homepage": "https://github.com/Talend/ui", @@ -27,7 +29,7 @@ }, "scripts": { "lint": "talend-scripts lint ./", - "test:cron": "jest" + "test:cron": "talend-scripts test" }, "publishConfig": { "access": "public" diff --git a/yarn.lock b/yarn.lock index f51487e858f..94276dcde40 100644 --- a/yarn.lock +++ b/yarn.lock @@ -185,6 +185,13 @@ "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" chokidar "^3.4.0" +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.22.13": version "7.22.13" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" @@ -198,6 +205,28 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.3.tgz#3febd552541e62b5e883a25eb3effd7c7379db11" integrity sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ== +"@babel/core@7.12.9": + version "7.12.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" + integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.5" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.7" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.9" + "@babel/types" "^7.12.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/core@7.17.8": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" @@ -240,7 +269,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/eslint-parser@^7.23.3": +"@babel/eslint-parser@^7.22.15", "@babel/eslint-parser@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz#7bf0db1c53b54da0c8a12627373554a0828479ca" integrity sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw== @@ -258,7 +287,7 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.12.11", "@babel/generator@^7.17.3", "@babel/generator@^7.17.7", "@babel/generator@^7.22.9", "@babel/generator@^7.23.3", "@babel/generator@^7.7.2": +"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.17.3", "@babel/generator@^7.17.7", "@babel/generator@^7.22.9", "@babel/generator@^7.23.3", "@babel/generator@^7.7.2": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.3.tgz#86e6e83d95903fbe7613f448613b8b319f330a8e" integrity sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg== @@ -362,7 +391,7 @@ dependencies: "@babel/types" "^7.22.15" -"@babel/helper-module-transforms@^7.17.7", "@babel/helper-module-transforms@^7.23.3": +"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.17.7", "@babel/helper-module-transforms@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== @@ -380,6 +409,11 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-plugin-utils@7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" @@ -448,7 +482,7 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" -"@babel/helpers@^7.17.8", "@babel/helpers@^7.23.2": +"@babel/helpers@^7.12.5", "@babel/helpers@^7.17.8", "@babel/helpers@^7.23.2": version "7.23.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767" integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ== @@ -457,7 +491,7 @@ "@babel/traverse" "^7.23.2" "@babel/types" "^7.23.0" -"@babel/highlight@^7.22.13": +"@babel/highlight@^7.10.4", "@babel/highlight@^7.22.13": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== @@ -471,7 +505,7 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.9.tgz#f2dde0c682ccc264a9a8595efd030a5cc8fd2539" integrity sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg== -"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.22.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.3", "@babel/parser@^7.9.4": +"@babel/parser@^7.1.0", "@babel/parser@^7.12.7", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.22.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.3", "@babel/parser@^7.9.4": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.3.tgz#0ce0be31a4ca4f1884b5786057cadcb6c3be58f9" integrity sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw== @@ -532,6 +566,15 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" +"@babel/plugin-proposal-object-rest-spread@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" + integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" @@ -630,6 +673,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" + integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx@^7.22.5", "@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.7.2": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" @@ -658,7 +708,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -997,7 +1047,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-parameters@^7.23.3": +"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== @@ -1311,7 +1361,7 @@ dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.16.7", "@babel/template@^7.22.15", "@babel/template@^7.3.3": +"@babel/template@^7.12.7", "@babel/template@^7.16.7", "@babel/template@^7.22.15", "@babel/template@^7.3.3": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== @@ -1336,7 +1386,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.1.6", "@babel/traverse@^7.17.3", "@babel/traverse@^7.22.8", "@babel/traverse@^7.23.2", "@babel/traverse@^7.23.3", "@babel/traverse@^7.4.5": +"@babel/traverse@^7.1.6", "@babel/traverse@^7.12.9", "@babel/traverse@^7.17.3", "@babel/traverse@^7.22.8", "@babel/traverse@^7.23.2", "@babel/traverse@^7.23.3", "@babel/traverse@^7.4.5": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.3.tgz#26ee5f252e725aa7aca3474aa5b324eaf7908b5b" integrity sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ== @@ -1360,7 +1410,7 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.17.0", "@babel/types@^7.2.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.17.0", "@babel/types@^7.2.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.3.tgz#d5ea892c07f2ec371ac704420f4dcdb07b5f9598" integrity sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw== @@ -1912,11 +1962,26 @@ dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": +"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": version "4.10.0" resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + "@eslint/eslintrc@^2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.3.tgz#797470a75fe0fbd5a53350ee715e85e87baff22d" @@ -1999,11 +2064,25 @@ debug "^4.1.1" minimatch "^3.0.5" +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + "@humanwhocodes/object-schema@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" @@ -2327,6 +2406,11 @@ "@types/mdx" "^2.0.0" "@types/react" ">=16" +"@mdx-js/util@1.6.22": + version "1.6.22" + resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" + integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== + "@mswjs/cookies@^0.2.2": version "0.2.2" resolved "https://registry.yarnpkg.com/@mswjs/cookies/-/cookies-0.2.2.tgz#b4e207bf6989e5d5427539c2443380a33ebb922b" @@ -2335,7 +2419,7 @@ "@types/set-cookie-parser" "^2.4.0" set-cookie-parser "^2.4.6" -"@mswjs/interceptors@^0.17.10", "@mswjs/interceptors@^0.17.5": +"@mswjs/interceptors@^0.17.10": version "0.17.10" resolved "https://registry.yarnpkg.com/@mswjs/interceptors/-/interceptors-0.17.10.tgz#857b41f30e2b92345ed9a4e2b1d0a08b8b6fcad4" integrity sha512-N8x7eSLGcmUFNWZRxT1vsHvypzIRgQYdG0rJey/rZCy6zT/30qDt8Joj7FxzGNLSwXbeZqJOMqDurp7ra4hgbw== @@ -4057,6 +4141,30 @@ resolved "https://registry.yarnpkg.com/@talend/daikon-tql-client/-/daikon-tql-client-1.3.1.tgz#75a764ec14b06355af3924f3b2d65ff8e61db4f0" integrity sha512-trwueNzgISaN2jSNBxuiHw76jWX2G/vtSrCtlTaoeS3NzsCIVUlGryqKZnuBLfZWJyVWeImx9xm34mBOHITMIQ== +"@talend/eslint-config@^12.2.0": + version "12.2.0" + resolved "https://registry.yarnpkg.com/@talend/eslint-config/-/eslint-config-12.2.0.tgz#81c349d410baf0f6d0a8d1e47aa4fc330280b720" + integrity sha512-ONLdAVeL+29dMRkLFKO08KaTucVt89jAi9vmAdh5kqroZNVzYoNMNy7lfn9zD6Pz03jZ8EHE9Z/b3EpectPY/Q== + dependencies: + "@babel/eslint-parser" "^7.22.15" + "@talend/eslint-plugin" "^1.0.1" + "@typescript-eslint/eslint-plugin" "^5.62.0" + "@typescript-eslint/parser" "^5.62.0" + eslint "^7.32.0" + eslint-config-airbnb-typescript "^17.1.0" + eslint-config-prettier "^6.15.0" + eslint-plugin-angular "^4.1.0" + eslint-plugin-cypress "^2.15.1" + eslint-plugin-import "^2.29.0" + eslint-plugin-jest-dom "^4.0.3" + eslint-plugin-jsx-a11y "^6.8.0" + eslint-plugin-mdx "^1.17.1" + eslint-plugin-prettier "^4.2.1" + eslint-plugin-react "^7.33.2" + eslint-plugin-react-hooks "^2.5.1" + eslint-plugin-storybook "^0.5.13" + eslint-plugin-testing-library "^5.11.1" + "@talend/locales-design-system@^7.15.1": version "7.15.1" resolved "https://registry.yarnpkg.com/@talend/locales-design-system/-/locales-design-system-7.15.1.tgz#decf29fc64fa075c3612586a55947cbd6e56b191" @@ -4095,7 +4203,7 @@ "@babel/runtime" "^7.14.6" "@testing-library/dom" "^8.1.0" -"@testing-library/dom@^8.0.0", "@testing-library/dom@^8.1.0": +"@testing-library/dom@^8.0.0", "@testing-library/dom@^8.1.0", "@testing-library/dom@^8.11.1": version "8.20.1" resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f" integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== @@ -5175,6 +5283,22 @@ dependencies: "@types/node" "*" +"@typescript-eslint/eslint-plugin@^5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" + integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/type-utils" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + "@typescript-eslint/eslint-plugin@^6.10.0": version "6.10.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.10.0.tgz#cfe2bd34e26d2289212946b96ab19dcad64b661a" @@ -5192,6 +5316,23 @@ semver "^7.5.4" ts-api-utils "^1.0.1" +"@typescript-eslint/experimental-utils@^5.3.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz#14559bf73383a308026b427a4a6129bae2146741" + integrity sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw== + dependencies: + "@typescript-eslint/utils" "5.62.0" + +"@typescript-eslint/parser@^5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" + integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== + dependencies: + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + debug "^4.3.4" + "@typescript-eslint/parser@^6.10.0": version "6.10.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.10.0.tgz#578af79ae7273193b0b6b61a742a2bc8e02f875a" @@ -5219,6 +5360,16 @@ "@typescript-eslint/types" "6.10.0" "@typescript-eslint/visitor-keys" "6.10.0" +"@typescript-eslint/type-utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" + integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== + dependencies: + "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + tsutils "^3.21.0" + "@typescript-eslint/type-utils@6.10.0": version "6.10.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.10.0.tgz#1007faede067c78bdbcef2e8abb31437e163e2e1" @@ -5265,20 +5416,7 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/utils@6.10.0": - version "6.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.10.0.tgz#4d76062d94413c30e402c9b0df8c14aef8d77336" - integrity sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.10.0" - "@typescript-eslint/types" "6.10.0" - "@typescript-eslint/typescript-estree" "6.10.0" - semver "^7.5.4" - -"@typescript-eslint/utils@^5.45.0", "@typescript-eslint/utils@^5.58.0": +"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.45.0", "@typescript-eslint/utils@^5.58.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== @@ -5292,6 +5430,19 @@ eslint-scope "^5.1.1" semver "^7.3.7" +"@typescript-eslint/utils@6.10.0": + version "6.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.10.0.tgz#4d76062d94413c30e402c9b0df8c14aef8d77336" + integrity sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.10.0" + "@typescript-eslint/types" "6.10.0" + "@typescript-eslint/typescript-estree" "6.10.0" + semver "^7.5.4" + "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" @@ -5686,7 +5837,7 @@ acorn-walk@^8.0.0, acorn-walk@^8.0.2: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.0.tgz#2097665af50fd0cf7a2dfccd2b9368964e66540f" integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA== -acorn@^7.4.1: +acorn@^7.4.0, acorn@^7.4.1: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== @@ -5762,7 +5913,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.12.4, ajv@^6.12.5, ajv@^6.12.6: +ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.12.6: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -6410,6 +6561,11 @@ babel-runtime@^6.11.6: core-js "^2.4.0" regenerator-runtime "^0.11.0" +bail@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" + integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== + bail@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" @@ -6880,6 +7036,11 @@ catharsis@^0.9.0: dependencies: lodash "^4.17.15" +ccount@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" + integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== + ccount@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" @@ -6898,14 +7059,6 @@ chai@^4.3.10: pathval "^1.1.1" type-detect "^4.0.8" -chalk@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" - integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@4.1.2, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -6941,6 +7094,11 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== +character-entities-html4@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" + integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g== + character-entities-html4@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" @@ -7217,6 +7375,11 @@ codecov@^3.8.3: teeny-request "7.1.1" urlgrey "1.0.0" +collapse-white-space@^1.0.2: + version "1.0.6" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" + integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== + collect-v8-coverage@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" @@ -8272,7 +8435,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: +debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -8912,7 +9075,7 @@ enhanced-resolve@^5.15.0: graceful-fs "^4.2.4" tapable "^2.2.0" -enquirer@^2.3.0, enquirer@^2.3.6: +enquirer@^2.3.0, enquirer@^2.3.5, enquirer@^2.3.6: version "2.4.1" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== @@ -9199,6 +9362,13 @@ eslint-config-airbnb-typescript@^17.1.0: dependencies: eslint-config-airbnb-base "^15.0.0" +eslint-config-prettier@^6.15.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" + integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== + dependencies: + get-stdin "^6.0.0" + eslint-config-prettier@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz#eb25485946dd0c66cd216a46232dc05451518d1f" @@ -9213,6 +9383,18 @@ eslint-import-resolver-node@^0.3.9: is-core-module "^2.13.0" resolve "^1.22.4" +eslint-mdx@^1.17.1: + version "1.17.1" + resolved "https://registry.yarnpkg.com/eslint-mdx/-/eslint-mdx-1.17.1.tgz#8af9e60cf79e895ec94f23e059fa73bab16c2958" + integrity sha512-ihkTZCYipPUpzZgTeTwRajj3ZFYQAMWUm/ajscLWjXPVA2+ZQoLRreVNETRZ1znCnE3OAGbwmA1vd0uxtSk2wg== + dependencies: + cosmiconfig "^7.0.1" + remark-mdx "^1.6.22" + remark-parse "^8.0.3" + remark-stringify "^8.1.1" + tslib "^2.3.1" + unified "^9.2.2" + eslint-mdx@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/eslint-mdx/-/eslint-mdx-2.2.0.tgz#4e54710f3dc9778fdcac1fabeffacb8f65ad5cbc" @@ -9275,6 +9457,15 @@ eslint-plugin-import@^2.29.0: semver "^6.3.1" tsconfig-paths "^3.14.2" +eslint-plugin-jest-dom@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest-dom/-/eslint-plugin-jest-dom-4.0.3.tgz#ec17171385660e78465cce9f3e1ce90294ea1190" + integrity sha512-9j+n8uj0+V0tmsoS7bYC7fLhQmIvjRqRYEcbDSi+TKPsTThLLXCyj5swMSSf/hTleeMktACnn+HFqXBr5gbcbA== + dependencies: + "@babel/runtime" "^7.16.3" + "@testing-library/dom" "^8.11.1" + requireindex "^1.2.0" + eslint-plugin-jest-dom@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/eslint-plugin-jest-dom/-/eslint-plugin-jest-dom-5.1.0.tgz#b285cd1cc71c084c8ee897f0f85599758d7cb933" @@ -9305,6 +9496,13 @@ eslint-plugin-jsx-a11y@^6.8.0: object.entries "^1.1.7" object.fromentries "^2.0.7" +eslint-plugin-markdown@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-markdown/-/eslint-plugin-markdown-2.2.1.tgz#76b8a970099fbffc6cc1ffcad9772b96911c027a" + integrity sha512-FgWp4iyYvTFxPwfbxofTvXxgzPsDuSKHQy2S+a8Ve6savbujey+lgrFFbXQA0HPygISpRYWYBjooPzhYSF81iA== + dependencies: + mdast-util-from-markdown "^0.8.5" + eslint-plugin-markdown@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/eslint-plugin-markdown/-/eslint-plugin-markdown-3.0.1.tgz#fc6765bdb5f82a75e2438d7fac619602f2abc38c" @@ -9312,6 +9510,17 @@ eslint-plugin-markdown@^3.0.1: dependencies: mdast-util-from-markdown "^0.8.5" +eslint-plugin-mdx@^1.17.1: + version "1.17.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-mdx/-/eslint-plugin-mdx-1.17.1.tgz#c5aa72abae47fd858c183ea606e3e69168b3aa7a" + integrity sha512-yOI2FmHCh+cgkMEkznxvWxfLC8AqZgco7509DjwMoCzXaxslv7YmGBKkvZyHxcbLmswnaMRBlYcd2BT7KPEnKw== + dependencies: + eslint-mdx "^1.17.1" + eslint-plugin-markdown "^2.2.1" + synckit "^0.4.1" + tslib "^2.3.1" + vfile "^4.2.1" + eslint-plugin-mdx@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-mdx/-/eslint-plugin-mdx-2.2.0.tgz#eb1877fcaa2eaa02d3719d5f926d12a3f7f12ff7" @@ -9326,6 +9535,13 @@ eslint-plugin-mdx@^2.2.0: unified "^10.1.2" vfile "^5.3.7" +eslint-plugin-prettier@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== + dependencies: + prettier-linter-helpers "^1.0.0" + eslint-plugin-prettier@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz#a3b399f04378f79f066379f544e42d6b73f11515" @@ -9334,6 +9550,11 @@ eslint-plugin-prettier@^5.0.1: prettier-linter-helpers "^1.0.0" synckit "^0.8.5" +eslint-plugin-react-hooks@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz#4ef5930592588ce171abeb26f400c7fbcbc23cd0" + integrity sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g== + eslint-plugin-react-hooks@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" @@ -9361,6 +9582,15 @@ eslint-plugin-react@^7.33.2: semver "^6.3.1" string.prototype.matchall "^4.0.8" +eslint-plugin-storybook@^0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/eslint-plugin-storybook/-/eslint-plugin-storybook-0.5.13.tgz#dee4056eaa59c886a9ae78fb7b2ee0ed5fad4366" + integrity sha512-82x3FH1VAi68Awu1VEjn/hLkzFZsOP8ItcC5/uGF9WszIrj6n7Q3MZD57oE26k3aKwuPfFtAPnSjFnaBkBab+g== + dependencies: + "@storybook/csf" "^0.0.1" + "@typescript-eslint/experimental-utils" "^5.3.0" + requireindex "^1.1.0" + eslint-plugin-storybook@^0.6.15: version "0.6.15" resolved "https://registry.yarnpkg.com/eslint-plugin-storybook/-/eslint-plugin-storybook-0.6.15.tgz#8a091605b0a90974ec8e62d8112db6c4bd3a6faa" @@ -9371,6 +9601,13 @@ eslint-plugin-storybook@^0.6.15: requireindex "^1.1.0" ts-dedent "^2.2.0" +eslint-plugin-testing-library@^5.11.1: + version "5.11.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz#5b46cdae96d4a78918711c0b4792f90088e62d20" + integrity sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw== + dependencies: + "@typescript-eslint/utils" "^5.58.0" + eslint-plugin-testing-library@^6.1.0: version "6.1.2" resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.1.2.tgz#3e71e5cd5b09f5c443b7136cec97a6fb13ecbf66" @@ -9394,7 +9631,19 @@ eslint-scope@^7.2.2: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-visitor-keys@^2.1.0: +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== @@ -9404,6 +9653,52 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== +eslint@^7.32.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + eslint@^8.53.0: version "8.53.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.53.0.tgz#14f2c8244298fcae1f46945459577413ba2697ce" @@ -9448,6 +9743,15 @@ eslint@^8.53.0: strip-ansi "^6.0.1" text-table "^0.2.0" +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + espree@^9.6.0, espree@^9.6.1: version "9.6.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" @@ -9472,7 +9776,7 @@ esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.2: +esquery@^1.4.0, esquery@^1.4.2: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== @@ -10268,6 +10572,11 @@ function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: es-abstract "^1.22.1" functions-have-names "^1.2.3" +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + functions-have-names@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" @@ -10292,7 +10601,7 @@ generate-password@^1.7.1: resolved "https://registry.yarnpkg.com/generate-password/-/generate-password-1.7.1.tgz#b354255893da7755b033999821d3f1f1a97c1cb4" integrity sha512-9bVYY+16m7W7GczRBDqXE+VVuCX+bWNrfYKC/2p2JkZukFb2sKxT6E3zZ3mJGz7GMe5iRK0A/WawSL3jQfJuNQ== -gensync@^1.0.0-beta.2: +gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== @@ -10347,6 +10656,11 @@ get-port@^5.1.1: resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== + get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" @@ -10501,7 +10815,7 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.19.0, globals@^13.20.0: +globals@^13.19.0, globals@^13.20.0, globals@^13.6.0, globals@^13.9.0: version "13.23.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== @@ -10584,7 +10898,7 @@ graphlib@^2.1.8: dependencies: lodash "^4.17.15" -"graphql@^15.0.0 || ^16.0.0", graphql@^16.8.1: +graphql@^16.8.1: version "16.8.1" resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07" integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== @@ -10714,11 +11028,6 @@ headers-polyfill@3.2.5: resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-3.2.5.tgz#6e67d392c9d113d37448fe45014e0afdd168faed" integrity sha512-tUCGvt191vNSQgttSyJoibR+VO+I6+iCHIUdhzEMJKE+EAL8BwCN7fUOZlY4ofOelNHsK+gEjxB/B+9N3EWtdA== -headers-polyfill@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-3.3.0.tgz#67c6ef7b72d4c8cac832ad5936f5b3a56e7b705a" - integrity sha512-5e57etwBpNcDc0b6KCVWEh/Ro063OxPvzVimUdM0/tsYM/T7Hfy3kknIGj78SFTOhNd8AZY41U8mOHoO4LzmIQ== - hexoid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/hexoid/-/hexoid-1.0.0.tgz#ad10c6573fb907de23d9ec63a711267d9dc9bc18" @@ -11056,12 +11365,12 @@ i18next-scanner@^4.4.0: vinyl "^3.0.0" vinyl-fs "^4.0.0" -i18next@*, i18next@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.6.0.tgz#c6e996cfd3fef0bf60be3b7c581c35338dba5a71" - integrity sha512-z0Cxr0MGkt+kli306WS4nNNM++9cgt2b2VCMprY92j+AIab/oclgPxdwtTZVLP1zn5t5uo8M6uLsZmYrcjr3HA== +i18next@*, i18next@^23.5.1, i18next@^23.6.0: + version "23.7.3" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.7.3.tgz#9e38498ddd1de54890c73bf57dd00d4f204af1d7" + integrity sha512-XetHM9UCk5oeeIcE2hu6Os16mq/zPHi8v/janExQjbFtx4ndNg9ye5OyAz+f5aYums8A1WcnXa7QikaEjyELPg== dependencies: - "@babel/runtime" "^7.22.5" + "@babel/runtime" "^7.23.2" iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" @@ -11101,6 +11410,11 @@ ignore-walk@3.0.4: dependencies: minimatch "^3.0.4" +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + ignore@^5.0.0, ignore@^5.1.9, ignore@^5.2.0, ignore@^5.2.4: version "5.2.4" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" @@ -11116,7 +11430,7 @@ immutable@^3, immutable@^3.7.6, immutable@^3.8.2: resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f" integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA== -import-fresh@^3.2.1, import-fresh@^3.3.0: +import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -11170,7 +11484,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -11312,7 +11626,7 @@ is-absolute-url@^3.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== -is-alphabetical@^1.0.0: +is-alphabetical@1.0.4, is-alphabetical@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== @@ -11322,6 +11636,11 @@ is-alphabetical@^2.0.0: resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== +is-alphanumeric@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" + integrity sha512-ZmRL7++ZkcMOfDuWZuMJyIVLr2keE1o/DeNWh1EmgqGhUcV+9BIVsx0BcSBOHTZqzjs4+dISzr2KAeBEWGgXeA== + is-alphanumerical@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" @@ -11607,6 +11926,11 @@ is-plain-obj@^1.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== +is-plain-obj@^2.0.0: + version "2.1.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" @@ -11732,11 +12056,21 @@ is-weakset@^2.0.1: call-bind "^1.0.2" get-intrinsic "^1.1.1" +is-whitespace-character@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" + integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== + is-windows@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== +is-word-character@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" + integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== + is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" @@ -13022,6 +13356,11 @@ log-update@^5.0.1: strip-ansi "^7.0.1" wrap-ansi "^8.0.1" +longest-streak@^2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" + integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== + longest-streak@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" @@ -13166,6 +13505,11 @@ map-or-similar@^1.5.0: resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08" integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg== +markdown-escapes@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" + integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== + markdown-it-anchor@^8.4.1: version "8.6.7" resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz#ee6926daf3ad1ed5e4e3968b1740eef1c6399634" @@ -13182,6 +13526,13 @@ markdown-it@^12.3.2: mdurl "^1.0.1" uc.micro "^1.0.5" +markdown-table@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" + integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== + dependencies: + repeat-string "^1.0.0" + markdown-to-jsx@^7.1.8: version "7.3.2" resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.3.2.tgz#f286b4d112dad3028acc1e77dfe1f653b347e131" @@ -13197,6 +13548,13 @@ mathml-tag-names@^2.1.3: resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== +mdast-util-compact@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz#cabc69a2f43103628326f35b1acf735d55c99490" + integrity sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA== + dependencies: + unist-util-visit "^2.0.0" + mdast-util-definitions@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2" @@ -13958,31 +14316,6 @@ msw-storybook-addon@^1.10.0: dependencies: is-node-process "^1.0.1" -msw@^0.49.3: - version "0.49.3" - resolved "https://registry.yarnpkg.com/msw/-/msw-0.49.3.tgz#c4ca29eddda3e82ad9e36918dda4a7428eddd7fe" - integrity sha512-kRCbDNbNnRq5LC1H/NUceZlrPAvSrMH6Or0mirIuH69NY84xwDruPn/hkXTovIK1KwDwbk+ZdoSyJlpiekLxEA== - dependencies: - "@mswjs/cookies" "^0.2.2" - "@mswjs/interceptors" "^0.17.5" - "@open-draft/until" "^1.0.3" - "@types/cookie" "^0.4.1" - "@types/js-levenshtein" "^1.1.1" - chalk "4.1.1" - chokidar "^3.4.2" - cookie "^0.4.2" - graphql "^15.0.0 || ^16.0.0" - headers-polyfill "^3.1.0" - inquirer "^8.2.0" - is-node-process "^1.0.1" - js-levenshtein "^1.1.6" - node-fetch "^2.6.7" - outvariant "^1.3.0" - path-to-regexp "^6.2.0" - strict-event-emitter "^0.4.3" - type-fest "^2.19.0" - yargs "^17.3.1" - msw@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/msw/-/msw-1.3.2.tgz#35e0271293e893fc3c55116e90aad5d955c66899" @@ -14064,6 +14397,11 @@ native-promise-only@^0.8.1: resolved "https://registry.yarnpkg.com/native-promise-only/-/native-promise-only-0.8.1.tgz#20a318c30cb45f71fe7adfbf7b21c99c1472ef11" integrity sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg== +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -14479,7 +14817,7 @@ optionator@^0.8.1: type-check "~0.3.2" word-wrap "~1.2.3" -optionator@^0.9.3: +optionator@^0.9.1, optionator@^0.9.3: version "0.9.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== @@ -14526,7 +14864,7 @@ outdent@^0.5.0: resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.5.0.tgz#9e10982fdc41492bb473ad13840d22f9655be2ff" integrity sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== -outvariant@^1.2.1, outvariant@^1.3.0, outvariant@^1.4.0: +outvariant@^1.2.1, outvariant@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.0.tgz#e742e4bda77692da3eca698ef5bfac62d9fba06e" integrity sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw== @@ -15614,7 +15952,7 @@ process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== -progress@^2.0.1, progress@^2.0.3: +progress@^2.0.0, progress@^2.0.1, progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== @@ -16640,6 +16978,11 @@ regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: define-properties "^1.2.0" set-function-name "^2.0.0" +regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + regexpu-core@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" @@ -16675,6 +17018,20 @@ remark-external-links@^8.0.0: space-separated-tokens "^1.0.0" unist-util-visit "^2.0.0" +remark-mdx@^1.6.22: + version "1.6.22" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.6.22.tgz#06a8dab07dcfdd57f3373af7f86bd0e992108bbd" + integrity sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ== + dependencies: + "@babel/core" "7.12.9" + "@babel/helper-plugin-utils" "7.10.4" + "@babel/plugin-proposal-object-rest-spread" "7.12.1" + "@babel/plugin-syntax-jsx" "7.12.1" + "@mdx-js/util" "1.6.22" + is-alphabetical "1.0.4" + remark-parse "8.0.3" + unified "9.2.0" + remark-mdx@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-2.3.0.tgz#efe678025a8c2726681bde8bf111af4a93943db4" @@ -16683,6 +17040,28 @@ remark-mdx@^2.3.0: mdast-util-mdx "^2.0.0" micromark-extension-mdxjs "^1.0.0" +remark-parse@8.0.3, remark-parse@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" + integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== + dependencies: + ccount "^1.0.0" + collapse-white-space "^1.0.2" + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + is-word-character "^1.0.0" + markdown-escapes "^1.0.0" + parse-entities "^2.0.0" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + trim "0.0.1" + trim-trailing-lines "^1.0.0" + unherit "^1.0.4" + unist-util-remove-position "^2.0.0" + vfile-location "^3.0.0" + xtend "^4.0.1" + remark-parse@^10.0.2: version "10.0.2" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262" @@ -16710,6 +17089,26 @@ remark-stringify@^10.0.3: mdast-util-to-markdown "^1.0.0" unified "^10.0.0" +remark-stringify@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-8.1.1.tgz#e2a9dc7a7bf44e46a155ec78996db896780d8ce5" + integrity sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A== + dependencies: + ccount "^1.0.0" + is-alphanumeric "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + longest-streak "^2.0.1" + markdown-escapes "^1.0.0" + markdown-table "^2.0.0" + mdast-util-compact "^2.0.0" + parse-entities "^2.0.0" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + stringify-entities "^3.0.0" + unherit "^1.0.4" + xtend "^4.0.1" + remove-trailing-separator@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -16737,6 +17136,11 @@ renderkid@^3.0.0: lodash "^4.17.21" strip-ansi "^6.0.1" +repeat-string@^1.0.0, repeat-string@^1.5.4: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + replace-ext@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-2.0.0.tgz#9471c213d22e1bcc26717cd6e50881d88f812b06" @@ -16836,7 +17240,7 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4, resolve@^1.9.0: +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4, resolve@^1.3.2, resolve@^1.9.0: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -17126,7 +17530,7 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== -"semver@2 || 3 || 4 || 5", semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.6.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== @@ -17136,7 +17540,7 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.0, semver@^7.5.3, semver@^7.5.4: +semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.0, semver@^7.5.3, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -17722,6 +18126,11 @@ stacktrace-js@^2.0.2: stack-generator "^2.0.5" stacktrace-gps "^3.0.4" +state-toggle@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" + integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== + static-eval@2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42" @@ -17929,6 +18338,15 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +stringify-entities@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-3.1.0.tgz#b8d3feac256d9ffcc9fa1fefdcf3ca70576ee903" + integrity sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg== + dependencies: + character-entities-html4 "^1.0.0" + character-entities-legacy "^1.0.0" + xtend "^4.0.0" + stringify-entities@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" @@ -18074,7 +18492,7 @@ stylelint-scss@^4.4.0: postcss-selector-parser "^6.0.11" postcss-value-parser "^4.2.0" -stylelint@^15.11.0: +stylelint@^15.10.3, stylelint@^15.11.0: version "15.11.0" resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-15.11.0.tgz#3ff8466f5f5c47362bc7c8c9d382741c58bc3292" integrity sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw== @@ -18285,6 +18703,14 @@ synchronous-promise@^2.0.15: resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.17.tgz#38901319632f946c982152586f2caf8ddc25c032" integrity sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g== +synckit@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.4.1.tgz#a8cabedc2456246604465046b37164425c22192e" + integrity sha512-ngUh0+s+DOqEc0sGnrLaeNjbXp0CWHjSGFBqPlQmQ+oN/OfoDoYDBXPh+b4qs1M5QTk5nuQ3AmVz9+2xiY/ldw== + dependencies: + tslib "^2.3.1" + uuid "^8.3.2" + synckit@^0.8.5: version "0.8.5" resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.5.tgz#b7f4358f9bb559437f9f167eb6bc46b3c9818fa3" @@ -18298,7 +18724,7 @@ tabbable@^6.0.1: resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== -table@^6.8.1: +table@^6.0.9, table@^6.8.1: version "6.8.1" resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== @@ -18630,11 +19056,21 @@ trim-newlines@^4.0.2: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-4.1.1.tgz#28c88deb50ed10c7ba6dc2474421904a00139125" integrity sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ== -trim@^1.0.1: +trim-trailing-lines@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" + integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== + +trim@0.0.1, trim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim/-/trim-1.0.1.tgz#68e78f6178ccab9687a610752f4f5e5a7022ee8c" integrity sha512-3JVP2YVqITUisXblCDq/Bi4P9457G/sdEamInkyvCsjbTcXLXIiG7XCb4kGMFWh6JGXesS3TKxOPtrncN/xe8w== +trough@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" + integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== + trough@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" @@ -18932,6 +19368,14 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +unherit@^1.0.4: + version "1.1.3" + resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" + integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== + dependencies: + inherits "^2.0.0" + xtend "^4.0.0" + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -18983,6 +19427,18 @@ unified-engine@^10.1.0: vfile-statistics "^2.0.0" yaml "^2.0.0" +unified@9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8" + integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + unified@^10.0.0, unified@^10.1.2: version "10.1.2" resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" @@ -18996,6 +19452,18 @@ unified@^10.0.0, unified@^10.1.2: trough "^2.0.0" vfile "^5.0.0" +unified@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" + integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + unique-filename@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" @@ -19043,6 +19511,13 @@ unist-util-position-from-estree@^1.0.0, unist-util-position-from-estree@^1.1.0: dependencies: "@types/unist" "^2.0.0" +unist-util-remove-position@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc" + integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA== + dependencies: + unist-util-visit "^2.0.0" + unist-util-remove-position@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz#a89be6ea72e23b1a402350832b02a91f6a9afe51" @@ -19294,6 +19769,11 @@ uvu@^0.5.0, uvu@^0.5.6: kleur "^4.0.3" sade "^1.7.3" +v8-compile-cache@^2.0.3: + version "2.4.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" + integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== + v8-to-istanbul@^9.0.0, v8-to-istanbul@^9.0.1: version "9.1.3" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz#ea456604101cd18005ac2cae3cdd1aa058a6306b" @@ -19337,6 +19817,19 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +vfile-location@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" + integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== + +vfile-message@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" + integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^2.0.0" + vfile-message@^3.0.0: version "3.1.4" resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" @@ -19375,6 +19868,16 @@ vfile-statistics@^2.0.0: vfile "^5.0.0" vfile-message "^3.0.0" +vfile@^4.0.0, vfile@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" + integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^2.0.0" + vfile-message "^2.0.0" + vfile@^5.0.0, vfile@^5.1.0, vfile@^5.3.7: version "5.3.7" resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" @@ -19978,7 +20481,7 @@ xmlhttprequest-ssl@~2.0.0: resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== -xtend@^4.0.0, xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==