diff --git a/.gitignore b/.gitignore
index 1dd9f4ef8aa2b64bf4c1cb0f21f60f485942d912..218ceaf40df87531c8199a43a9c43edac441765a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -104,3 +104,11 @@ tags.lock
tags.temp
.stylelintcache
.solargraph.yml
+
+# Vite Ruby
+/public/vite*
+node_modules
+# Vite uses dotenv and suggests to ignore local-only env files. See
+# https://vitejs.dev/guide/env-and-mode.html#env-files
+*.local
+
diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml
index 2e0d83187cf51aadf0aeb08ca7ce1fb6f8d2385c..27aa656032880fb9f83696487072fefd144c2a26 100644
--- a/.gitlab/ci/frontend.gitlab-ci.yml
+++ b/.gitlab/ci/frontend.gitlab-ci.yml
@@ -11,6 +11,7 @@
# https://github.com/browserslist/browserslist/blob/a287ec6/node.js#L367-L384
BROWSERSLIST_IGNORE_OLD_DATA: "true"
WEBPACK_COMPILE_LOG_PATH: "tmp/webpack-output.log"
+ VITE_RUBY_SKIP_ASSETS_PRECOMPILE_EXTENSION: "true"
stage: prepare
script:
- yarn_install_script
diff --git a/Gemfile b/Gemfile
index 3660b31d27d23bb1e54a8e8fe35f2502d8f604b6..90ad441f5e89f9bc8eddab8f45360328fa61602e 100644
--- a/Gemfile
+++ b/Gemfile
@@ -15,6 +15,8 @@ gem 'bundler-checksum', '~> 0.1.0', path: 'vendor/gems/bundler-checksum', requir
# https://gitlab.com/gitlab-org/gitlab/-/issues/375713
gem 'rails', '~> 6.1.7.2'
+gem 'vite_rails'
+
gem 'bootsnap', '~> 1.16.0', require: false
# Pin openssl to match the version bundled with our supported Rubies.
diff --git a/Gemfile.checksum b/Gemfile.checksum
index 19ed2a937b244f9f26928f8bcb0d4cf51c8ef16f..2d789059a3740dca0358961e06296e0c3d732447 100644
--- a/Gemfile.checksum
+++ b/Gemfile.checksum
@@ -116,6 +116,7 @@
{"name":"doorkeeper","version":"5.5.4","platform":"ruby","checksum":"7fe233a96f93bf0d5496e2284abf431f38ab465fd65d1972b90cbec7c45b1ea1"},
{"name":"doorkeeper-openid_connect","version":"1.8.3","platform":"ruby","checksum":"0df2e714508f1f43fdb4669e97b38b90d365a072908427416da943a1a8e00b6e"},
{"name":"dotenv","version":"2.7.6","platform":"ruby","checksum":"2451ed5e8e43776d7a787e51d6f8903b98e446146c7ad143d5678cc2c409d547"},
+{"name":"dry-cli","version":"0.7.0","platform":"ruby","checksum":"7aa4d4808cdfb39de2f5fc770e34e216ac4ee5e5e77b42757701068b42bbcdb9"},
{"name":"dry-configurable","version":"0.12.0","platform":"ruby","checksum":"87a9579a04dfbae73e401d694282800d64bbdb8631cb3e987bfb79b673df7c67"},
{"name":"dry-container","version":"0.7.2","platform":"ruby","checksum":"a071824ba3451048b23500210f96a2b9facd6e46ac687f65e49c75d18786f6da"},
{"name":"dry-core","version":"0.5.0","platform":"ruby","checksum":"3af9777320a7c930766e2fe638df970c62145100f673caf7aae25ecc3a2c4493"},
@@ -643,6 +644,8 @@
{"name":"version_gem","version":"1.1.0","platform":"ruby","checksum":"6b009518020db57f51ec7b410213fae2bf692baea9f1b51770db97fbc93d9a80"},
{"name":"version_sorter","version":"2.3.0","platform":"ruby","checksum":"2147f2a1a3804fbb8f60d268b7d7c1ec717e6dd727ffe2c165b4e05e82efe1da"},
{"name":"view_component","version":"2.74.1","platform":"ruby","checksum":"0bbd47a9c11455a45043dc01aa604db708654718a4d8755c911425482e8392c0"},
+{"name":"vite_rails","version":"3.0.10","platform":"ruby","checksum":"d0da61fad05563860480729dbcbfc68bcc354ea1cf86dd37168a86674c537b4c"},
+{"name":"vite_ruby","version":"3.2.1","platform":"ruby","checksum":"9740b18b302ea1d8c2148d347b36e1e016d3c00461cceae449b78bbda8e384d5"},
{"name":"vmstat","version":"2.3.0","platform":"ruby","checksum":"ab5446a3e3bd0a9cdb9d9ac69a0bbd119c4f161d945a0846a519dd7018af656d"},
{"name":"warden","version":"1.2.9","platform":"ruby","checksum":"46684f885d35a69dbb883deabf85a222c8e427a957804719e143005df7a1efd0"},
{"name":"warning","version":"1.3.0","platform":"ruby","checksum":"23695a5d8e50bd5c46068931b529bee0b28e4982cbcefbe77d867800dde8069e"},
diff --git a/Gemfile.lock b/Gemfile.lock
index deec0b5c88d635a1706bc70bf17785ab97cbf075..25bbd179bf18a0dc985653bc163b23a8c8e70a16 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -380,6 +380,7 @@ GEM
doorkeeper (>= 5.5, < 5.7)
json-jwt (>= 1.15.0)
dotenv (2.7.6)
+ dry-cli (1.0.0)
dry-configurable (0.12.0)
concurrent-ruby (~> 1.0)
dry-core (~> 0.5, >= 0.5.0)
@@ -1508,7 +1509,7 @@ GEM
tty-screen (0.8.1)
typhoeus (1.4.0)
ethon (>= 0.9.0)
- tzinfo (2.0.5)
+ tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
u2f (0.2.1)
uber (0.1.0)
@@ -1546,6 +1547,13 @@ GEM
activesupport (>= 5.0.0, < 8.0)
concurrent-ruby (~> 1.0)
method_source (~> 1.0)
+ vite_rails (3.0.13)
+ railties (>= 5.1, < 8)
+ vite_ruby (~> 3.0, >= 3.2.2)
+ vite_ruby (3.2.14)
+ dry-cli (>= 0.7, < 2)
+ rack-proxy (~> 0.6, >= 0.6.1)
+ zeitwerk (~> 2.2)
vmstat (2.3.0)
warden (1.2.9)
rack (>= 2.0.9)
@@ -1888,6 +1896,7 @@ DEPENDENCIES
validates_hostname (~> 1.0.11)
version_sorter (~> 2.3)
view_component (~> 2.74.1)
+ vite_rails
vmstat (~> 2.3.0)
warning (~> 1.3.0)
webauthn (~> 2.3)
diff --git a/Procfile.dev b/Procfile.dev
new file mode 100644
index 0000000000000000000000000000000000000000..1acf605c34644863929ae170f376b38b07eee5c6
--- /dev/null
+++ b/Procfile.dev
@@ -0,0 +1,3 @@
+
+vite: bin/vite dev
+web: bin/rails s
diff --git a/app/assets/javascripts/entries/jira_connect_app.js b/app/assets/javascripts/entries/jira_connect_app.js
new file mode 100644
index 0000000000000000000000000000000000000000..90ad39ea487b3bb1233bb8827cd646ba58994183
--- /dev/null
+++ b/app/assets/javascripts/entries/jira_connect_app.js
@@ -0,0 +1 @@
+import '../jira_connect/subscriptions';
diff --git a/app/assets/javascripts/entries/main.js b/app/assets/javascripts/entries/main.js
new file mode 100644
index 0000000000000000000000000000000000000000..6d2d4f345ba50ffed8eb014ca2743433912e5ffd
--- /dev/null
+++ b/app/assets/javascripts/entries/main.js
@@ -0,0 +1,14 @@
+import '../main';
+
+const modules = import.meta.glob('../pages/**/index.js');
+
+const paths = document
+ .querySelector('meta[name="controller-path"]')
+ .content.split('/')
+ .map((part, index, arr) => {
+ return `../pages/${[...arr.slice(0, index), part].join('/')}/index.js`;
+ });
+
+paths.forEach((path) => {
+ modules[path]?.();
+});
diff --git a/app/assets/javascripts/entries/main_ee.js b/app/assets/javascripts/entries/main_ee.js
new file mode 100644
index 0000000000000000000000000000000000000000..0469659944beb69b53f088c82d28d0120bc98db9
--- /dev/null
+++ b/app/assets/javascripts/entries/main_ee.js
@@ -0,0 +1,14 @@
+const modules = import.meta.glob('../../../../ee/app/assets/javascripts/pages/**/index.js');
+
+const paths = document
+ .querySelector('meta[name="controller-path"]')
+ .content.split('/')
+ .map((part, index, arr) => {
+ return `../../../../ee/app/assets/javascripts/pages/${[...arr.slice(0, index), part].join(
+ '/',
+ )}/index.js`;
+ });
+
+paths.forEach((path) => {
+ modules[path]?.();
+});
diff --git a/app/assets/javascripts/entries/main_jh.js b/app/assets/javascripts/entries/main_jh.js
new file mode 100644
index 0000000000000000000000000000000000000000..99d7f31ef9254169bd2419ec42f210698e71c107
--- /dev/null
+++ b/app/assets/javascripts/entries/main_jh.js
@@ -0,0 +1,14 @@
+const modules = import.meta.glob('../../../../jh/app/assets/javascripts/pages/**/index.js');
+
+const paths = document
+ .querySelector('meta[name="controller-path"]')
+ .content.split('/')
+ .map((part, index, arr) => {
+ return `../../../../jh/app/assets/javascripts/pages/${[...arr.slice(0, index), part].join(
+ '/',
+ )}/index.js`;
+ });
+
+paths.forEach((path) => {
+ modules[path]?.();
+});
diff --git a/app/assets/javascripts/entries/performance_bar.js b/app/assets/javascripts/entries/performance_bar.js
new file mode 100644
index 0000000000000000000000000000000000000000..3f6fc6272d0ae78b12743099686b9935cdcd7e65
--- /dev/null
+++ b/app/assets/javascripts/entries/performance_bar.js
@@ -0,0 +1 @@
+import '../performance_bar';
diff --git a/app/assets/javascripts/entries/redirect_listbox.js b/app/assets/javascripts/entries/redirect_listbox.js
new file mode 100644
index 0000000000000000000000000000000000000000..150b818bb452f4bce71bbd5d0e1c3596fbc72e78
--- /dev/null
+++ b/app/assets/javascripts/entries/redirect_listbox.js
@@ -0,0 +1 @@
+import '../entrypoints/behaviors/redirect_listbox';
diff --git a/app/assets/javascripts/entries/sandboxed_mermaid.js b/app/assets/javascripts/entries/sandboxed_mermaid.js
new file mode 100644
index 0000000000000000000000000000000000000000..d3dd144ffba6d5a1bdbeed94b837365b0fb067b1
--- /dev/null
+++ b/app/assets/javascripts/entries/sandboxed_mermaid.js
@@ -0,0 +1 @@
+import '../lib/mermaid';
diff --git a/app/assets/javascripts/entries/sentry.js b/app/assets/javascripts/entries/sentry.js
new file mode 100644
index 0000000000000000000000000000000000000000..debafc6fab39720b856279faddaf8f5960bfe086
--- /dev/null
+++ b/app/assets/javascripts/entries/sentry.js
@@ -0,0 +1 @@
+import '../sentry/index';
diff --git a/app/assets/javascripts/lib/utils/webpack.js b/app/assets/javascripts/lib/utils/webpack.js
index 38d2f3d75512edece72019373ed98f4f146bc995..2074ceabb76490e4e323e0811a22ab3da9cb563c 100644
--- a/app/assets/javascripts/lib/utils/webpack.js
+++ b/app/assets/javascripts/lib/utils/webpack.js
@@ -10,5 +10,6 @@ export function resetServiceWorkersPublicPath() {
// see: https://webpack.js.org/guides/public-path/
const relativeRootPath = (gon && gon.relative_url_root) || '';
const webpackAssetPath = joinPaths(relativeRootPath, '/assets/webpack/');
+ if (typeof __webpack_public_path__ === 'undefined') return; // eslint-disable-line camelcase
__webpack_public_path__ = webpackAssetPath; // eslint-disable-line camelcase
}
diff --git a/app/assets/javascripts/notebook/cells/markdown.vue b/app/assets/javascripts/notebook/cells/markdown.vue
index 2caa93c3c93563eb9fdc64d7300e00db01a49493..f374df30844584469d7d0da359288c26f095496e 100644
--- a/app/assets/javascripts/notebook/cells/markdown.vue
+++ b/app/assets/javascripts/notebook/cells/markdown.vue
@@ -181,7 +181,7 @@ export default {
is that the katex stylesheet depends on many fonts that are in node_module
subfolders - moving all these fonts would make updating katex difficult.
*/
-@import '~katex/dist/katex.min.css';
+@import '../../../../../node_modules/katex/dist/katex.min.css';
.markdown .katex {
display: block;
diff --git a/app/assets/javascripts/sentry/index.js b/app/assets/javascripts/sentry/index.js
index 5539a061726b7c7e253b870aba17cbe5fbdba1dc..e8481a58a4491e93c21037406864a23d1587eb1b 100644
--- a/app/assets/javascripts/sentry/index.js
+++ b/app/assets/javascripts/sentry/index.js
@@ -9,8 +9,8 @@ const index = function index() {
dsn: gon.sentry_dsn,
environment: gon.sentry_environment,
currentUserId: gon.current_user_id,
- allowUrls:
- process.env.NODE_ENV === 'production'
+ whitelistUrls:
+ import.meta.env.NODE_ENV === 'production'
? [gon.gitlab_url]
: [gon.gitlab_url, 'webpack-internal://'],
release: gon.revision,
diff --git a/app/assets/javascripts/webpack.js b/app/assets/javascripts/webpack.js
index 1c6e632135d5f580d6ab72f42ffde1d73c0e1a6e..ef82142289d3c86ee258079c1d22901d687e21a9 100644
--- a/app/assets/javascripts/webpack.js
+++ b/app/assets/javascripts/webpack.js
@@ -7,6 +7,7 @@
* e.g. the `window` scope, because it needs to be executed in the scope of webpack.
*/
-if (gon && gon.webpack_public_path) {
+// eslint-disable-next-line camelcase
+if (gon && gon.webpack_public_path && typeof __webpack_public_path__ !== 'undefined') {
__webpack_public_path__ = gon.webpack_public_path; // eslint-disable-line camelcase
}
diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss
index 40228b93e01b5fff94cf189ac7b9c15ee290d140..93e52f1e22394613e94da537ef199997bf40d2ec 100644
--- a/app/assets/stylesheets/application.scss
+++ b/app/assets/stylesheets/application.scss
@@ -13,10 +13,10 @@
@import 'page_specific_files';
// Component specific styles, will be moved to gitlab-ui
-@import 'components/**/*';
+@import './components/index';
// Vendors specific styles
-@import 'vendors/**/*';
+@import './vendors/atwho';
// Styles for JS behaviors.
@import 'behaviors';
diff --git a/app/assets/stylesheets/components/index.sass b/app/assets/stylesheets/components/index.sass
new file mode 100644
index 0000000000000000000000000000000000000000..24b6a25b4860f3bd8c1e8b33c4393615f938ba50
--- /dev/null
+++ b/app/assets/stylesheets/components/index.sass
@@ -0,0 +1,10 @@
+@import './severity/icons'
+@import './upload_dropzone/upload_dropzone'
+@import './avatar'
+@import './collapsible_card'
+@import './content_editor'
+@import './deployment_instance'
+@import './ref_selector'
+@import './related_items_list'
+@import './shortcuts_help'
+@import './whats_new'
diff --git a/app/assets/stylesheets/emoji_sprites.scss b/app/assets/stylesheets/emoji_sprites.scss
index 5a5f39a4b77b9d7c857c5550a77d9b1d0031d704..10bf54b4ffb51b80d2b0bd5f93fab8df327bc992 100644
--- a/app/assets/stylesheets/emoji_sprites.scss
+++ b/app/assets/stylesheets/emoji_sprites.scss
@@ -7176,7 +7176,7 @@
}
.emoji-icon {
- background-image: image-url('emoji.png');
+ background-image: url('emoji.png');
background-repeat: no-repeat;
color: transparent;
text-indent: -99em;
@@ -7190,7 +7190,7 @@
only screen and (min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx) {
- background-image: image-url('emoji@2x.png');
+ background-image: url('emoji@2x.png');
background-size: 860px 840px;
}
/* stylelint-enable media-feature-name-no-vendor-prefix */
diff --git a/app/assets/stylesheets/framework/diffs.scss b/app/assets/stylesheets/framework/diffs.scss
index f7cd5d7e183792f01cb71e11ead3c88def915e8f..5f7150166bd7d256fa983cb98e8aaa3fad89483a 100644
--- a/app/assets/stylesheets/framework/diffs.scss
+++ b/app/assets/stylesheets/framework/diffs.scss
@@ -261,7 +261,7 @@
width: 15px;
position: absolute;
top: 0;
- background: image-url('swipemode_sprites.gif') 0 3px no-repeat;
+ background: url('swipemode_sprites.gif') 0 3px no-repeat;
}
.bottom-handle {
@@ -270,7 +270,7 @@
width: 15px;
position: absolute;
bottom: 0;
- background: image-url('swipemode_sprites.gif') 0 -11px no-repeat;
+ background: url('swipemode_sprites.gif') 0 -11px no-repeat;
}
}
}
@@ -308,7 +308,7 @@
left: 12px;
height: 10px;
width: 276px;
- background: image-url('onion_skin_sprites.gif') -4px -20px repeat-x;
+ background: url('onion_skin_sprites.gif') -4px -20px repeat-x;
}
.dragger {
@@ -318,7 +318,7 @@
top: 0;
height: 14px;
width: 14px;
- background: image-url('onion_skin_sprites.gif') 0 -34px repeat-x;
+ background: url('onion_skin_sprites.gif') 0 -34px repeat-x;
cursor: pointer;
}
@@ -329,7 +329,7 @@
right: 0;
height: 10px;
width: 10px;
- background: image-url('onion_skin_sprites.gif') -2px 0 no-repeat;
+ background: url('onion_skin_sprites.gif') -2px 0 no-repeat;
}
.opaque {
@@ -339,7 +339,7 @@
left: 0;
height: 10px;
width: 10px;
- background: image-url('onion_skin_sprites.gif') -2px -10px no-repeat;
+ background: url('onion_skin_sprites.gif') -2px -10px no-repeat;
}
}
}
@@ -816,12 +816,12 @@ table.code {
.frame.click-to-comment,
.btn-transparent.image-diff-overlay-add-comment {
position: relative;
- cursor: image-url('illustrations/image_comment_light_cursor.svg') $image-comment-cursor-left-offset $image-comment-cursor-top-offset,
+ cursor: url('@gitlab/svgs/dist/illustrations/image_comment_light_cursor.svg') $image-comment-cursor-left-offset $image-comment-cursor-top-offset,
auto;
// Retina cursor
- cursor: image-set(image-url('illustrations/image_comment_light_cursor.svg') 1x,
- image-url('illustrations/image_comment_light_cursor@2x.svg') 2x) $image-comment-cursor-left-offset $image-comment-cursor-top-offset,
+ cursor: image-set(url('@gitlab/svgs/dist/illustrations/image_comment_light_cursor.svg') 1x,
+ url('@gitlab/svgs/dist/illustrations/image_comment_light_cursor@2x.svg') 2x) $image-comment-cursor-left-offset $image-comment-cursor-top-offset,
auto;
.comment-indicator {
diff --git a/app/assets/stylesheets/framework/dropdowns.scss b/app/assets/stylesheets/framework/dropdowns.scss
index ebb9466eb158a57c58fa58b5d5fe490890473b0e..d41c6b82af38edf44d02d081279707ba6805ef8d 100644
--- a/app/assets/stylesheets/framework/dropdowns.scss
+++ b/app/assets/stylesheets/framework/dropdowns.scss
@@ -545,7 +545,7 @@
left: 1rem;
width: 1rem;
height: 1rem;
- mask-image: asset_url('icons-stacked.svg#check');
+ mask-image: url('@gitlab/svgs/dist/icons-stacked.svg#check');
mask-repeat: no-repeat;
mask-size: cover;
mask-position: center center;
diff --git a/app/assets/stylesheets/framework/files.scss b/app/assets/stylesheets/framework/files.scss
index 06c5b26f39b76ca09add83ebda86fe76f355c360..705f1c8afdbb14ddf9a749dbeac3f18f1eb61451 100644
--- a/app/assets/stylesheets/framework/files.scss
+++ b/app/assets/stylesheets/framework/files.scss
@@ -537,7 +537,7 @@ span.idiff {
@include gl-h-5;
@include gl-float-left;
background-color: $gray-400;
- mask-image: asset_url('icons-stacked.svg#doc-versions');
+ mask-image: url('@gitlab/svgs/dist/icons-stacked.svg#doc-versions');
mask-repeat: no-repeat;
mask-size: cover;
mask-position: center;
diff --git a/app/assets/stylesheets/framework/source_editor.scss b/app/assets/stylesheets/framework/source_editor.scss
index 046b8636f65b6a22eda433ba29661d7be30b9a99..24b2e2e85e10908bfb2ae3bf5b8b9fa5faf48eab 100644
--- a/app/assets/stylesheets/framework/source_editor.scss
+++ b/app/assets/stylesheets/framework/source_editor.scss
@@ -54,7 +54,7 @@
@include gl-mr-2;
@include gl-w-4;
@include gl-h-4;
- mask-image: asset_url('icons-stacked.svg#link');
+ mask-image: url('@gitlab/svgs/dist/icons-stacked.svg#link');
mask-repeat: no-repeat;
mask-size: cover;
mask-position: center;
diff --git a/app/assets/stylesheets/framework/typography.scss b/app/assets/stylesheets/framework/typography.scss
index 9b5897b7df917b99294a64651aeda22554458244..50ffa7c87510d029fd2f01915eb338ecb0c39e58 100644
--- a/app/assets/stylesheets/framework/typography.scss
+++ b/app/assets/stylesheets/framework/typography.scss
@@ -494,7 +494,7 @@
outline: none;
&::after {
- content: image-url('icon_anchor.svg');
+ content: url('icon_anchor.svg');
visibility: hidden;
}
}
diff --git a/app/assets/stylesheets/highlight/common.scss b/app/assets/stylesheets/highlight/common.scss
index 96df8487c0efd417555251d4560abfb9ac66b825..106be43e15dd62ac1afb5edb344c7fd35e570128 100644
--- a/app/assets/stylesheets/highlight/common.scss
+++ b/app/assets/stylesheets/highlight/common.scss
@@ -107,7 +107,7 @@
@include gl-w-5;
@include gl-h-5;
background-color: rgba($color, 0.3);
- mask-image: asset_url('icons-stacked.svg##{$icon}');
+ mask-image: url('@gitlab/svgs/dist/icons-stacked.svg##{$icon}');
mask-repeat: no-repeat;
mask-size: cover;
mask-position: center;
diff --git a/app/assets/stylesheets/lazy_bundles/select2_overrides.scss b/app/assets/stylesheets/lazy_bundles/select2_overrides.scss
index e3cec187fabb8b40b27def5c45f427804fbe8142..c2de6e52ac9be46cd23a9c6c8344e770c33f5776 100644
--- a/app/assets/stylesheets/lazy_bundles/select2_overrides.scss
+++ b/app/assets/stylesheets/lazy_bundles/select2_overrides.scss
@@ -191,7 +191,7 @@
input {
padding: $grid-size;
- background: transparent image-url('select2.png');
+ background: transparent url('select2.png');
color: var(--gl-text-color, $gl-text-color);
background-clip: content-box;
background-origin: content-box;
@@ -208,7 +208,7 @@
&.select2-active {
background-color: var(--white, $white);
- background-image: image-url('select2-spinner.gif') !important;
+ background-image: url('select2-spinner.gif') !important;
background-origin: content-box;
background-repeat: no-repeat;
background-position: right 6px center !important;
diff --git a/app/assets/stylesheets/pages/issues.scss b/app/assets/stylesheets/pages/issues.scss
index c2ac4f3248037a7fa66a219336bc31e9a6bcd4ad..1b729f85cd55b24f49b8d02f220c7910ab660e6a 100644
--- a/app/assets/stylesheets/pages/issues.scss
+++ b/app/assets/stylesheets/pages/issues.scss
@@ -242,7 +242,7 @@ ul.related-merge-requests > li gl-emoji {
outline: none;
&::after {
- content: image-url('icon_anchor.svg');
+ content: url('icon_anchor.svg');
visibility: hidden;
}
}
diff --git a/app/assets/stylesheets/pages/notes.scss b/app/assets/stylesheets/pages/notes.scss
index 567f24be3361d7a3fe8f9e230bb860d8ed60aca7..1b9f738c84d0452d62d200b3240db236298a893c 100644
--- a/app/assets/stylesheets/pages/notes.scss
+++ b/app/assets/stylesheets/pages/notes.scss
@@ -984,7 +984,7 @@ $system-note-svg-size: 1rem;
.unified-diff-components-diff-note-button {
&::before {
background-color: $blue-500;
- mask-image: asset_url('icons-stacked.svg#comment');
+ mask-image: url('@gitlab/svgs/dist/icons-stacked.svg#comment');
mask-repeat: no-repeat;
mask-size: cover;
mask-position: center;
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 865cde1b6411ec05ea823d17433db49cda5c7e66..c597e1656159c82b1e3f611dbd05866acfa4318b 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -114,6 +114,24 @@ def self.endpoint_id_for_action(action_name)
content_security_policy do |p|
next if p.directives.blank?
+
+ if Rails.env.development? && Feature.enabled?(:vite)
+ vite_host = ViteRuby.instance.config.host
+ vite_port = ViteRuby.instance.config.port
+ vite_origin = "#{vite_host}:#{vite_port}"
+ http_origin = "http://#{vite_origin}"
+ ws_origin = "ws://#{vite_origin}"
+ wss_origin = "wss://#{vite_origin}"
+ gitlab_ws_origin = Gitlab::Utils.append_path(Gitlab.config.gitlab.url, 'vite-dev/')
+ http_path = Gitlab::Utils.append_path(http_origin, 'vite-dev/')
+
+ connect_sources = p.directives['connect-src']
+ p.connect_src(*(Array.wrap(connect_sources) | [ws_origin, wss_origin, http_path]))
+
+ worker_sources = p.directives['worker-src']
+ p.worker_src(*(Array.wrap(worker_sources) | [gitlab_ws_origin, http_path]))
+ end
+
next unless Gitlab::CurrentSettings.snowplow_enabled? && !Gitlab::CurrentSettings.snowplow_collector_hostname.blank?
default_connect_src = p.directives['connect-src'] || p.directives['default-src']
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 93b7c8c0b94649f53652941b9054be6f543518cf..3f153c75a935ab6153ec21ea6bb8cca13c4d5bf8 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -274,9 +274,9 @@ def page_filter_path(options = {})
def stylesheet_link_tag_defer(path)
if startup_css_enabled?
- stylesheet_link_tag(path, media: "print", crossorigin: ActionController::Base.asset_host ? 'anonymous' : nil)
+ universal_stylesheet_link_tag(path, media: "print", crossorigin: ActionController::Base.asset_host ? 'anonymous' : nil)
else
- stylesheet_link_tag(path, crossorigin: ActionController::Base.asset_host ? 'anonymous' : nil)
+ universal_stylesheet_link_tag(path, crossorigin: ActionController::Base.asset_host ? 'anonymous' : nil)
end
end
@@ -401,7 +401,7 @@ def add_page_specific_style(path, defer: true)
if defer
stylesheet_link_tag_defer path
else
- stylesheet_link_tag path
+ universal_stylesheet_link_tag path
end
end
end
@@ -460,6 +460,15 @@ def gitlab_ui_form_with(**args, &block)
form_with(**args.merge({ builder: ::Gitlab::FormBuilders::GitlabUiFormBuilder }), &block)
end
+ def controller_full_path
+ action = case controller.action_name
+ when 'create' then 'new'
+ when 'update' then 'edit'
+ else controller.action_name
+ end
+ controller.controller_path + "/" + action
+ end
+
private
def browser_id
diff --git a/app/helpers/vite_helper.rb b/app/helpers/vite_helper.rb
new file mode 100644
index 0000000000000000000000000000000000000000..d599462c97d011e6c08432f5c59e7ec726647110
--- /dev/null
+++ b/app/helpers/vite_helper.rb
@@ -0,0 +1,49 @@
+# frozen_string_literal: true
+
+module ViteHelper
+ def universal_javascript_include_tag(*args)
+ if vite_enabled
+ vite_javascript_tag(*args)
+ else
+ javascript_include_tag(*args)
+ end
+ end
+
+ def universal_asset_path(*args)
+ if vite_enabled
+ vite_asset_path(*args)
+ else
+ asset_path(*args)
+ end
+ end
+
+ def universal_stylesheet_link_tag(path, *args)
+ if vite_stylesheets_enabled
+ vite_stylesheet_tag("stylesheets/#{path}.scss", *args)
+ else
+ stylesheet_link_tag(path, *args)
+ end
+ end
+
+ def universal_path_to_stylesheet(path, *args)
+ if vite_stylesheets_enabled
+ vite_asset_url("stylesheets/#{path}.scss", *args)
+ else
+ path_to_stylesheet(path, *args)
+ end
+ end
+
+ private
+
+ def vite_enabled
+ Feature.enabled?(:vite) && !Rails.env.test? && vite_running
+ end
+
+ def vite_stylesheets_enabled
+ Feature.enabled?(:vite_stylesheets) && vite_enabled
+ end
+
+ def vite_running
+ ViteRuby.instance.dev_server_running?
+ end
+end
diff --git a/app/helpers/webpack_helper.rb b/app/helpers/webpack_helper.rb
index ba3c232bec418ff3fd1ea748e63771c3730fecbc..928741687980a216287940fdddd3f2f960f40bc8 100644
--- a/app/helpers/webpack_helper.rb
+++ b/app/helpers/webpack_helper.rb
@@ -1,6 +1,8 @@
# frozen_string_literal: true
module WebpackHelper
+ include ViteHelper
+
def prefetch_link_tag(source)
href = asset_path(source)
@@ -14,7 +16,11 @@ def prefetch_link_tag(source)
end
def webpack_bundle_tag(bundle)
- javascript_include_tag(*webpack_entrypoint_paths(bundle))
+ if vite_running
+ vite_javascript_tag bundle
+ else
+ javascript_include_tag(*webpack_entrypoint_paths(bundle))
+ end
end
def webpack_preload_asset_tag(asset, options = {})
@@ -32,6 +38,8 @@ def webpack_preload_asset_tag(asset, options = {})
end
def webpack_controller_bundle_tags
+ return if Feature.enabled?(:vite) && !Rails.env.test?
+
chunks = []
action = case controller.action_name
diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb
index bb8d20b8301ad40686801dd64ab94b2b749c5485..d43eb4d4e3a2fe2133a4b8078108edc0c5db51c1 100644
--- a/app/mailers/application_mailer.rb
+++ b/app/mailers/application_mailer.rb
@@ -5,6 +5,7 @@ class ApplicationMailer < ActionMailer::Base
helper ApplicationHelper
helper MarkupHelper
+ helper ViteHelper
attr_accessor :current_user
diff --git a/app/mailers/devise_mailer.rb b/app/mailers/devise_mailer.rb
index 7129e577cb808987a1d2f146b6b795f6a6cdd0fa..4d01549347efb2fa30fb77b7bac9d9b23147a0bc 100644
--- a/app/mailers/devise_mailer.rb
+++ b/app/mailers/devise_mailer.rb
@@ -8,6 +8,7 @@ class DeviseMailer < Devise::Mailer
helper EmailsHelper
helper ApplicationHelper
+ helper ViteHelper
def password_change_by_admin(record, opts = {})
devise_mail(record, :password_change_by_admin, opts)
diff --git a/app/views/layouts/_head.html.haml b/app/views/layouts/_head.html.haml
index dd441d0d1556b74d8640a06bbb03490479058402..7e80be598f1d1f86e2bf2e3706ab7e89df9b9ee0 100644
--- a/app/views/layouts/_head.html.haml
+++ b/app/views/layouts/_head.html.haml
@@ -1,5 +1,6 @@
- page_description brand_title unless page_description
- site_name = _('GitLab')
+- vite_enabled = Feature.enabled?(:vite) && !Rails.env.test? && ViteRuby.instance.dev_server_running?
%head{ prefix: "og: http://ogp.me/ns#" }
%meta{ charset: "utf-8" }
@@ -9,6 +10,9 @@
%meta{ 'http-equiv' => 'X-UA-Compatible', content: 'IE=edge' }
+ - if vite_enabled && Rails.env.development?
+ = javascript_include_tag(vite_manifest.vite_client_src, type: "module", extname: false)
+
= render 'layouts/startup_js'
- if page_canonical_link
@@ -34,8 +38,8 @@
= stylesheet_link_tag_defer "application"
= yield :page_specific_styles
= stylesheet_link_tag_defer 'application_utilities'
- = stylesheet_link_tag "disable_animations", media: "all" if Rails.env.test? || Gitlab.config.gitlab['disable_animations']
- = stylesheet_link_tag "test_environment", media: "all" if Rails.env.test?
+ = universal_stylesheet_link_tag "disable_animations", media: "all" if Rails.env.test? || Gitlab.config.gitlab['disable_animations']
+ = universal_stylesheet_link_tag "test_environment", media: "all" if Rails.env.test?
= stylesheet_link_tag_defer "fonts"
@@ -44,7 +48,7 @@
- if startup_css_enabled?
= render 'layouts/startup_css_activation'
- = stylesheet_link_tag 'performance_bar' if performance_bar_enabled?
+ = universal_stylesheet_link_tag 'performance_bar' if performance_bar_enabled?
= Gon::Base.render_data(nonce: content_security_policy_nonce)
@@ -55,6 +59,14 @@
= webpack_bundle_tag 'legacy_sentry'
= webpack_bundle_tag 'performance_bar' if performance_bar_enabled?
+ - if vite_enabled
+ %meta{ name: 'controller-path', content: controller_full_path }
+ = vite_javascript_tag "main"
+ - if Gitlab.ee?
+ = vite_javascript_tag "main_ee"
+ - if Gitlab.jh?
+ = vite_javascript_tag "main_jh"
+
= yield :page_specific_javascripts
= webpack_controller_bundle_tags
diff --git a/app/views/layouts/_loading_hints.html.haml b/app/views/layouts/_loading_hints.html.haml
index 9026bec84c3ec94250f3e99093165d9ecee3b8c6..428f872dc0100b435d3033c0f2e15124c7311c5b 100644
--- a/app/views/layouts/_loading_hints.html.haml
+++ b/app/views/layouts/_loading_hints.html.haml
@@ -5,12 +5,12 @@
%link{ rel: 'dns-prefetch', href: ActionController::Base.asset_host }
%link{ rel: 'preconnect', href: ActionController::Base.asset_host, crossorigin: '' }
- if user_application_theme == 'gl-dark'
- = preload_link_tag(path_to_stylesheet('application_utilities_dark'), crossorigin: css_crossorigin)
- = preload_link_tag(path_to_stylesheet('application_dark'), crossorigin: css_crossorigin)
+ = preload_link_tag(universal_path_to_stylesheet('application_utilities_dark'), crossorigin: css_crossorigin, as: "style")
+ = preload_link_tag(universal_path_to_stylesheet('application_dark'), crossorigin: css_crossorigin, as: "style")
- else
- = preload_link_tag(path_to_stylesheet('application_utilities'), crossorigin: css_crossorigin)
- = preload_link_tag(path_to_stylesheet('application'), crossorigin: css_crossorigin)
- = preload_link_tag(path_to_stylesheet("highlight/themes/#{user_color_scheme}"), crossorigin: css_crossorigin)
+ = preload_link_tag(universal_path_to_stylesheet('application_utilities'), crossorigin: css_crossorigin, as: "style")
+ = preload_link_tag(universal_path_to_stylesheet('application'), crossorigin: css_crossorigin, as: "style")
+ = preload_link_tag(universal_path_to_stylesheet("highlight/themes/#{user_color_scheme}"), crossorigin: css_crossorigin, as: "style")
- if Gitlab::Tracking.enabled? && Gitlab::Tracking.collector_hostname
%link{ rel: 'preconnect', href: "https://#{Gitlab::Tracking.collector_hostname}", crossorigin: '' }
-# Do not use preload_link_tag for fonts, to work around Firefox double-fetch bug.
diff --git a/app/views/layouts/_mailer.html.haml b/app/views/layouts/_mailer.html.haml
index 95ebe09a2e62a183cd0422857ea93afde61fde03..258034046eb040288e00c55295b7b8a65ab98bb6 100644
--- a/app/views/layouts/_mailer.html.haml
+++ b/app/views/layouts/_mailer.html.haml
@@ -12,7 +12,7 @@
%style{ type: 'text/css', 'data-premailer': 'ignore' }
= asset_to_string('mailer_client_specific.css').html_safe
- = stylesheet_link_tag 'mailer.css'
+ = universal_stylesheet_link_tag 'mailer'
%body
= yield :preview_text
%table#body{ border: "0", cellpadding: "0", cellspacing: "0" }
diff --git a/app/views/layouts/component_preview.html.haml b/app/views/layouts/component_preview.html.haml
index a1b1304f9940294755de826736d58db986b0a2d2..bb157a2624476c3aacb8ecb50ee9670f8cfe6335 100644
--- a/app/views/layouts/component_preview.html.haml
+++ b/app/views/layouts/component_preview.html.haml
@@ -1,10 +1,10 @@
%head
- if params[:lookbook][:display][:theme] == 'light'
- = stylesheet_link_tag "application"
- = stylesheet_link_tag "application_utilities"
+ = universal_stylesheet_link_tag "application"
+ = universal_stylesheet_link_tag "application_utilities"
- else
- = stylesheet_link_tag "application_dark"
- = stylesheet_link_tag "application_utilities_dark"
+ = universal_stylesheet_link_tag "application_dark"
+ = universal_stylesheet_link_tag "application_utilities_dark"
%body
.container.gl-mt-6
- if params[:lookbook][:display][:bg_dark]
diff --git a/app/views/layouts/notify.html.haml b/app/views/layouts/notify.html.haml
index c557dc365341df3050c377271cae2e189f13cd4c..11068482472734bb39f4978948a35869fa9c6bcd 100644
--- a/app/views/layouts/notify.html.haml
+++ b/app/views/layouts/notify.html.haml
@@ -4,13 +4,13 @@
%title
GitLab
- if Feature.enabled?(:enhanced_notify_css)
- = stylesheet_link_tag 'notify_enhanced'
+ = universal_stylesheet_link_tag 'notify_enhanced'
%style{ type: 'text/css', 'data-premailer': 'ignore' }
-# The MUA automatically turns some text into links.
-# Match the color of explicit links ($blue-600 from typography.scss).
a { color: #1068bf; }
- else
- = stylesheet_link_tag 'notify'
+ = universal_stylesheet_link_tag 'notify'
= yield :head
%body
.content
diff --git a/app/views/layouts/service_desk.html.haml b/app/views/layouts/service_desk.html.haml
index 7ac108e7f31e81fbef11e3a795fca4dc709cdf20..e09a03ad6a0ba1bd14fc69bfb56319497e31a2b5 100644
--- a/app/views/layouts/service_desk.html.haml
+++ b/app/views/layouts/service_desk.html.haml
@@ -6,13 +6,13 @@
GitLab
-# haml-lint:enable NoPlainNodes
- if Feature.enabled?(:enhanced_notify_css)
- = stylesheet_link_tag 'notify_enhanced'
+ = universal_stylesheet_link_tag 'notify_enhanced'
%style{ type: 'text/css', 'data-premailer': 'ignore' }
-# The MUA automatically turns some text into links.
-# Match the color of explicit links ($blue-600 from typography.scss).
a { color: #1068bf; }
- else
- = stylesheet_link_tag 'notify'
+ = universal_stylesheet_link_tag 'notify'
= yield :head
%body
= html_header_message
diff --git a/app/views/notify/_note_email.html.haml b/app/views/notify/_note_email.html.haml
index 2f0e62981eced4ad39b4b3110d6df65c019ca58a..54d04908e0805cfebaea9db72e5f731a23508c67 100644
--- a/app/views/notify/_note_email.html.haml
+++ b/app/views/notify/_note_email.html.haml
@@ -26,7 +26,7 @@
- if discussion&.diff_discussion? && discussion.on_text?
- if include_stylesheet_link
= content_for :head do
- = stylesheet_link_tag 'mailers/highlighted_diff_email'
+ = universal_stylesheet_link_tag 'mailers/highlighted_diff_email'
%table.code.gl-mb-5
= render partial: "projects/diffs/email_line",
diff --git a/app/views/notify/new_review_email.html.haml b/app/views/notify/new_review_email.html.haml
index afc1bd682156baec211696b2dab4eeec6cf2fb0e..09ed1633b0ed648c04366cb83087db00ad273e5b 100644
--- a/app/views/notify/new_review_email.html.haml
+++ b/app/views/notify/new_review_email.html.haml
@@ -1,6 +1,6 @@
- if @include_diff_discussion_stylesheet
= content_for :head do
- = stylesheet_link_tag 'mailers/highlighted_diff_email'
+ = universal_stylesheet_link_tag 'mailers/highlighted_diff_email'
%table{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;margin:0 auto;border-collapse:separate;border-spacing:0;" }
%tbody
diff --git a/app/views/notify/repository_push_email.html.haml b/app/views/notify/repository_push_email.html.haml
index d493f9d5d9839aeaecac8e76f4d4185985fab65e..8901af3de3c59cff0f5dd2e9da96f065aaf39186 100644
--- a/app/views/notify/repository_push_email.html.haml
+++ b/app/views/notify/repository_push_email.html.haml
@@ -1,5 +1,5 @@
= content_for :head do
- = stylesheet_link_tag 'mailers/highlighted_diff_email'
+ = universal_stylesheet_link_tag 'mailers/highlighted_diff_email'
%h3
= s_('Notify|%{author_name} %{action_name} %{ref_type} %{ref_name} at %{project_link}').html_safe % {author_name: @message.author_name, action_name: @message.action_name, ref_type: @message.ref_type, ref_name: @message.ref_name, project_link: link_to(@message.project_name_with_namespace, strip_tags(project_url(@message.project)))}
diff --git a/app/views/profiles/preferences/show.html.haml b/app/views/profiles/preferences/show.html.haml
index b10d05efc4f09e8c6437ebe876fb104b934ac9ee..3c567d25bd121e7836edc773ba2057e35df4b480 100644
--- a/app/views/profiles/preferences/show.html.haml
+++ b/app/views/profiles/preferences/show.html.haml
@@ -8,7 +8,7 @@
- data_attributes = { themes: @themes, integration_views: integration_views.to_json, user_fields: user_fields, body_classes: Gitlab::Themes.body_classes, profile_preferences_path: profile_preferences_path }
- Gitlab::Themes.each do |theme|
- = stylesheet_link_tag "themes/#{theme.css_filename}" if theme.css_filename
+ = universal_stylesheet_link_tag "themes/#{theme.css_filename}" if theme.css_filename
= gitlab_ui_form_for @user, url: profile_preferences_path, remote: true, method: :put, html: { id: "profile-preferences-form" } do |f|
.row.gl-mt-3.js-preferences-form.js-search-settings-section
diff --git a/app/views/projects/environments/terminal.html.haml b/app/views/projects/environments/terminal.html.haml
index 7c837d4ded0685527063d00b7cae9a87df0a5078..7f576ed669abf3e88d99db5bfb2a8f6852b29218 100644
--- a/app/views/projects/environments/terminal.html.haml
+++ b/app/views/projects/environments/terminal.html.haml
@@ -1,7 +1,7 @@
- page_title _("Terminal for environment"), @environment.name
- add_page_specific_style 'page_bundles/terminal'
- content_for :page_specific_javascripts do
- = stylesheet_link_tag "xterm.css"
+ = universal_stylesheet_link_tag "xterm.css"
.top-area
.row
diff --git a/app/views/projects/jobs/terminal.html.haml b/app/views/projects/jobs/terminal.html.haml
index 95acbcae6d91037ba31506ce8c2232a3f8f33a9d..3ec43598b254767eeb4f97c40b21bd3b253e452e 100644
--- a/app/views/projects/jobs/terminal.html.haml
+++ b/app/views/projects/jobs/terminal.html.haml
@@ -4,7 +4,7 @@
- page_title _('Terminal'), "#{@build.name} (##{@build.id})", _('Jobs')
- add_page_specific_style 'page_bundles/terminal'
- content_for :page_specific_javascripts do
- = stylesheet_link_tag "xterm.css"
+ = universal_stylesheet_link_tag "xterm.css"
.terminal-container
diff --git a/bin/vite b/bin/vite
new file mode 100755
index 0000000000000000000000000000000000000000..7527d097eb6e5273c7f81cf13b64017f0ae06067
--- /dev/null
+++ b/bin/vite
@@ -0,0 +1,27 @@
+#!/usr/bin/env ruby
+# frozen_string_literal: true
+
+#
+# This file was generated by Bundler.
+#
+# The application 'vite' is installed as part of a gem, and
+# this file is here to facilitate running it.
+#
+
+ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
+
+bundle_binstub = File.expand_path("bundle", __dir__)
+
+if File.file?(bundle_binstub)
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
+ load(bundle_binstub)
+ else
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
+Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
+ end
+end
+
+require "rubygems"
+require "bundler/setup"
+
+load Gem.bin_path("vite_ruby", "vite")
diff --git a/config/feature_flags/development/vite.yml b/config/feature_flags/development/vite.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ab0a20e7509bc42e7bb1ad5aa87de96c302b0137
--- /dev/null
+++ b/config/feature_flags/development/vite.yml
@@ -0,0 +1,8 @@
+---
+name: vite
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/94685
+rollout_issue_url:
+milestone: '15.4'
+type: development
+group: group::foundations
+default_enabled: false
diff --git a/config/feature_flags/development/vite_stylesheets.yml b/config/feature_flags/development/vite_stylesheets.yml
new file mode 100644
index 0000000000000000000000000000000000000000..bef15ed00c4f795b3ad850a27eb3b6d384ea0ef3
--- /dev/null
+++ b/config/feature_flags/development/vite_stylesheets.yml
@@ -0,0 +1,8 @@
+---
+name: vite_stylesheets
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/94685
+rollout_issue_url:
+milestone: '15.4'
+type: development
+group: group::foundations
+default_enabled: false
diff --git a/config/vite.json b/config/vite.json
new file mode 100644
index 0000000000000000000000000000000000000000..2bcab051e874a1301daf984fb6ba9b7d68b45f6e
--- /dev/null
+++ b/config/vite.json
@@ -0,0 +1,35 @@
+{
+ "all": {
+ "sourceCodeDir": "app/assets",
+ "entrypointsDir": "javascripts/entries",
+ "additionalEntrypoints": [
+ "~/images/**/*",
+ "~/stylesheets/application.scss",
+ "~/stylesheets/application_dark.scss",
+ "~/stylesheets/application_utilities.scss",
+ "~/stylesheets/application_utilities_dark.scss",
+ "~/stylesheets/mailer.scss",
+ "~/stylesheets/mailers/highlighted_diff_email.scss",
+ "~/stylesheets/notify.scss",
+ "~/stylesheets/notify_enhanced.scss",
+ "~/stylesheets/performance_bar.scss",
+ "~/stylesheets/print.scss",
+ "~/stylesheets/disable_animations.scss",
+ "~/stylesheets/test_environment.scss",
+ "~/stylesheets/page_bundles/**/*.scss"
+ ],
+ "watchAdditionalPaths": [],
+ "devServerConnectTimeout": 3
+ },
+ "development": {
+ "autoBuild": true,
+ "publicOutputDir": "vite-dev",
+ "host": "localhost",
+ "port": 3038
+ },
+ "test": {
+ "autoBuild": true,
+ "publicOutputDir": "vite-test",
+ "port": 3037
+ }
+}
diff --git a/config/webpack.config.js b/config/webpack.config.js
index fd58e22bb996c535eeda7363ca6ca651c5eeb7d6..e01f34db17ac2fe4ab255559137b777707bfc0d4 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -5,8 +5,6 @@ const fs = require('fs');
const path = require('path');
const BABEL_VERSION = require('@babel/core/package.json').version;
-const SOURCEGRAPH_VERSION = require('@sourcegraph/code-host-integration/package.json').version;
-const GITLAB_WEB_IDE_VERSION = require('@gitlab/web-ide/package.json').version;
const BABEL_LOADER_VERSION = require('babel-loader/package.json').version;
const CompressionPlugin = require('compression-webpack-plugin');
@@ -25,14 +23,23 @@ const WEBPACK_VERSION = require('webpack/package.json').version;
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
const esbuildConfiguration = require('./esbuild.config');
+const {
+ IS_EE,
+ IS_JH,
+ ROOT_PATH,
+ WEBPACK_OUTPUT_PATH,
+ WEBPACK_PUBLIC_PATH,
+ SOURCEGRAPH_PUBLIC_PATH,
+ SOURCEGRAPH_OUTPUT_PATH,
+ GITLAB_WEB_IDE_OUTPUT_PATH,
+ GITLAB_WEB_IDE_PUBLIC_PATH,
+} = require('./webpack.constants');
+
const createIncrementalWebpackCompiler = require('./helpers/incremental_webpack_compiler');
-const IS_EE = require('./helpers/is_ee_env');
-const IS_JH = require('./helpers/is_jh_env');
const vendorDllHash = require('./helpers/vendor_dll_hash');
const GraphqlKnownOperationsPlugin = require('./plugins/graphql_known_operations_plugin');
-const ROOT_PATH = path.resolve(__dirname, '..');
const SUPPORTED_BROWSERS = fs.readFileSync(path.join(ROOT_PATH, '.browserslistrc'), 'utf-8');
const SUPPORTED_BROWSERS_HASH = crypto
.createHash('sha256')
@@ -74,19 +81,9 @@ if (WEBPACK_REPORT) {
NO_HASHED_CHUNKS = true;
}
-const WEBPACK_OUTPUT_PATH = path.join(ROOT_PATH, 'public/assets/webpack');
-const WEBPACK_PUBLIC_PATH = '/assets/webpack/';
const SOURCEGRAPH_PACKAGE = '@sourcegraph/code-host-integration';
const GITLAB_WEB_IDE_PACKAGE = '@gitlab/web-ide';
-const SOURCEGRAPH_PATH = path.join('sourcegraph', SOURCEGRAPH_VERSION, '/');
-const SOURCEGRAPH_OUTPUT_PATH = path.join(WEBPACK_OUTPUT_PATH, SOURCEGRAPH_PATH);
-const SOURCEGRAPH_PUBLIC_PATH = path.join(WEBPACK_PUBLIC_PATH, SOURCEGRAPH_PATH);
-
-const GITLAB_WEB_IDE_PATH = path.join('gitlab-vscode', GITLAB_WEB_IDE_VERSION, '/');
-const GITLAB_WEB_IDE_OUTPUT_PATH = path.join(WEBPACK_OUTPUT_PATH, GITLAB_WEB_IDE_PATH);
-const GITLAB_WEB_IDE_PUBLIC_PATH = path.join(WEBPACK_PUBLIC_PATH, GITLAB_WEB_IDE_PATH);
-
const devtool = IS_PRODUCTION ? 'source-map' : 'cheap-module-eval-source-map';
let autoEntriesCount = 0;
diff --git a/config/webpack.constants.js b/config/webpack.constants.js
new file mode 100644
index 0000000000000000000000000000000000000000..17816b66db90239c9557dcb35b52364632a1667e
--- /dev/null
+++ b/config/webpack.constants.js
@@ -0,0 +1,29 @@
+const path = require('path');
+
+const ROOT_PATH = path.resolve(__dirname, '..');
+const WEBPACK_OUTPUT_PATH = path.join(ROOT_PATH, 'public/assets/webpack');
+const WEBPACK_PUBLIC_PATH = '/assets/webpack/';
+const SOURCEGRAPH_VERSION = require('@sourcegraph/code-host-integration/package.json').version;
+
+const SOURCEGRAPH_PATH = path.join('sourcegraph', SOURCEGRAPH_VERSION, '/');
+const SOURCEGRAPH_OUTPUT_PATH = path.join(WEBPACK_OUTPUT_PATH, SOURCEGRAPH_PATH);
+const SOURCEGRAPH_PUBLIC_PATH = path.join(WEBPACK_PUBLIC_PATH, SOURCEGRAPH_PATH);
+
+const GITLAB_WEB_IDE_VERSION = require('@gitlab/web-ide/package.json').version;
+
+const GITLAB_WEB_IDE_PATH = path.join('gitlab-vscode', GITLAB_WEB_IDE_VERSION, '/');
+const GITLAB_WEB_IDE_OUTPUT_PATH = path.join(WEBPACK_OUTPUT_PATH, GITLAB_WEB_IDE_PATH);
+const GITLAB_WEB_IDE_PUBLIC_PATH = path.join(WEBPACK_PUBLIC_PATH, GITLAB_WEB_IDE_PATH);
+
+const IS_EE = require('./helpers/is_ee_env');
+const IS_JH = require('./helpers/is_jh_env');
+
+module.exports.IS_EE = IS_EE;
+module.exports.IS_JH = IS_JH;
+module.exports.ROOT_PATH = ROOT_PATH;
+module.exports.WEBPACK_OUTPUT_PATH = WEBPACK_OUTPUT_PATH;
+module.exports.WEBPACK_PUBLIC_PATH = WEBPACK_PUBLIC_PATH;
+module.exports.SOURCEGRAPH_OUTPUT_PATH = SOURCEGRAPH_OUTPUT_PATH;
+module.exports.SOURCEGRAPH_PUBLIC_PATH = SOURCEGRAPH_PUBLIC_PATH;
+module.exports.GITLAB_WEB_IDE_OUTPUT_PATH = GITLAB_WEB_IDE_OUTPUT_PATH;
+module.exports.GITLAB_WEB_IDE_PUBLIC_PATH = GITLAB_WEB_IDE_PUBLIC_PATH;
diff --git a/ee/app/assets/stylesheets/_ee/application_ee.scss b/ee/app/assets/stylesheets/_ee/application_ee.scss
index 13b42167d122b136725d37697ab4e87233000f9d..41220784e796158486f24868cd0897a43ff03d08 100644
--- a/ee/app/assets/stylesheets/_ee/application_ee.scss
+++ b/ee/app/assets/stylesheets/_ee/application_ee.scss
@@ -1,6 +1,6 @@
/*
Entry point for EE specific CSS
*/
-@import '../components/**/*';
-@import '../framework/**/*';
-@import '../pages/**/*';
+@import '../components/index';
+@import '../framework/index';
+@import '../pages/index';
diff --git a/ee/app/assets/stylesheets/components/index.scss b/ee/app/assets/stylesheets/components/index.scss
new file mode 100644
index 0000000000000000000000000000000000000000..f6afc55eb0b0a4d16ac337ecbd5cd289a219a6a3
--- /dev/null
+++ b/ee/app/assets/stylesheets/components/index.scss
@@ -0,0 +1,6 @@
+@import 'audit_logs/logs_table';
+@import 'batch_comments/draft_note';
+@import 'compliance_dashboard/dashboard';
+@import 'generic_vulnerability_report';
+@import 'vulnerability_list';
+@import 'related_items_tree';
diff --git a/ee/app/assets/stylesheets/framework/index.scss b/ee/app/assets/stylesheets/framework/index.scss
new file mode 100644
index 0000000000000000000000000000000000000000..3449a658d8c8f395ea2cf0e51e6813517260bb9f
--- /dev/null
+++ b/ee/app/assets/stylesheets/framework/index.scss
@@ -0,0 +1,2 @@
+@import 'badges';
+@import 'diffs';
diff --git a/ee/app/assets/stylesheets/pages/index.scss b/ee/app/assets/stylesheets/pages/index.scss
new file mode 100644
index 0000000000000000000000000000000000000000..643da47590721500f52a4732556833f26c910155
--- /dev/null
+++ b/ee/app/assets/stylesheets/pages/index.scss
@@ -0,0 +1,9 @@
+@import 'security/vulnerability_report';
+@import 'security/compliance_dashboard';
+@import 'ee_start_trial';
+@import 'groups';
+@import 'issuable';
+@import 'issuable_form';
+@import 'issues';
+@import 'projects';
+@import 'subscriptions';
diff --git a/package.json b/package.json
index bb57680aa233fbdbf8fb5c41fbe66e8eae64bd2d..369085ff2dafbb7f4352c80819224e17e3e9bc9b 100644
--- a/package.json
+++ b/package.json
@@ -44,7 +44,8 @@
"swagger:validate": "swagger-cli validate",
"webpack": "NODE_OPTIONS=\"--max-old-space-size=3584\" webpack --config config/webpack.config.js",
"webpack-vendor": "NODE_OPTIONS=\"--max-old-space-size=3584\" webpack --config config/webpack.vendor.config.js",
- "webpack-prod": "NODE_OPTIONS=\"--max-old-space-size=3584\" NODE_ENV=production webpack --config config/webpack.config.js"
+ "webpack-prod": "NODE_OPTIONS=\"--max-old-space-size=3584\" NODE_ENV=production webpack --config config/webpack.config.js",
+ "vite-prod": "NODE_OPTIONS=\"--max-old-space-size=8192\" NODE_ENV=production node_modules/.bin/vite build"
},
"dependencies": {
"@_ueberdosis/prosemirror-tables": "^1.1.3",
@@ -62,43 +63,48 @@
"@gitlab/web-ide": "0.0.1-dev-20230120231236",
"@rails/actioncable": "6.1.4-7",
"@rails/ujs": "6.1.4-7",
+ "@rollup/plugin-graphql": "^1.1.0",
+ "@sentry/browser": "5.30.0",
"@sourcegraph/code-host-integration": "0.0.84",
- "@tiptap/core": "^2.0.0-beta.202",
- "@tiptap/extension-blockquote": "^2.0.0-beta.202",
- "@tiptap/extension-bold": "^2.0.0-beta.202",
+ "@tiptap/core": "^2.0.0-beta.210",
+ "@tiptap/extension-blockquote": "^2.0.0-beta.210",
+ "@tiptap/extension-bold": "^2.0.0-beta.210",
"@tiptap/extension-bubble-menu": "2.0.0-beta.200",
- "@tiptap/extension-bullet-list": "^2.0.0-beta.202",
- "@tiptap/extension-code": "^2.0.0-beta.202",
- "@tiptap/extension-code-block": "^2.0.0-beta.202",
+ "@tiptap/extension-bullet-list": "^2.0.0-beta.210",
+ "@tiptap/extension-code": "^2.0.0-beta.210",
+ "@tiptap/extension-code-block": "^2.0.0-beta.210",
"@tiptap/extension-code-block-lowlight": "2.0.0-beta.202",
- "@tiptap/extension-document": "^2.0.0-beta.202",
- "@tiptap/extension-dropcursor": "^2.0.0-beta.202",
- "@tiptap/extension-gapcursor": "^2.0.0-beta.202",
- "@tiptap/extension-hard-break": "^2.0.0-beta.202",
- "@tiptap/extension-heading": "^2.0.0-beta.202",
+ "@tiptap/extension-document": "^2.0.0-beta.210",
+ "@tiptap/extension-dropcursor": "^2.0.0-beta.210",
+ "@tiptap/extension-gapcursor": "^2.0.0-beta.210",
+ "@tiptap/extension-hard-break": "^2.0.0-beta.210",
+ "@tiptap/extension-heading": "^2.0.0-beta.210",
"@tiptap/extension-highlight": "^2.0.0-beta.209",
- "@tiptap/extension-history": "^2.0.0-beta.202",
- "@tiptap/extension-horizontal-rule": "^2.0.0-beta.202",
- "@tiptap/extension-image": "^2.0.0-beta.202",
- "@tiptap/extension-italic": "^2.0.0-beta.202",
- "@tiptap/extension-link": "^2.0.0-beta.202",
- "@tiptap/extension-list-item": "^2.0.0-beta.202",
- "@tiptap/extension-ordered-list": "^2.0.0-beta.202",
- "@tiptap/extension-paragraph": "^2.0.0-beta.202",
- "@tiptap/extension-strike": "^2.0.0-beta.202",
- "@tiptap/extension-subscript": "^2.0.0-beta.202",
- "@tiptap/extension-superscript": "^2.0.0-beta.202",
- "@tiptap/extension-table": "^2.0.0-beta.202",
- "@tiptap/extension-table-cell": "^2.0.0-beta.202",
- "@tiptap/extension-table-header": "^2.0.0-beta.202",
- "@tiptap/extension-table-row": "^2.0.0-beta.202",
- "@tiptap/extension-task-item": "^2.0.0-beta.202",
- "@tiptap/extension-task-list": "^2.0.0-beta.202",
- "@tiptap/extension-text": "^2.0.0-beta.202",
- "@tiptap/suggestion": "^2.0.0-beta.202",
+ "@tiptap/extension-history": "^2.0.0-beta.210",
+ "@tiptap/extension-horizontal-rule": "^2.0.0-beta.210",
+ "@tiptap/extension-image": "^2.0.0-beta.210",
+ "@tiptap/extension-italic": "^2.0.0-beta.210",
+ "@tiptap/extension-link": "^2.0.0-beta.210",
+ "@tiptap/extension-list-item": "^2.0.0-beta.210",
+ "@tiptap/extension-ordered-list": "^2.0.0-beta.210",
+ "@tiptap/extension-paragraph": "^2.0.0-beta.210",
+ "@tiptap/extension-strike": "^2.0.0-beta.210",
+ "@tiptap/extension-subscript": "^2.0.0-beta.210",
+ "@tiptap/extension-superscript": "^2.0.0-beta.210",
+ "@tiptap/extension-table": "^2.0.0-beta.210",
+ "@tiptap/extension-table-cell": "^2.0.0-beta.210",
+ "@tiptap/extension-table-header": "^2.0.0-beta.210",
+ "@tiptap/extension-table-row": "^2.0.0-beta.210",
+ "@tiptap/extension-task-item": "^2.0.0-beta.210",
+ "@tiptap/extension-task-list": "^2.0.0-beta.210",
+ "@tiptap/extension-text": "^2.0.0-beta.210",
+ "@tiptap/pm": "^2.0.0-beta.212",
+ "@tiptap/suggestion": "^2.0.0-beta.210",
"@tiptap/vue-2": "2.0.0-beta.200",
+ "@vitejs/plugin-vue2": "^1.1.2",
"apollo-upload-client": "15.0.0",
"apollo3-cache-persist": "^0.14.1",
+ "autoprefixer": "^10.4.8",
"autosize": "^5.0.1",
"axios": "^0.24.0",
"babel-loader": "^8.2.5",
@@ -173,6 +179,7 @@
"remark-gfm": "^3.0.1",
"remark-parse": "^10.0.1",
"remark-rehype": "^10.1.0",
+ "rollup-plugin-node-polyfills": "^0.2.1",
"scrollparent": "^2.0.1",
"select2": "3.5.2-browserify",
"sentrybrowser5": "npm:@sentry/browser@5.30.0",
@@ -191,13 +198,16 @@
"url-loader": "^4.1.1",
"uuid": "8.1.0",
"visibilityjs": "^1.2.4",
- "vue": "2.6.14",
+ "vite": "^4.0.0",
+ "vite-plugin-ruby": "^3.1.2",
+ "vite-svg-loader": "^3.4.0",
+ "vue": "^2.7.10",
"vue-apollo": "^3.0.7",
- "vue-loader": "15.9.6",
+ "vue-loader": "^15.10",
"vue-observe-visibility": "^1.0.0",
"vue-resize": "^1.0.1",
"vue-router": "3.4.9",
- "vue-template-compiler": "2.6.14",
+ "vue-template-compiler": "^2.7.10",
"vue-virtual-scroll-list": "^1.4.7",
"vuedraggable": "^2.23.0",
"vuex": "^3.6.2",
@@ -206,7 +216,7 @@
"webpack-bundle-analyzer": "^4.6.1",
"webpack-cli": "^4.10.0",
"webpack-stats-plugin": "^0.3.1",
- "worker-loader": "^2.0.0",
+ "worker-loader": "3.0.8",
"xterm": "3.14.5",
"yaml": "^2.0.0-10"
},
@@ -214,6 +224,7 @@
"@gitlab/eslint-plugin": "18.1.0",
"@gitlab/stylelint-config": "4.1.0",
"@graphql-eslint/eslint-plugin": "3.12.0",
+ "@originjs/vite-plugin-commonjs": "^1.0.3",
"@testing-library/dom": "^7.16.2",
"@types/jest": "^28.1.3",
"@vue/test-utils": "1.3.0",
@@ -269,7 +280,9 @@
},
"resolutions": {
"chokidar": "^3.5.3",
- "@types/node": "14.17.5"
+ "@types/node": "14.17.5",
+ "terser-webpack-plugin/terser": "^4.1.2",
+ "vite/terser": "^5.4.0"
},
"engines": {
"node": ">=12.22.1",
diff --git a/postcss.config.js b/postcss.config.js
new file mode 100644
index 0000000000000000000000000000000000000000..a47ef4f95284d3103dd43c01eb27677a3ef833fd
--- /dev/null
+++ b/postcss.config.js
@@ -0,0 +1,5 @@
+module.exports = {
+ plugins: {
+ autoprefixer: {},
+ },
+};
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb
index bb1a4d57cc0f4ced2f5b6ce0cc8f42c36b1182d0..96aba3856bdc7c8d43d1ca4ef0c9d2b4653ecc68 100644
--- a/spec/helpers/application_helper_spec.rb
+++ b/spec/helpers/application_helper_spec.rb
@@ -706,4 +706,62 @@ def stub_controller_method(method_name, value)
expect(helper.stylesheet_link_tag_defer('test')).to eq( '')
end
end
+
+ describe '#use_new_fonts?' do
+ subject { helper.use_new_fonts? }
+
+ it { is_expected.to eq true }
+
+ context 'when the feature flag is disabled' do
+ before do
+ stub_feature_flags(new_fonts: false)
+ end
+
+ it { is_expected.to eq false }
+
+ context 'with special request param' do
+ let(:request) { instance_double(ActionController::TestRequest, params: { new_fonts: true }) }
+
+ before do
+ allow(helper).to receive(:request).and_return(request)
+ end
+
+ it { is_expected.to eq true }
+ end
+ end
+ end
+
+ describe '#controller_full_path' do
+ let(:path) { 'some_path' }
+ let(:action) { 'show' }
+
+ before do
+ allow(helper.controller).to receive(:controller_path).and_return(path)
+ allow(helper.controller).to receive(:action_name).and_return(action)
+ end
+
+ context 'when is create action' do
+ let(:action) { 'create' }
+
+ it 'transforms to "new" path' do
+ expect(helper.controller_full_path).to eq("#{path}/new")
+ end
+ end
+
+ context 'when is update action' do
+ let(:action) { 'update' }
+
+ it 'transforms to "edit" path' do
+ expect(helper.controller_full_path).to eq("#{path}/edit")
+ end
+ end
+
+ context 'when is show action' do
+ let(:action) { 'show' }
+
+ it 'passes through' do
+ expect(helper.controller_full_path).to eq("#{path}/#{action}")
+ end
+ end
+ end
end
diff --git a/spec/helpers/vite_helper_spec.rb b/spec/helpers/vite_helper_spec.rb
new file mode 100644
index 0000000000000000000000000000000000000000..535e11917b09892890b71b41a4e5c4f0c41bfa94
--- /dev/null
+++ b/spec/helpers/vite_helper_spec.rb
@@ -0,0 +1,83 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe ViteHelper do
+ let(:source) { 'foo.js' }
+ let(:vite_source) { 'vite/foo.js' }
+ let(:vite_tag) { '' }
+ let(:webpack_source) { 'webpack/foo.js' }
+ let(:webpack_tag) { '' }
+
+ context 'when vite enabled' do
+ before do
+ stub_rails_env('development')
+ stub_feature_flags(vite: true)
+
+ allow(helper).to receive(:vite_javascript_tag).and_return(vite_tag)
+ allow(helper).to receive(:vite_asset_path).and_return(vite_source)
+ allow(helper).to receive(:vite_stylesheet_tag).and_return(vite_tag)
+ allow(helper).to receive(:vite_asset_url).and_return(vite_source)
+ allow(helper).to receive(:vite_running).and_return(true)
+ end
+
+ describe '#universal_javascript_include_tag' do
+ it 'returns vite javascript tag' do
+ expect(helper.universal_javascript_include_tag(source)).to eq(vite_tag)
+ end
+ end
+
+ describe '#universal_asset_path' do
+ it 'returns vite asset path' do
+ expect(helper.universal_asset_path(source)).to eq(vite_source)
+ end
+ end
+
+ describe '#universal_stylesheet_link_tag' do
+ it 'returns vite tag' do
+ expect(helper.universal_stylesheet_link_tag(source)).to eq(vite_tag)
+ end
+ end
+
+ describe '#universal_path_to_stylesheet' do
+ it 'returns vite asset path' do
+ expect(helper.universal_path_to_stylesheet(source)).to eq(vite_source)
+ end
+ end
+ end
+
+ context 'when vite disabled' do
+ before do
+ stub_feature_flags(vite: false)
+
+ allow(helper).to receive(:javascript_include_tag).and_return(webpack_tag)
+ allow(helper).to receive(:asset_path).and_return(webpack_source)
+ allow(helper).to receive(:stylesheet_link_tag).and_return(webpack_tag)
+ allow(helper).to receive(:path_to_stylesheet).and_return(webpack_source)
+ end
+
+ describe '#universal_javascript_include_tag' do
+ it 'returns webpack javascript tag' do
+ expect(helper.universal_javascript_include_tag(source)).to eq(webpack_tag)
+ end
+ end
+
+ describe '#universal_asset_path' do
+ it 'returns ActionView asset path' do
+ expect(helper.universal_asset_path(source)).to eq(webpack_source)
+ end
+ end
+
+ describe '#universal_stylesheet_link_tag' do
+ it 'returns webpack tag' do
+ expect(helper.universal_stylesheet_link_tag(source)).to eq(webpack_tag)
+ end
+ end
+
+ describe '#universal_path_to_stylesheet' do
+ it 'returns ActionView asset path' do
+ expect(helper.universal_path_to_stylesheet(source)).to eq(webpack_source)
+ end
+ end
+ end
+end
diff --git a/spec/helpers/webpack_helper_spec.rb b/spec/helpers/webpack_helper_spec.rb
index f9e2d265153b1b2eccb33769248679f3ebde1faa..23585c4723998a6f4403ebaf42a2aa1276d32de7 100644
--- a/spec/helpers/webpack_helper_spec.rb
+++ b/spec/helpers/webpack_helper_spec.rb
@@ -34,4 +34,22 @@
expect(output).to eq("")
end
end
+
+ context 'when vite enabled' do
+ let(:bundle) { 'bundle.js' }
+
+ before do
+ stub_rails_env('development')
+ stub_feature_flags(vite: true)
+
+ allow(helper).to receive(:vite_javascript_tag).and_return('vite')
+ allow(helper).to receive(:vite_running).and_return(true)
+ end
+
+ describe '#webpack_bundle_tag' do
+ it 'return vite javascript tag' do
+ expect(helper.webpack_bundle_tag(bundle)).to eq('vite')
+ end
+ end
+ end
end
diff --git a/spec/requests/content_security_policy_spec.rb b/spec/requests/content_security_policy_spec.rb
index 3f0665f1ce572dfdfc67084edb5d1b14db9325d9..dcd55b1eeee89eaf2d158d8f0f199281a82751fc 100644
--- a/spec/requests/content_security_policy_spec.rb
+++ b/spec/requests/content_security_policy_spec.rb
@@ -7,6 +7,7 @@
# of testing in application_controller_spec.
RSpec.describe 'Content Security Policy', feature_category: :application_instrumentation do
let(:snowplow_host) { 'snowplow.example.com' }
+ let(:vite_origin) { "#{ViteRuby.instance.config.host}:#{ViteRuby.instance.config.port}" }
shared_examples 'snowplow is not in the CSP' do
it 'does not add the snowplow collector hostname to the CSP' do
@@ -46,5 +47,32 @@
it_behaves_like 'snowplow is not in the CSP'
end
+
+ context 'when vite enabled during development' do
+ before do
+ stub_rails_env('development')
+ stub_feature_flags(vite: true)
+
+ get explore_root_url
+ end
+
+ it 'adds vite csp' do
+ expect(response).to have_gitlab_http_status(:ok)
+ expect(response.headers['Content-Security-Policy']).to include(vite_origin)
+ end
+ end
+
+ context 'when vite disabled' do
+ before do
+ stub_feature_flags(vite: false)
+
+ get explore_root_url
+ end
+
+ it "doesn't add vite csp" do
+ expect(response).to have_gitlab_http_status(:ok)
+ expect(response.headers['Content-Security-Policy']).not_to include(vite_origin)
+ end
+ end
end
end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 2d3afb489df08ab46749e1e0aefcd297dc8bb880..98f73c7375293ffcdc138ac47d37095a43b81efb 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -312,6 +312,8 @@
# dashboard page to Vue. https://gitlab.com/gitlab-org/gitlab/-/issues/379025
stub_feature_flags(vue_issues_dashboard: false)
+ stub_feature_flags(vite: false)
+
allow(Gitlab::GitalyClient).to receive(:can_use_disk?).and_return(enable_rugged)
else
unstub_all_feature_flags
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000000000000000000000000000000000000..02d8e2ba63cbc79cfcfa2643fee7e6028bf9cfd7
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,131 @@
+import path from 'path';
+import { defineConfig } from 'vite';
+import svgLoader from 'vite-svg-loader';
+import vue from '@vitejs/plugin-vue2';
+import graphql from '@rollup/plugin-graphql';
+// eslint-disable-next-line import/no-unresolved
+import RubyPlugin from 'vite-plugin-ruby';
+import { viteCommonjs } from '@originjs/vite-plugin-commonjs';
+import config from './config/webpack.config';
+import {
+ IS_EE,
+ IS_JH,
+ SOURCEGRAPH_PUBLIC_PATH,
+ GITLAB_WEB_IDE_PUBLIC_PATH,
+} from './config/webpack.constants';
+import viteSharedConfig from './config/vite.json';
+
+const aliasArr = Object.entries(config.resolve.alias).map(([find, replacement]) => ({
+ find,
+ replacement,
+}));
+
+const assetsPath = path.resolve(__dirname, 'app/assets');
+const javascriptsPath = path.resolve(assetsPath, 'javascripts');
+const stylesheetsPath = path.resolve(assetsPath, 'stylesheets');
+const eePath = IS_EE
+ ? path.resolve(__dirname, 'ee/app/assets/stylesheets/_ee')
+ : path.join(assetsPath, 'stylesheets/_ee');
+const jhPath = IS_JH
+ ? path.resolve(__dirname, 'jh/app/assets/stylesheets/_jh')
+ : path.resolve(assetsPath, 'stylesheets/_jh');
+const gitlabUI = path.resolve(__dirname, 'node_modules/@gitlab/ui/src/scss');
+const threeJsModule = path.resolve(__dirname, 'node_modules/three/build/three.module.js');
+
+const emptyComponent = path.resolve(javascriptsPath, 'vue_shared/components/empty_component.js');
+
+const [rubyPlugin, ...rest] = RubyPlugin();
+
+const fixedRubyPlugin = [
+ {
+ ...rubyPlugin,
+ config: (...args) => {
+ // @ts-ignore
+ const originalConfig = rubyPlugin.config(...args);
+ return {
+ ...originalConfig,
+ resolve: undefined,
+ };
+ },
+ },
+ ...rest,
+];
+
+const sassGlobals = [
+ '@gitlab/ui/src/scss/variables.scss',
+ '@gitlab/ui/src/scss/bootstrap.scss',
+ '@gitlab/ui/src/scss/utility-mixins/index.scss',
+ 'framework/variables.scss',
+ 'bootstrap_migration.scss',
+];
+
+const additionalData = sassGlobals.map((sassPath) => `@import "${sassPath}";`).join('');
+
+export default defineConfig({
+ resolve: {
+ alias: [
+ ...aliasArr,
+ {
+ find: /^ee_component\/(.*)\.vue/,
+ replacement: emptyComponent,
+ },
+ {
+ find: /^jh_component\/(.*)\.vue/,
+ replacement: emptyComponent,
+ },
+ {
+ find: '~/',
+ replacement: javascriptsPath,
+ },
+ {
+ find: 'path',
+ replacement: 'rollup-plugin-node-polyfills/polyfills/path',
+ },
+ {
+ find: 'three/build/three.module',
+ replacement: threeJsModule,
+ },
+ ],
+ },
+ plugins: [
+ fixedRubyPlugin,
+ vue(),
+ graphql(),
+ svgLoader({
+ defaultImport: 'raw',
+ }),
+ viteCommonjs({
+ include: [path.resolve(javascriptsPath, 'locale/ensure_single_line.cjs')],
+ }),
+ ],
+ css: {
+ preprocessorOptions: {
+ scss: {
+ additionalData,
+ includePaths: [stylesheetsPath, eePath, jhPath, gitlabUI],
+ },
+ },
+ },
+ define: {
+ IS_EE: IS_EE
+ ? 'typeof window !== "undefined" && window.gon && window.gon.ee'
+ : JSON.stringify(false),
+ IS_JH: IS_JH
+ ? 'typeof window !== "undefined" && window.gon && window.gon.jh'
+ : JSON.stringify(false),
+ 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
+ 'process.env.SOURCEGRAPH_PUBLIC_PATH': JSON.stringify(SOURCEGRAPH_PUBLIC_PATH),
+ 'process.env.GITLAB_WEB_IDE_PUBLIC_PATH': JSON.stringify(GITLAB_WEB_IDE_PUBLIC_PATH),
+ },
+ build: {
+ target: 'es2015',
+ },
+ server: {
+ hmr: {
+ host: viteSharedConfig?.development?.host || 'localhost',
+ // ensure we stay compatible with HTTPS enabled for GDK
+ protocol: 'ws',
+ },
+ https: false,
+ },
+});
diff --git a/yarn.lock b/yarn.lock
index f97643431a5c09f05fea2f006c8970a533045df0..4b25bf1044099e94635e47ddbc7da1a98c895ae1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,7 +2,7 @@
# yarn lockfile v1
-"@_ueberdosis/prosemirror-tables@1.1.3", "@_ueberdosis/prosemirror-tables@^1.1.3":
+"@_ueberdosis/prosemirror-tables@^1.1.3":
version "1.1.3"
resolved "https://registry.yarnpkg.com/@_ueberdosis/prosemirror-tables/-/prosemirror-tables-1.1.3.tgz#56fdbc8b1d6ec43e7b7beb21e213c131eec451cd"
integrity sha512-su3pbFi1DT89g6Cuh72TE0MWWKHmWgHcQJ3ODRkm6XfIppWaGpU49t02ur3sgJc7hUhfQXjB93aSkDgOmIii2w==
@@ -349,10 +349,15 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.8", "@babel/parser@^7.18.10", "@babel/parser@^7.19.0":
- version "7.19.0"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.0.tgz#497fcafb1d5b61376959c1c338745ef0577aa02c"
- integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.4", "@babel/parser@^7.16.8", "@babel/parser@^7.18.4":
+ version "7.18.11"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9"
+ integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==
+
+"@babel/parser@^7.18.10", "@babel/parser@^7.19.0":
+ version "7.20.15"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89"
+ integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12":
version "7.17.12"
@@ -1165,6 +1170,11 @@
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.4.tgz#3fc352bb54e0959fda273cd2253b1c72ca41b8c2"
integrity sha512-3lqFi4VFo/Vwvn77FZXeLd0ctolIJH/uXkH3yNgEk89Eh6D3XXAC9/iTPEzeEpsNE5IqGIsFa5Z0iPeOh25IyA==
+"@esbuild/linux-loong64@0.14.54":
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028"
+ integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==
+
"@esbuild/linux-loong64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8"
@@ -1788,7 +1798,7 @@
"@types/yargs" "^17.0.8"
chalk "^4.0.0"
-"@jridgewell/gen-mapping@^0.3.2":
+"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
version "0.3.2"
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
@@ -1807,6 +1817,14 @@
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
+"@jridgewell/source-map@^0.3.2":
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb"
+ integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.0"
+ "@jridgewell/trace-mapping" "^0.3.9"
+
"@jridgewell/sourcemap-codec@^1.4.10":
version "1.4.11"
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec"
@@ -1838,6 +1856,11 @@
resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz#0300943770e04231041a51bd39f0439b5c7ab4f0"
integrity sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg==
+"@linaria/core@3.0.0-beta.13":
+ version "3.0.0-beta.13"
+ resolved "https://registry.yarnpkg.com/@linaria/core/-/core-3.0.0-beta.13.tgz#049c5be5faa67e341e413a0f6b641d5d78d91056"
+ integrity sha512-3zEi5plBCOsEzUneRVuQb+2SAx3qaC1dj0FfFAI6zIJQoDWu0dlSwKijMRack7oO9tUWrchfj3OkKQAd1LBdVg==
+
"@miragejs/pretender-node-polyfill@^0.1.0":
version "0.1.2"
resolved "https://registry.yarnpkg.com/@miragejs/pretender-node-polyfill/-/pretender-node-polyfill-0.1.2.tgz#d26b6b7483fb70cd62189d05c95d2f67153e43f2"
@@ -1877,20 +1900,32 @@
mkdirp "^1.0.4"
"@nuxt/opencollective@^0.3.2":
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/@nuxt/opencollective/-/opencollective-0.3.2.tgz#83cb70cdb2bac5fad6f8c93529e7b11187d49c02"
- integrity sha512-XG7rUdXG9fcafu9KTDIYjJSkRO38EwjlKYIb5TQ/0WDbiTUTtUtgncMscKOYzfsY86kGs05pAuMOR+3Fi0aN3A==
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/@nuxt/opencollective/-/opencollective-0.3.3.tgz#80ff0eb8f6fca1d0ed5a089b9688f41bff2dd8ab"
+ integrity sha512-6IKCd+gP0HliixqZT/p8nW3tucD6Sv/u/eR2A9X4rxT/6hXlMzA4GZQzq4d2qnBAwSwGpmKyzkyTjNjrhaA25A==
dependencies:
chalk "^4.1.0"
consola "^2.15.0"
- node-fetch "^2.6.1"
+ node-fetch "^2.6.7"
+
+"@originjs/vite-plugin-commonjs@^1.0.3":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@originjs/vite-plugin-commonjs/-/vite-plugin-commonjs-1.0.3.tgz#2e3fb11ec78847da9422b79c103953f94d667f09"
+ integrity sha512-KuEXeGPptM2lyxdIEJ4R11+5ztipHoE7hy8ClZt3PYaOVQ/pyngd2alaSrPnwyFeOW1UagRBaQ752aA1dTMdOQ==
+ dependencies:
+ esbuild "^0.14.14"
"@polka/url@^1.0.0-next.9":
version "1.0.0-next.12"
resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.12.tgz#431ec342a7195622f86688bbda82e3166ce8cb28"
integrity sha512-6RglhutqrGFMO1MNUXp95RBuYIuc8wTnMAV5MUhLmjTOy78ncwOw7RgeQ/HeymkKXRhZd0s2DNrM1rL7unk3MQ==
-"@popperjs/core@^2.11.2", "@popperjs/core@^2.9.0":
+"@popperjs/core@^2.11.2":
+ version "2.11.6"
+ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45"
+ integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==
+
+"@popperjs/core@^2.9.0":
version "2.11.5"
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.5.tgz#db5a11bf66bdab39569719555b0f76e138d7bd64"
integrity sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==
@@ -1905,6 +1940,67 @@
resolved "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.1.4-7.tgz#ef0b83ef40f64bc6704e13ae6624236a4a91fa6f"
integrity sha512-842WcLh0BErNgGE8rdqNh31VnqGQcklPQ7RXzQfA0ilQNZcU7AO+t576g1m//18Lk8m7cXZ8fIKA1YB41LKWAQ==
+"@remirror/core-constants@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@remirror/core-constants/-/core-constants-2.0.0.tgz#a52f89059d93955e00810023cc76b4f7db9650bf"
+ integrity sha512-vpePPMecHJllBqCWXl6+FIcZqS+tRUM2kSCCKFeEo1H3XUEv3ocijBIPhnlSAa7g6maX+12ATTgxrOsLpWVr2g==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+
+"@remirror/core-helpers@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@remirror/core-helpers/-/core-helpers-2.0.1.tgz#6847666a009ada8c9b9f3a093c13a6d07a95d9bb"
+ integrity sha512-s8M1pn33aBUhduvD1QR02uUQMegnFkGaTr4c1iBzxTTyg0rbQstzuQ7Q8TkL6n64JtgCdJS9jLz2dONb2meBKQ==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+ "@linaria/core" "3.0.0-beta.13"
+ "@remirror/core-constants" "^2.0.0"
+ "@remirror/types" "^1.0.0"
+ "@types/object.omit" "^3.0.0"
+ "@types/object.pick" "^1.3.1"
+ "@types/throttle-debounce" "^2.1.0"
+ case-anything "^2.1.10"
+ dash-get "^1.0.2"
+ deepmerge "^4.2.2"
+ fast-deep-equal "^3.1.3"
+ make-error "^1.3.6"
+ object.omit "^3.0.0"
+ object.pick "^1.3.0"
+ throttle-debounce "^3.0.1"
+
+"@remirror/types@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@remirror/types/-/types-1.0.0.tgz#cc8764440089a2ada71f149c409739575b73b12e"
+ integrity sha512-7HQbW7k8VxrAtfzs9FxwO6XSDabn8tSFDi1wwzShOnU+cvaYpfxu0ygyTk3TpXsag1hgFKY3ZIlAfB4WVz2LkQ==
+ dependencies:
+ type-fest "^2.0.0"
+
+"@rollup/plugin-graphql@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-graphql/-/plugin-graphql-1.1.0.tgz#492f579816f65bc21ce26394f2f140d95192622d"
+ integrity sha512-X+H6oFlprDlnO3D0UiEytdW97AMphPXO0C7KunS7i/rBXIGQRQVDU5WKTXnBu2tfyYbjCTtfhXMSGI0i885PNg==
+ dependencies:
+ "@rollup/pluginutils" "^4.0.0"
+ graphql-tag "^2.2.2"
+
+"@rollup/pluginutils@^4.0.0":
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d"
+ integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==
+ dependencies:
+ estree-walker "^2.0.1"
+ picomatch "^2.2.2"
+
+"@sentry/browser@5.30.0", "sentrybrowser5@npm:@sentry/browser@5.30.0":
+ version "5.30.0"
+ resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.30.0.tgz#c28f49d551db3172080caef9f18791a7fd39e3b3"
+ integrity sha512-rOb58ZNVJWh1VuMuBG1mL9r54nZqKeaIlwSlvzJfc89vyfd7n6tQ1UXMN383QBz/MS5H5z44Hy5eE+7pCrYAfw==
+ dependencies:
+ "@sentry/core" "5.30.0"
+ "@sentry/types" "5.30.0"
+ "@sentry/utils" "5.30.0"
+ tslib "^1.9.3"
+
"@sentry/core@5.30.0":
version "5.30.0"
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3"
@@ -2006,30 +2102,22 @@
dom-accessibility-api "^0.5.1"
pretty-format "^26.4.2"
-"@tiptap/core@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.0.0-beta.202.tgz#be4c6a200e81875c552e1cc15ae9c6cdd86c37c2"
- integrity sha512-KnOcZBtkWoDT7EsVLiJr9DyBnQcKJQHI8kOhNIL0snUrksr25q8xBW05iYqw6cGAF7iu1cFM80VikfgefsZUpw==
- dependencies:
- prosemirror-commands "^1.3.1"
- prosemirror-keymap "^1.2.0"
- prosemirror-model "^1.18.1"
- prosemirror-schema-list "^1.2.2"
- prosemirror-state "^1.4.1"
- prosemirror-transform "^1.7.0"
- prosemirror-view "^1.28.2"
+"@tiptap/core@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.0.0-beta.212.tgz#a2e7bb3e7a94ac09cb54f0b3126b7fad53607de0"
+ integrity sha512-aQbeTJiR3wtqCNXyrFnRBjBT4F0kQrHGSOJyj5lWnEetImprJNgg2DbX8Yu5odh9CRcYVtAoWKdEdnyvtMhzAQ==
-"@tiptap/extension-blockquote@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.0.0-beta.202.tgz#91168b32387ed0ce4d03dd3b6c802682287ede3c"
- integrity sha512-weLbMxM7VfI4hJsThw1+mB4jbQnVFizmzRlGU40LKMzEU5yIgIhuaomQ02Z7V0cRgfXsoKX9oc0BYGiO0Ra6/g==
+"@tiptap/extension-blockquote@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.0.0-beta.212.tgz#a68485dfae3622cb49a65da4063175d72aa6439b"
+ integrity sha512-6UmW1/UQU1JmF3DrbJ4HCVwNdulpGmRK9r5XH3CUPH4Im35Vb4c9gmh+F3ePJR2uvXgK5Lx3WYt6955PyReS2w==
-"@tiptap/extension-bold@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.0.0-beta.202.tgz#877309e7b84701c22865517f09cbc5d288aa9369"
- integrity sha512-AsfoChIleoSbY9gAuhbLF8BAEhHPrRKofmU09xJ62SBkL1rtgci8YzJYhL9leQCM4n1MQZEDeVf0ho75HeTPMA==
+"@tiptap/extension-bold@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.0.0-beta.212.tgz#b77b0e7ce30b9c4b7697ca9fb60ffe8a40d08a98"
+ integrity sha512-YSPQNGV9ZADq/aAbDfGa9lyLm7NxPFLzAHaa65wFhXNNU/1BvNUngqDK6u31Q2nuSSrk38PE6ltZ6uVSjBfEQA==
-"@tiptap/extension-bubble-menu@2.0.0-beta.200", "@tiptap/extension-bubble-menu@^2.0.0-beta.200":
+"@tiptap/extension-bubble-menu@2.0.0-beta.200":
version "2.0.0-beta.200"
resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.0-beta.200.tgz#7851efdb5b9bccf78a020e386ee0f5eb92103198"
integrity sha512-57EIDlYpI+jRurzHzsnulkAgf+LFoGytK5YcoXmuq8A2f295mj9ANzuOUnLJ76nm2NBmt8Y6ks0zUIIktKKK0Q==
@@ -2038,10 +2126,18 @@
prosemirror-view "^1.28.2"
tippy.js "^6.3.7"
-"@tiptap/extension-bullet-list@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.0-beta.202.tgz#1826ec86a83cc2feba3f90b3015c0e642a925f8c"
- integrity sha512-Su+GvRGyW9FTBtcFjvNkkYwzDRo+1O2YTNOZi1Z/OkDqbg3g89kRue78avs0nHW7HEgdhCap+z8KtAPrie4eBg==
+"@tiptap/extension-bubble-menu@^2.0.0-beta.200":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.0-beta.212.tgz#321063ba3a70cd2495cacff915aeea2677b0ede7"
+ integrity sha512-LqwXN66hIhjQL+aVbKHlsu6ryX6Mtnz2eaKrUPDkU/vqu1M7iSlB9kSDu7DQgOJzd9a69UrsH9DiD3LdUtyd/g==
+ dependencies:
+ lodash "^4.17.21"
+ tippy.js "^6.3.7"
+
+"@tiptap/extension-bullet-list@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.0-beta.212.tgz#331d5ca389b6934f1ef7b036b584b67e15603e24"
+ integrity sha512-owW+SPkeYEB4SKCprp5yt6MRMvB+TOObxauvaiuZ+RPGKX/a6/uXyCfsPJ+Wz85lPn1GYefZwlfANJ6C5HQGkg==
"@tiptap/extension-code-block-lowlight@2.0.0-beta.202":
version "2.0.0-beta.202"
@@ -2052,172 +2148,173 @@
prosemirror-state "^1.4.1"
prosemirror-view "^1.28.2"
-"@tiptap/extension-code-block@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.0.0-beta.202.tgz#a76fcb90e8e22082bedd9853f7a9bd0a541a800e"
- integrity sha512-tfK9khIroGjsXQvk2K/9z1/UyQrB4+zghkjyK1xikzRmhgfOeqQzA0TDrFrz7ywFXmSFQ7GnnYAp+RW6r6wyUg==
- dependencies:
- prosemirror-state "^1.4.1"
+"@tiptap/extension-code-block@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.0.0-beta.212.tgz#48c79ef982a9f01f4b63387938ccaf038587ddf7"
+ integrity sha512-pS1R8kGcYFHJNiiyB0NF1i7HPT0iL+URPvW4u1Ww4LmyhBrv5RwqdYyg/E6q+J+0AZkhMVQL3Y1Wg6SPJYq8EA==
-"@tiptap/extension-code@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.0.0-beta.202.tgz#5d4352a6cc4a2d16262472fb11c54cfca24bd40a"
- integrity sha512-XwAr7ysSWJVZWHNXDaNBTPH1CTyVxHnPv/PiCWTGhf8Fkx7R7xW2QCUKx4ablwxFlTY7H8xGmCujaewUQBdO5w==
+"@tiptap/extension-code@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.0.0-beta.212.tgz#340c6739127f110a79a80c70c3ab3f7cd5805ce1"
+ integrity sha512-F/r5cQ2JrGYm4YN2+ifKF/ZQUl/pShI2ICwaohV1zcEle+BCjmM13Pb5UOyXFGEmI2nwGwEz023PGxGK1p2RXw==
-"@tiptap/extension-document@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.0.0-beta.202.tgz#fa2b1a42075b1a6bfbcd9564289dfbf7347c903c"
- integrity sha512-UsDSe93QtnuDrUo11wYCMtp7XlTIBvL5HNhx+enLRY7B8nUhX+d78u1BzspTpCkMYKcdwDmAGfIYMqqPViPEvA==
+"@tiptap/extension-document@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.0.0-beta.212.tgz#94aff82e343b12f00ccd5f92595615e6990facb5"
+ integrity sha512-dGt4Y/aDHWkYzGJLaZtx823af0b0NMPdtUECwpypvTEIqLG1RrEvNP5va2BsHcgug+Kt5UgmPrR+PvuDPX9Vnw==
-"@tiptap/extension-dropcursor@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.0-beta.202.tgz#a7e2b3c66dfb5c05077c05991fccd5e4166bdc1d"
- integrity sha512-4Q3LnqvMnxP0KdX7tIgCoTCKg949rg351m0wguVb1bo4v9lA0zfJpSgqjQ1Xs2vaYVBwkFjLoqrfhTRn5mnopQ==
- dependencies:
- prosemirror-dropcursor "1.5.0"
+"@tiptap/extension-dropcursor@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.0-beta.212.tgz#1422fb9e7dfc84ed3795b34d55fed68128da91c0"
+ integrity sha512-DsZeoL0ZCSWxeHTm0eeRzx74kk0bUHRqhwr8kK39hi8lppBrRdHoi4KcjlDXMwgpAoMZEeB8ZX3zFg6TtFMsRg==
"@tiptap/extension-floating-menu@^2.0.0-beta.200":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.0-beta.202.tgz#9f895a04cd93cf4b41542ef3b09f3c90bfd0e215"
- integrity sha512-09liirOFsPDFRLS2FiFdnfzyyOQwwyVXLzI6MzUOw5RZbOsGJ5kB8jZdkXvsAIiOs0YYsH3fyOyWirIwSRhBTQ==
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.0-beta.212.tgz#56236907ec09d03c3a529b6176de87584f9594af"
+ integrity sha512-sMTv9jSDbqg59fUkv0y+Yn2ecSxPnbNXoIl+abbE9XhLgeDhZMzOG75ICK9Am5YSiH7fz+DakpPSgt+3KGycAQ==
dependencies:
- prosemirror-state "^1.4.1"
- prosemirror-view "^1.28.2"
tippy.js "^6.3.7"
-"@tiptap/extension-gapcursor@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.0-beta.202.tgz#567fb6281068db7fb5da2092550e83e01530d8cf"
- integrity sha512-jOPMPPnTfVuc5YpFTcQM42/cg1J3+OeHitYb1/vBMpaNinVijuafsK14xDoVP8+sydKVgtBzYkfP/faN82I9iA==
- dependencies:
- prosemirror-gapcursor "^1.3.1"
+"@tiptap/extension-gapcursor@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.0-beta.212.tgz#0847f2d13ed87652067a1c592f23242d9e69c7b7"
+ integrity sha512-DIv1K+uOfMVWtfkJqv+fccZ/kxPUU+YgNFPINAFXqBh/rTkXbcXAb96x/g18apwo7WDOQvYwHOjxb1tB3b64ZQ==
-"@tiptap/extension-hard-break@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.0.0-beta.202.tgz#f82c29f71082ae44c361964fb42e6e78d339dc29"
- integrity sha512-Nr9BXeP+dXS5vLP/C2voTrhl+4YkDHBtPlc+5xm5NPBn04slTGSPO2lgV3YrMsfUOMNXHqeob1lq4qiLF4pybQ==
+"@tiptap/extension-hard-break@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.0.0-beta.212.tgz#4b412a45973a2dfe2025360d6bc4bdbf3c4160d5"
+ integrity sha512-JcoE10HWH7g6Pdj/1MzavKlO6XwNgc4JfaYQQnIlcw2ws9SGN/82thnvNyq6joVF4FlVAR9cUCPpc1Fpr57dIQ==
-"@tiptap/extension-heading@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.0.0-beta.202.tgz#da12041c626825f8a3f3173ac922e11f2df55cbf"
- integrity sha512-sF271jSWHgtoJLDNFLS7eyUcUStl7mBDQNJIENWVI+lFu2Ax8GmO7AoB74Q6L5Zaw4h73L6TAvaafHIXurz7tA==
+"@tiptap/extension-heading@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.0.0-beta.212.tgz#eff69ad2c91dc890bfa1582e3656eb039369c982"
+ integrity sha512-LrEs/Arp/4IN6D1D8sraf4iTIy7XCERu/nAgqXzs4N9DKS2UM3QD0ql09A3hKZrxwb5Yo6Mk1mnOOxihd+0WpA==
"@tiptap/extension-highlight@^2.0.0-beta.209":
- version "2.0.0-beta.209"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.0.0-beta.209.tgz#f373884097c17daf92ce3aecdc6c3781a4904c31"
- integrity sha512-uy0Zu1dU2VcozvqpECb7+mxiazxstlb6w7jQQx8n4PAwIfN2LGv1UIil+VKRkc9amjBVwz+knm9psXEeJfjiBw==
-
-"@tiptap/extension-history@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.0.0-beta.202.tgz#d94770367a1a7b4e8f81f36d8b1731ca1fbc6879"
- integrity sha512-BLwaOWmFHBQjOonojYHl1Po27IHxgjSAPw+ijMKtKzqa2msJRJevjC4tBaX5s/YrB7PQ2tFE7rfJED4HLjBm6w==
- dependencies:
- prosemirror-history "^1.3.0"
-
-"@tiptap/extension-horizontal-rule@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.0-beta.202.tgz#12da36ea8ede0e720c7b2e5d1a2dd4c255798b2f"
- integrity sha512-ut2Im/TNQynnuqdoY9yOjMDUKmxn97ERVEpqcQSaIgqBuF6bjk60Wa13ob6oS2g6vqXxwWFrnQVz48A9TcF5FQ==
- dependencies:
- prosemirror-state "^1.4.1"
-
-"@tiptap/extension-image@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.0.0-beta.202.tgz#5e50fdf7d7ac67b3475b1cfba71fb3acaddab0df"
- integrity sha512-aHPJMXuoMgToTYkGZsz2ue8gKzes+B92qb9lVRYlY9f+r/tC2K4q3HMtx6qvh8l4Dei5/yeV9TqliY79E9A5dg==
-
-"@tiptap/extension-italic@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.0.0-beta.202.tgz#0a991167dd06064bdf3c811d638d04cea9029206"
- integrity sha512-vgSLy4KDp6AmnAHLHXe/nWeNbLnyUXxmf4U4+esebAV5Hu2F7LgceknFt9D8AGEtYUU+/fYKSeE2NGJgTQG9lA==
-
-"@tiptap/extension-link@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.0.0-beta.202.tgz#2b10ef877937bf2d491fffaf3e0545105f61b6fb"
- integrity sha512-/9bZd43dMkzmo7SCCDtEscgdFKCat9yZAyAyg+PHYdhI8Lbqv5GfjxzBbx58v7jEP1eDKFnwTDFVwAsxCE9f0w==
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.0.0-beta.212.tgz#af057f88ef0d4f351eba7accd9914e4bc1c09703"
+ integrity sha512-ejmtVvZm2sEOuh2clACceDfBZvTlHxPRWdX1JSsYfNaJxnxQrDw6IQZI7I8n+qupySLVZx0TNx/zBYKCnG90zA==
+
+"@tiptap/extension-history@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.0.0-beta.212.tgz#b41d3d0b12031e2f1f6aa972b13c7541741ad23c"
+ integrity sha512-o2VU01AVNhfJPzqSSPJMbKJ167BHomlbbq01dGigPM0YNfkOpBJG5GLrgpXlACMqmE/y3BVw1/o+Z/buzgC2Vg==
+
+"@tiptap/extension-horizontal-rule@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.0-beta.212.tgz#c5bba6ec90d43c5073489f42bafdcb432112b56b"
+ integrity sha512-f+C5EAhQCeDWA2VqnOvlDzZ31WuMUAHIqDYYBxL9sNrhqHHduLBp7Oa498oyVeAcU2ZQT+iLGE9yO+fY3f6dSA==
+
+"@tiptap/extension-image@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.0.0-beta.212.tgz#59fb92541884ed31d571a805d980590841a8c18b"
+ integrity sha512-F/3N3Er57shgfIfavAQoTy5E0C1cJivQ0VyG/gfxzjMPfUdPJdECv9W5V0KZ41VGwKtDyu7nmvR6vsqcTYx9Ww==
+
+"@tiptap/extension-italic@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.0.0-beta.212.tgz#03c5589d9725f184ad3c506858c0a7bcc5422a0c"
+ integrity sha512-sLsRojqIIjpGapxxRxoc2IwcJtn3+eYwyenNjX7xl/GIsfTEJ3uOehxS5GZSAJwiWVtQAAAQunSfmPZAHTxdRw==
+
+"@tiptap/extension-link@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.0.0-beta.212.tgz#5f2cf1ba1f681e1e7ab491a2a4d42c168ef2a5a8"
+ integrity sha512-FRhJHBIYpObrZXWvLgLW3lx+GYnkOJsJrkrKqkS5t5MdGDpsreKgqkxA06tQjNYx13xkt2HeaeUIuQENiB1d4Q==
dependencies:
linkifyjs "^3.0.5"
- prosemirror-model "^1.18.1"
- prosemirror-state "^1.4.1"
-
-"@tiptap/extension-list-item@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.0.0-beta.202.tgz#32bc4beacb0f692abfc8283760292a6354f070dc"
- integrity sha512-15yAsO+CCM8ievdX4oxg8kMBVFqhzVAw7pU6E8KL76kIwWCIIyVW6hU3VZdglyBVnAG0ws5/DaZ4VRFtVPRDvg==
-
-"@tiptap/extension-ordered-list@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.0-beta.202.tgz#5b5987d3a1c98e579071e70485db2e82bf638ed9"
- integrity sha512-PpJn8EtS8MLZ4NN9R3crmrivbjTMHjuSE2Ab3Y9TdeR9x9DIF23O/EkunnkPUiBUx6sNADprEWJIQesgpakrtw==
-
-"@tiptap/extension-paragraph@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.0.0-beta.202.tgz#5a395a8107bfc767f80335a0cf7f89278ad0cf20"
- integrity sha512-QI86DMUAz5froDJJXpbFV0I+iSFikjhQ8W5clYDbnrP/clRI/FYxklQ3oxSk4VzGBGB5EaBJf+jD7htLKb39UA==
-
-"@tiptap/extension-strike@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.0.0-beta.202.tgz#8bf200fb044e5b2401edef26e26920b94ab35249"
- integrity sha512-cs87UI/VTkmSfIwlHpm7nAPXok2bAQvxmNJ1y7UPzTATVl+ixP1F4aIkwiYk+X7rE/Sys+09PGg1Pr1shwUUkQ==
-
-"@tiptap/extension-subscript@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-subscript/-/extension-subscript-2.0.0-beta.202.tgz#730e0181c5b8d623fb4674d568d5ef4f3bd986d5"
- integrity sha512-s/90xjDJGlWxontzyL0howpdTEbnl5EyvIDDYdAwalnHOGkyfWq8JMxL3klnxUL+Rn10sjatHnEYaLS2A5tN+Q==
-
-"@tiptap/extension-superscript@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-superscript/-/extension-superscript-2.0.0-beta.202.tgz#d756fb63585f8214ce3a7e2333978f2fb68b1259"
- integrity sha512-kDOc+Sf1N5LzKWDBrTYBWaQFG40z3dCt/ljIMDWJt3Vka8ahnH4kcXhW9eNZLeIWavoj+M+4th+CPSfMdAYJbg==
-
-"@tiptap/extension-table-cell@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.0.0-beta.202.tgz#95f3f9c14d4f21122bab109fb82e10b64ca5e613"
- integrity sha512-Ypmcq7zaMSZ0VNKwDPINOsSzyuH+gSIw+FrXy6O1dzVHAo1gNFJ2pEG/ZhQ2RqpDTpGfJFD8tNDx8wjCCAVlxA==
-
-"@tiptap/extension-table-header@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.0.0-beta.202.tgz#e9284abcfbe17c3c1ddfff55bb98873879c9d34a"
- integrity sha512-/l0lz3Hmc+hikj+RfSW7F6B/jYV2dROGQnK1/EYjgbvOK0158ml1mB6/Dhm+BhldV73MI7eU8+3YLB9uhsPR4w==
-"@tiptap/extension-table-row@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.0.0-beta.202.tgz#60cc878e7f7ae4ad82e1013471cb39a4058f9844"
- integrity sha512-IsHBT3lp//XSqcAWPIGWjPIKQ4okVaDJbwcElehlOo/rcRBeK0orT+c10T08PoOsozi4BeMYRo0nfA5tvrJMEw==
-
-"@tiptap/extension-table@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.0.0-beta.202.tgz#841254bf183e84a5b76edb4f1719883c85d51df8"
- integrity sha512-WMfXtDfx45FgU81WnfxGOSJbVoaDpe8hjuBJSGbwJj+Qj4HGhbK7/RbTtDrM8oqseHRzHuGWgNX+EfOUQppjdA==
- dependencies:
- "@_ueberdosis/prosemirror-tables" "1.1.3"
+"@tiptap/extension-list-item@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.0.0-beta.212.tgz#9f0615e1e6ba2acf003bdceb6b375ef3e971cdcc"
+ integrity sha512-I028s1mc60QcYTZ6quWzCBiZpQczTfhWtzoDZ5tsqQrlEENpSo6g1ktHhgw8AyGK1e9w/ZbxQkFqno+HpZLuWw==
+
+"@tiptap/extension-ordered-list@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.0-beta.212.tgz#d4a6682b52162db5e02a8428e5c06d5d711d3ca5"
+ integrity sha512-k6zEpxrZbXcveOXGoNELZcHKqGHlh3MLfUvdVnXy4khcHfevMAXVstma6lPzNmPcCkRpmrKtKykCOn2aTX9IHA==
+
+"@tiptap/extension-paragraph@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.0.0-beta.212.tgz#8aced9ccdcbec9cf2f6f323e4516b1d14d68dc59"
+ integrity sha512-teyjFRLqJwHhxgUv5X3jOt6k4JAzHV+R6rdl5E2DJOJ8IlZxP/gEae2GXBqcidTb8v7GXyPszqyPbaV2iq6oBw==
+
+"@tiptap/extension-strike@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.0.0-beta.212.tgz#0c7ec3f90131e363d8eb5ed28f2939e19eed360a"
+ integrity sha512-/6V2ia4CNzMY7MXMBOBFTXl+sZzD3iMOgBy5U85AQnmYgSqLQR/SinsnaJ9e7Wgd2zUikG1pahdnQ47RoGp/ag==
+
+"@tiptap/extension-subscript@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-subscript/-/extension-subscript-2.0.0-beta.212.tgz#ffb2bd897afb0155eb8238494b1421e657d4a72e"
+ integrity sha512-mr8eqUOvjzVHFGbbDGyyxmUvA2DjM/fEOU7hbsbk7QUdHUU9ohi2zwrPsAlDLdM9hbO7uCHXQtobT4TN9SvJUQ==
+
+"@tiptap/extension-superscript@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-superscript/-/extension-superscript-2.0.0-beta.212.tgz#61d8c7ba8686f0d947914515cd83e711ee542431"
+ integrity sha512-R8DJpSrwa3lMD6UxdU0WRg38wuL8T6Q+mZlYbiByMiLfBkALknCjgJcZuvw6dqQ57qXtSrK717BuM18fYwWGhA==
+
+"@tiptap/extension-table-cell@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.0.0-beta.212.tgz#1a3b89d2933719913d9ea242b066c75771f7761d"
+ integrity sha512-0j8AbVn2B79enX0dZc0cKbgy+4zFD2ICeRbSzOKsDvb3xy4QMX1OQgLUnCk5s3/QqZWdGb3uc/abZbWQGz9fCg==
+
+"@tiptap/extension-table-header@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.0.0-beta.212.tgz#543f6a6c1ed1c17af897cac19fbbaf705579bd10"
+ integrity sha512-N/KnUbH6R+rrjA9GF6G+IUAo0+jaRJJhwvOJVFbrAFQTo0IKq5UZtKzHKqgM4BGvYeeLvovqYA6S4ehXsVTk7A==
+
+"@tiptap/extension-table-row@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.0.0-beta.212.tgz#27a6d87c26fc4a8d4bfe7470f4722586c2b134fc"
+ integrity sha512-QI2LLP/eH7Xe9a5n7o8gRMd3i21xzJBibeRaqfoF88LAAq4bMmnZyQBVX/7RS01IkvewRvWD+kBioQ5GFpmQ0g==
+
+"@tiptap/extension-table@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.0.0-beta.212.tgz#e40c9c0f0c47505bbfbc692874c8fb9d12e30afc"
+ integrity sha512-gVmCcQuTn62nBPYaXqVbJL91+xXU7uHH3+PyaV6eBcUTLkWf2zNNoBzRQ7EeCn55eFUGrJ1fXgLfICuI51TdPg==
+
+"@tiptap/extension-task-item@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-task-item/-/extension-task-item-2.0.0-beta.212.tgz#109232a5bc7d7c5769ac42e581442d0f9d61fb6e"
+ integrity sha512-dl5YA4SuAGznCc//v7wktIWE0MJAZ3JsTs25frLx8vDBvqV1jwkT+xg4phlxoqla7EIpqoJI3BDdE2kh2KbNlA==
+
+"@tiptap/extension-task-list@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-task-list/-/extension-task-list-2.0.0-beta.212.tgz#4ba2e7505e1096efea9789d22e4eb7b06d42dfb2"
+ integrity sha512-hsagYH0UjjshKvqdBCN3IP2pwhu3FSbt8ACTkZAQylItsrVEu6qsrEJ2VKn+7GZee8Wii6EhY2ghTdTzpwVNvA==
+
+"@tiptap/extension-text@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.0.0-beta.212.tgz#5ae31b98cbe65b59c10a5da1656160f5f504dcab"
+ integrity sha512-KesuaSB6m1AI1G37LTdscE/RLgtqfxD29CCUqlPfUeM05gYyMwRsW0421yuaXJQC0UOHwdLok9SfFRQErhC23w==
+
+"@tiptap/pm@^2.0.0-beta.212":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.0.0-beta.212.tgz#ea9f6c60301d6a329ee921793e94676d5fbb3abc"
+ integrity sha512-TyGooU5in2r+cCbSivWBpeMODOCZFzJ0bxn3rJeoLxycId5UOd2dHE2chEQ5X6MsAukjscV+uMdUK6CrNRoA3w==
+ dependencies:
+ prosemirror-changeset "^2.2.0"
+ prosemirror-collab "^1.3.0"
+ prosemirror-commands "^1.3.1"
+ prosemirror-dropcursor "^1.5.0"
+ prosemirror-gapcursor "^1.3.1"
+ prosemirror-history "^1.3.0"
+ prosemirror-inputrules "^1.2.0"
+ prosemirror-keymap "^1.2.0"
+ prosemirror-markdown "^1.10.1"
+ prosemirror-menu "^1.2.1"
prosemirror-model "^1.18.1"
+ prosemirror-schema-basic "^1.2.0"
+ prosemirror-schema-list "^1.2.2"
prosemirror-state "^1.4.1"
+ prosemirror-tables "^1.3.0"
+ prosemirror-trailing-node "^2.0.2"
+ prosemirror-transform "^1.7.0"
prosemirror-view "^1.28.2"
-"@tiptap/extension-task-item@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-task-item/-/extension-task-item-2.0.0-beta.202.tgz#350fd2d823300bd9e64a56c98404bbcffe802f08"
- integrity sha512-yOd72ELIr/NK3wb4SjetFCsTW/YU66LMjUCv6RFxgbcPtTN3auoaCelyo1l7EZSZmWbovR7G2QOiG1fQmfNgMg==
-
-"@tiptap/extension-task-list@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-task-list/-/extension-task-list-2.0.0-beta.202.tgz#b2484ca0507f1d8b413e7f2967f4b71afefa91a9"
- integrity sha512-0E7hL2+vVeBm1khONomqk4Lac/LcQfKYesLvzLhjHOEuC7t8wTt7sZxI407b87YnQ+l8dsZey0vrcmV2/Wi4YQ==
-
-"@tiptap/extension-text@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.0.0-beta.202.tgz#d0152f547572a14c4e0e88287acb2b0c311fef04"
- integrity sha512-6UsfU9xvKTxHfZYxVJy5DSQ0ibnhC403KLRQ4ePwpJql0TotBx93/CBfPCVLFEwF86HNhf1fFUCx+j2wuwVxmA==
-
-"@tiptap/suggestion@^2.0.0-beta.202":
- version "2.0.0-beta.202"
- resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.0.0-beta.202.tgz#f0bc6a6712aeea266d7ed156c7c70ad29fb864e5"
- integrity sha512-V2BepOUj3ycvogOZE/nY9q2J4Hm1oH44YhOkqHB+QFQeOu6vqhFRqgGniJji52z2tAF+dvydSpQEzG+uCf2MEA==
- dependencies:
- prosemirror-model "^1.18.1"
- prosemirror-state "^1.4.1"
- prosemirror-view "^1.28.2"
+"@tiptap/suggestion@^2.0.0-beta.210":
+ version "2.0.0-beta.212"
+ resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.0.0-beta.212.tgz#205906991b52a45829143e7f2947bfb24868b8c1"
+ integrity sha512-BcTz+4qA1lgBqzxQr1hwdBDaRECn5beGaRCYOxz3A3yce94S9EDnCXIcPXp2VS/auLDXmpGGmjHCStZmFWlcrg==
"@tiptap/vue-2@2.0.0-beta.200":
version "2.0.0-beta.200"
@@ -2233,6 +2330,11 @@
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
+"@trysound/sax@0.2.0":
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad"
+ integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
+
"@tsconfig/node10@^1.0.7":
version "1.0.9"
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
@@ -2470,6 +2572,16 @@
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
+"@types/object.omit@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@types/object.omit/-/object.omit-3.0.0.tgz#0d31e1208eac8fe2ad5c9499a1016a8273bbfafc"
+ integrity sha512-I27IoPpH250TUzc9FzXd0P1BV/BMJuzqD3jOz98ehf9dQqGkxlq+hO1bIqZGWqCg5bVOy0g4AUVJtnxe0klDmw==
+
+"@types/object.pick@^1.3.1":
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/@types/object.pick/-/object.pick-1.3.2.tgz#9eb28118240ad8f658b9c9c6caf35359fdb37150"
+ integrity sha512-sn7L+qQ6RLPdXRoiaE7bZ/Ek+o4uICma/lBFPyJEKDTPTBP1W8u0c4baj3EiS4DiqLs+Hk+KUGvMVJtAw3ePJg==
+
"@types/parse-json@^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
@@ -2542,6 +2654,11 @@
resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1"
integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==
+"@types/throttle-debounce@^2.1.0":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz#1c3df624bfc4b62f992d3012b84c56d41eab3776"
+ integrity sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==
+
"@types/tough-cookie@*":
version "4.0.2"
resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.2.tgz#6286b4c7228d58ab7866d19716f3696e03a09397"
@@ -2631,6 +2748,62 @@
"@typescript-eslint/types" "5.38.0"
eslint-visitor-keys "^3.3.0"
+"@vitejs/plugin-vue2@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue2/-/plugin-vue2-1.1.2.tgz#891f0acc5a6a2b4886a74cb8d6359d42f19f968a"
+ integrity sha512-y6OEA+2UdJ0xrEQHodq20v9r3SpS62IOHrgN92JPLvVpNkhcissu7yvD5PXMzMESyazj0XNWGsc8UQk8+mVrjQ==
+
+"@vue/compiler-core@3.2.37":
+ version "3.2.37"
+ resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.37.tgz#b3c42e04c0e0f2c496ff1784e543fbefe91e215a"
+ integrity sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==
+ dependencies:
+ "@babel/parser" "^7.16.4"
+ "@vue/shared" "3.2.37"
+ estree-walker "^2.0.2"
+ source-map "^0.6.1"
+
+"@vue/compiler-dom@3.2.37":
+ version "3.2.37"
+ resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz#10d2427a789e7c707c872da9d678c82a0c6582b5"
+ integrity sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==
+ dependencies:
+ "@vue/compiler-core" "3.2.37"
+ "@vue/shared" "3.2.37"
+
+"@vue/compiler-sfc@2.7.10":
+ version "2.7.10"
+ resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-2.7.10.tgz#3fe08e780053a3bbf41328c65ae5dfdee0385206"
+ integrity sha512-55Shns6WPxlYsz4WX7q9ZJBL77sKE1ZAYNYStLs6GbhIOMrNtjMvzcob6gu3cGlfpCR4bT7NXgyJ3tly2+Hx8Q==
+ dependencies:
+ "@babel/parser" "^7.18.4"
+ postcss "^8.4.14"
+ source-map "^0.6.1"
+
+"@vue/compiler-sfc@^3.2.20":
+ version "3.2.37"
+ resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz#3103af3da2f40286edcd85ea495dcb35bc7f5ff4"
+ integrity sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==
+ dependencies:
+ "@babel/parser" "^7.16.4"
+ "@vue/compiler-core" "3.2.37"
+ "@vue/compiler-dom" "3.2.37"
+ "@vue/compiler-ssr" "3.2.37"
+ "@vue/reactivity-transform" "3.2.37"
+ "@vue/shared" "3.2.37"
+ estree-walker "^2.0.2"
+ magic-string "^0.25.7"
+ postcss "^8.1.10"
+ source-map "^0.6.1"
+
+"@vue/compiler-ssr@3.2.37":
+ version "3.2.37"
+ resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz#4899d19f3a5fafd61524a9d1aee8eb0505313cff"
+ integrity sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==
+ dependencies:
+ "@vue/compiler-dom" "3.2.37"
+ "@vue/shared" "3.2.37"
+
"@vue/component-compiler-utils@^3.1.0":
version "3.3.0"
resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz#f9f5fb53464b0c37b2c8d2f3fbfe44df60f61dc9"
@@ -2647,6 +2820,22 @@
optionalDependencies:
prettier "^1.18.2 || ^2.0.0"
+"@vue/reactivity-transform@3.2.37":
+ version "3.2.37"
+ resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz#0caa47c4344df4ae59f5a05dde2a8758829f8eca"
+ integrity sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==
+ dependencies:
+ "@babel/parser" "^7.16.4"
+ "@vue/compiler-core" "3.2.37"
+ "@vue/shared" "3.2.37"
+ estree-walker "^2.0.2"
+ magic-string "^0.25.7"
+
+"@vue/shared@3.2.37":
+ version "3.2.37"
+ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.37.tgz#8e6adc3f2759af52f0e85863dfb0b711ecc5c702"
+ integrity sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==
+
"@vue/test-utils@1.3.0":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.3.0.tgz#d563decdcd9c68a7bca151d4179a2bfd6d5c3e15"
@@ -3196,6 +3385,18 @@ atob@^2.1.2:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+autoprefixer@^10.4.8:
+ version "10.4.8"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5"
+ integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==
+ dependencies:
+ browserslist "^4.21.3"
+ caniuse-lite "^1.0.30001373"
+ fraction.js "^4.2.0"
+ normalize-range "^0.1.2"
+ picocolors "^1.0.0"
+ postcss-value-parser "^4.2.0"
+
autosize@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/autosize/-/autosize-5.0.1.tgz#ed269b0fa9b7eb47627048a1bb3299e99e003a0f"
@@ -3437,11 +3638,16 @@ bootstrap-vue@2.20.1:
portal-vue "^2.1.7"
vue-functional-data-merge "^3.1.0"
-bootstrap@4.5.3, "bootstrap@>=4.5.3 <5.0.0":
+bootstrap@4.5.3:
version "4.5.3"
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.5.3.tgz#c6a72b355aaf323920be800246a6e4ef30997fe6"
integrity sha512-o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ==
+"bootstrap@>=4.5.3 <5.0.0":
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.6.2.tgz#8e0cd61611728a5bf65a3a2b8d6ff6c77d5d7479"
+ integrity sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==
+
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -3725,16 +3931,21 @@ camelcase@^6.2.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-caniuse-lite@^1.0.30001370:
- version "1.0.30001388"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001388.tgz#88e01f4591cbd81f9f665f3f078c66b509fbe55d"
- integrity sha512-znVbq4OUjqgLxMxoNX2ZeeLR0d7lcDiE5uJ4eUiWdml1J1EkxbnQq6opT9jb9SMfJxB0XA16/ziHwni4u1I3GQ==
+caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373:
+ version "1.0.30001375"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001375.tgz#8e73bc3d1a4c800beb39f3163bf0190d7e5d7672"
+ integrity sha512-kWIMkNzLYxSvnjy0hL8w1NOaWNr2rn39RTAVyIwcw8juu60bZDWiF1/loOYANzjtJmy6qPgNmn38ro5Pygagdw==
canvas-confetti@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/canvas-confetti/-/canvas-confetti-1.4.0.tgz#840f6db4a566f8f32abe28c00dcd82acf39c92bd"
integrity sha512-S18o4Y9PqI/uabdlT/jI3MY7XBJjNxnfapFIkjkMwpz6qNxLFZOm2b22OMf4ZYDL9lpNWI+Ih4fEMVPwO1KHFQ==
+case-anything@^2.1.10:
+ version "2.1.10"
+ resolved "https://registry.yarnpkg.com/case-anything/-/case-anything-2.1.10.tgz#d18a6ca968d54ec3421df71e3e190f3bced23410"
+ integrity sha512-JczJwVrCP0jPKh05McyVsuOg6AYosrB9XWZKbQzXeDAm2ClE/PJE/BcrrQrVyGYH7Jg8V/LDupmyL4kFlVsVFQ==
+
ccount@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5"
@@ -4246,6 +4457,11 @@ create-require@^1.1.0:
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
+crelt@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.5.tgz#57c0d52af8c859e354bace1883eb2e1eb182bb94"
+ integrity sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==
+
cron-validator@^1.1.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/cron-validator/-/cron-validator-1.2.1.tgz#0f0de2de36d231a6ace0e43ffc6c0564fe6edf1a"
@@ -4357,6 +4573,17 @@ css-select@^4.1.2:
domutils "^2.6.0"
nth-check "^2.0.0"
+css-select@^4.1.3:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b"
+ integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^6.0.1"
+ domhandler "^4.3.1"
+ domutils "^2.8.0"
+ nth-check "^2.0.1"
+
css-selector-parser@^1.3:
version "1.3.0"
resolved "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-1.3.0.tgz#5f1ad43e2d8eefbfdc304fcd39a521664943e3eb"
@@ -4367,6 +4594,14 @@ css-shorthand-properties@^1.0.0:
resolved "https://registry.yarnpkg.com/css-shorthand-properties/-/css-shorthand-properties-1.1.1.tgz#1c808e63553c283f289f2dd56fcee8f3337bd935"
integrity sha512-Md+Juc7M3uOdbAFwOYlTrccIZ7oCFuzrhKYQjdeUEW/sE1hv17Jp/Bws+ReOPpGVBTYCBoYo+G17V5Qo8QQ75A==
+css-tree@^1.1.2, css-tree@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
+ integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
+ dependencies:
+ mdn-data "2.0.14"
+ source-map "^0.6.1"
+
css-tree@^2.0.1:
version "2.1.0"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.1.0.tgz#170e27ccf94e7c5facb183765c25898be843d1d2"
@@ -4389,6 +4624,11 @@ css-what@^5.0.0:
resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe"
integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==
+css-what@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
+ integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
+
cssesc@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
@@ -4399,6 +4639,13 @@ cssfontparser@^1.2.1:
resolved "https://registry.yarnpkg.com/cssfontparser/-/cssfontparser-1.2.1.tgz#f4022fc8f9700c68029d542084afbaf425a3f3e3"
integrity sha1-9AIvyPlwDGgCnVQghK+69CWj8+M=
+csso@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529"
+ integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
+ dependencies:
+ css-tree "^1.1.2"
+
cssom@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36"
@@ -4416,6 +4663,11 @@ cssstyle@^2.3.0:
dependencies:
cssom "~0.3.6"
+csstype@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2"
+ integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==
+
custom-jquery-matchers@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/custom-jquery-matchers/-/custom-jquery-matchers-2.1.0.tgz#e5988fa9715c416b0986b372563f872d9e91e024"
@@ -4944,6 +5196,11 @@ dagre@^0.8.5:
graphlib "^2.1.8"
lodash "^4.17.15"
+dash-get@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/dash-get/-/dash-get-1.0.2.tgz#4c9e9ad5ef04c4bf9d3c9a451f6f7997298dcc7c"
+ integrity sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ==
+
data-urls@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143"
@@ -5266,6 +5523,13 @@ domhandler@^4.0.0, domhandler@^4.2.0:
dependencies:
domelementtype "^2.2.0"
+domhandler@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c"
+ integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
+ dependencies:
+ domelementtype "^2.2.0"
+
dommatrix@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/dommatrix/-/dommatrix-1.0.3.tgz#e7c18e8d6f3abdd1fef3dd4aa74c4d2e620a0525"
@@ -5290,6 +5554,15 @@ domutils@^2.5.2, domutils@^2.6.0:
domelementtype "^2.2.0"
domhandler "^4.2.0"
+domutils@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
+ integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+ dependencies:
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+
dropzone@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/dropzone/-/dropzone-4.2.0.tgz#fbe7acbb9918e0706489072ef663effeef8a79f3"
@@ -5339,9 +5612,9 @@ ee-first@1.1.1:
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
electron-to-chromium@^1.4.202:
- version "1.4.230"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.230.tgz#666909fdf5765acb1348b69752ee9955dc1664b7"
- integrity sha512-3pwjAK0qHSDN9+YAF4fJknsSruP7mpjdWzUSruIJD/JCH77pEh0SorEyb3xVaKkfwk2tzjOt2D8scJ0KAdfXLA==
+ version "1.4.217"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.217.tgz#f1f51b319435f4c1587a850806a0dfebe9774598"
+ integrity sha512-iX8GbAMij7cOtJPZo02CClpaPMWjvN5meqXiJXkBgwvraNWTNH0Z7F9tkznI34JRPtWASoPM/xWamq3oNb49GA==
elliptic@^6.0.0:
version "6.5.4"
@@ -5504,6 +5777,76 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
+esbuild-android-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be"
+ integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==
+
+esbuild-android-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771"
+ integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==
+
+esbuild-darwin-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25"
+ integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==
+
+esbuild-darwin-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73"
+ integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==
+
+esbuild-freebsd-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d"
+ integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==
+
+esbuild-freebsd-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48"
+ integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==
+
+esbuild-linux-32@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5"
+ integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==
+
+esbuild-linux-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652"
+ integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==
+
+esbuild-linux-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b"
+ integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==
+
+esbuild-linux-arm@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59"
+ integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==
+
+esbuild-linux-mips64le@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34"
+ integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==
+
+esbuild-linux-ppc64le@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e"
+ integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==
+
+esbuild-linux-riscv64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8"
+ integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==
+
+esbuild-linux-s390x@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6"
+ integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==
+
esbuild-loader@^2.21.0:
version "2.21.0"
resolved "https://registry.yarnpkg.com/esbuild-loader/-/esbuild-loader-2.21.0.tgz#2698a3e565b0db2bb19a3dd91c2b6c9aad526c80"
@@ -5516,6 +5859,36 @@ esbuild-loader@^2.21.0:
tapable "^2.2.0"
webpack-sources "^1.4.3"
+esbuild-netbsd-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81"
+ integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==
+
+esbuild-openbsd-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b"
+ integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==
+
+esbuild-sunos-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da"
+ integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==
+
+esbuild-windows-32@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31"
+ integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==
+
+esbuild-windows-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4"
+ integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==
+
+esbuild-windows-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982"
+ integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==
+
esbuild@0.17.4:
version "0.17.4"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.4.tgz#af4f8f78604c67f8e6afbdee36a3f4211ecfc859"
@@ -5544,7 +5917,34 @@ esbuild@0.17.4:
"@esbuild/win32-ia32" "0.17.4"
"@esbuild/win32-x64" "0.17.4"
-esbuild@^0.16.17:
+esbuild@^0.14.14:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2"
+ integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==
+ optionalDependencies:
+ "@esbuild/linux-loong64" "0.14.54"
+ esbuild-android-64 "0.14.54"
+ esbuild-android-arm64 "0.14.54"
+ esbuild-darwin-64 "0.14.54"
+ esbuild-darwin-arm64 "0.14.54"
+ esbuild-freebsd-64 "0.14.54"
+ esbuild-freebsd-arm64 "0.14.54"
+ esbuild-linux-32 "0.14.54"
+ esbuild-linux-64 "0.14.54"
+ esbuild-linux-arm "0.14.54"
+ esbuild-linux-arm64 "0.14.54"
+ esbuild-linux-mips64le "0.14.54"
+ esbuild-linux-ppc64le "0.14.54"
+ esbuild-linux-riscv64 "0.14.54"
+ esbuild-linux-s390x "0.14.54"
+ esbuild-netbsd-64 "0.14.54"
+ esbuild-openbsd-64 "0.14.54"
+ esbuild-sunos-64 "0.14.54"
+ esbuild-windows-32 "0.14.54"
+ esbuild-windows-64 "0.14.54"
+ esbuild-windows-arm64 "0.14.54"
+
+esbuild@^0.16.14, esbuild@^0.16.17:
version "0.16.17"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259"
integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==
@@ -5884,6 +6284,16 @@ estraverse@^5.1.0, estraverse@^5.2.0:
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
+estree-walker@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
+ integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==
+
+estree-walker@^2.0.1, estree-walker@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+ integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
esutils@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
@@ -6300,6 +6710,11 @@ forwarded@0.2.0:
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
+fraction.js@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
+ integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
+
fragment-cache@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
@@ -6627,7 +7042,7 @@ graphql-sse@^1.0.1:
resolved "https://registry.yarnpkg.com/graphql-sse/-/graphql-sse-1.0.4.tgz#051598b0e06c225327aac659f19fcc18bcaa0191"
integrity sha512-oB43ifRcEdElgep9jTP9qsj5cJ7Ny/1tAFyIl1W3A0hXRRg/P71tUHzMFBrRkEsJ9IA7MTp+RKSJfh52QR6PBQ==
-graphql-tag@^2.11.0, graphql-tag@^2.12.3:
+graphql-tag@^2.11.0, graphql-tag@^2.12.3, graphql-tag@^2.2.2:
version "2.12.6"
resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1"
integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==
@@ -6845,7 +7260,7 @@ hastscript@^7.0.0:
property-information "^6.0.0"
space-separated-tokens "^2.0.0"
-he@^1.1.0:
+he@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
@@ -7266,13 +7681,20 @@ is-ci@^2.0.0:
dependencies:
ci-info "^2.0.0"
-is-core-module@^2.11.0, is-core-module@^2.5.0, is-core-module@^2.7.0, is-core-module@^2.9.0:
+is-core-module@^2.11.0, is-core-module@^2.9.0:
version "2.11.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
dependencies:
has "^1.0.3"
+is-core-module@^2.5.0, is-core-module@^2.7.0:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
+ integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
+ dependencies:
+ has "^1.0.3"
+
is-data-descriptor@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
@@ -7320,7 +7742,7 @@ is-extendable@^0.1.0, is-extendable@^0.1.1:
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
-is-extendable@^1.0.1:
+is-extendable@^1.0.0, is-extendable@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
@@ -8247,7 +8669,7 @@ loader-runner@^2.4.0:
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
-loader-utils@^1.0.0, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3:
+loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
@@ -8470,6 +8892,13 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
+magic-string@^0.25.3, magic-string@^0.25.7:
+ version "0.25.9"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
+ integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
+ dependencies:
+ sourcemap-codec "^1.4.8"
+
make-dir@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
@@ -8485,7 +8914,7 @@ make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
dependencies:
semver "^6.0.0"
-make-error@^1.1.1:
+make-error@^1.1.1, make-error@^1.3.6:
version "1.3.6"
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
@@ -8720,6 +9149,11 @@ mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0:
resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz#56c506d065fbf769515235e577b5a261552d56e9"
integrity sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==
+mdn-data@2.0.14:
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50"
+ integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
+
mdn-data@2.0.27:
version "2.0.27"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.27.tgz#1710baa7b0db8176d3b3d565ccb7915fc69525ab"
@@ -9596,6 +10030,11 @@ normalize-path@^3.0.0, normalize-path@~3.0.0:
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+normalize-range@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
+ integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
+
npm-run-path@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
@@ -9665,6 +10104,13 @@ object.entries@^1.1.5:
define-properties "^1.1.3"
es-abstract "^1.19.1"
+object.omit@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-3.0.0.tgz#0e3edc2fce2ba54df5577ff529f6d97bd8a522af"
+ integrity sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ==
+ dependencies:
+ is-extendable "^1.0.0"
+
object.pick@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
@@ -10016,7 +10462,7 @@ picocolors@^1.0.0:
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1:
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
@@ -10145,7 +10591,7 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-postcss@8.4.14, postcss@^8.2.1, postcss@^8.4.14:
+postcss@8.4.14, postcss@^8.2.1:
version "8.4.14"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
@@ -10162,6 +10608,33 @@ postcss@^7.0.14, postcss@^7.0.36, postcss@^7.0.5, postcss@^7.0.6:
picocolors "^0.2.1"
source-map "^0.6.1"
+postcss@^8.1.10:
+ version "8.4.16"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c"
+ integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==
+ dependencies:
+ nanoid "^3.3.4"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.2"
+
+postcss@^8.4.14:
+ version "8.4.19"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc"
+ integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==
+ dependencies:
+ nanoid "^3.3.4"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.2"
+
+postcss@^8.4.21:
+ version "8.4.21"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4"
+ integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
+ dependencies:
+ nanoid "^3.3.4"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.2"
+
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
@@ -10251,19 +10724,33 @@ property-information@^6.0.0:
resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.1.1.tgz#5ca85510a3019726cb9afed4197b7b8ac5926a22"
integrity sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==
-prosemirror-commands@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.3.1.tgz#926c88801eebaa50363d4658850b41406d375a31"
- integrity sha512-XTporPgoECkOQACVw0JTe3RZGi+fls3/byqt+tXwGTkD7qLuB4KdVrJamDMJf4kfKga3uB8hZ+kUUyZ5oWpnfg==
+prosemirror-changeset@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/prosemirror-changeset/-/prosemirror-changeset-2.2.0.tgz#22c05da271a118be40d3e339fa2cace789b1254b"
+ integrity sha512-QM7ohGtkpVpwVGmFb8wqVhaz9+6IUXcIQBGZ81YNAKYuHiFJ1ShvSzab4pKqTinJhwciZbrtBEk/2WsqSt2PYg==
+ dependencies:
+ prosemirror-transform "^1.0.0"
+
+prosemirror-collab@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/prosemirror-collab/-/prosemirror-collab-1.3.0.tgz#601d33473bf72e6c43041a54b860c84c60b37769"
+ integrity sha512-+S/IJ69G2cUu2IM5b3PBekuxs94HO1CxJIWOFrLQXUaUDKL/JfBx+QcH31ldBlBXyDEUl+k3Vltfi1E1MKp2mA==
+ dependencies:
+ prosemirror-state "^1.0.0"
+
+prosemirror-commands@^1.0.0, prosemirror-commands@^1.3.1:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.5.0.tgz#d10efece1647c1d984fef6f65d52fdc77785560b"
+ integrity sha512-zL0Fxbj3fh71GPNHn5YdYgYGX2aU2XLecZYk2ekEF0oOD259HcXtM+96VjPVi5o3h4sGUdDfEEhGiREXW6U+4A==
dependencies:
prosemirror-model "^1.0.0"
prosemirror-state "^1.0.0"
prosemirror-transform "^1.0.0"
-prosemirror-dropcursor@1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/prosemirror-dropcursor/-/prosemirror-dropcursor-1.5.0.tgz#edbc61d6f71f9f924130eec8e85b0861357957c9"
- integrity sha512-vy7i77ddKyXlu8kKBB3nlxLBnsWyKUmQIPB5x8RkYNh01QNp/qqGmdd5yZefJs0s3rtv5r7Izfu2qbtr+tYAMQ==
+prosemirror-dropcursor@^1.5.0:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/prosemirror-dropcursor/-/prosemirror-dropcursor-1.6.1.tgz#31f696172105f232bd17543ccf305e0f33e59d1d"
+ integrity sha512-LtyqQpkIknaT7NnZl3vDr3TpkNcG4ABvGRXx37XJ8tJNUGtcrZBh40A0344rDwlRTfUEmynQS/grUsoSWz+HgA==
dependencies:
prosemirror-state "^1.0.0"
prosemirror-transform "^1.1.0"
@@ -10279,7 +10766,7 @@ prosemirror-gapcursor@^1.3.1:
prosemirror-state "^1.0.0"
prosemirror-view "^1.0.0"
-prosemirror-history@^1.3.0:
+prosemirror-history@^1.0.0, prosemirror-history@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.3.0.tgz#bf5a1ff7759aca759ddf0c722c2fa5b14fb0ddc1"
integrity sha512-qo/9Wn4B/Bq89/YD+eNWFbAytu6dmIM85EhID+fz9Jcl9+DfGEo8TTSrRhP15+fFEoaPqpHSxlvSzSEbmlxlUA==
@@ -10288,6 +10775,14 @@ prosemirror-history@^1.3.0:
prosemirror-transform "^1.0.0"
rope-sequence "^1.3.0"
+prosemirror-inputrules@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/prosemirror-inputrules/-/prosemirror-inputrules-1.2.0.tgz#476dde2dc244050b3aca00cf58a82adfad6749e7"
+ integrity sha512-eAW/M/NTSSzpCOxfR8Abw6OagdG0MiDAiWHQMQveIsZtoKVYzm0AflSPq/ymqJd56/Su1YPbwy9lM13wgHOFmQ==
+ dependencies:
+ prosemirror-state "^1.0.0"
+ prosemirror-transform "^1.0.0"
+
prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.1.2, prosemirror-keymap@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/prosemirror-keymap/-/prosemirror-keymap-1.2.0.tgz#d5cc9da9b712020690a994b50b92a0e448a60bf5"
@@ -10304,6 +10799,24 @@ prosemirror-markdown@1.9.1:
markdown-it "^13.0.1"
prosemirror-model "^1.0.0"
+prosemirror-markdown@^1.10.1:
+ version "1.10.1"
+ resolved "https://registry.yarnpkg.com/prosemirror-markdown/-/prosemirror-markdown-1.10.1.tgz#e20468201cda1916a6182686159398b242bb78ab"
+ integrity sha512-s7iaTLiX+qO5z8kF2NcMmy2T7mIlxzkS4Sp3vTKSYChPtbMpg6YxFkU0Y06rUg2WtKlvBu7v1bXzlGBkfjUWAA==
+ dependencies:
+ markdown-it "^13.0.1"
+ prosemirror-model "^1.0.0"
+
+prosemirror-menu@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/prosemirror-menu/-/prosemirror-menu-1.2.1.tgz#94d99a8547b7ba5680c20e9c497ce19846ce3b2c"
+ integrity sha512-sBirXxVfHalZO4f1ZS63WzewINK4182+7dOmoMeBkqYO8wqMBvBS7wQuwVOHnkMWPEh0+N0LJ856KYUN+vFkmQ==
+ dependencies:
+ crelt "^1.0.0"
+ prosemirror-commands "^1.0.0"
+ prosemirror-history "^1.0.0"
+ prosemirror-state "^1.0.0"
+
prosemirror-model@^1.0.0, prosemirror-model@^1.16.0, prosemirror-model@^1.18.1, prosemirror-model@^1.2.0, prosemirror-model@^1.8.1:
version "1.18.1"
resolved "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.18.1.tgz#1d5d6b6de7b983ee67a479dc607165fdef3935bd"
@@ -10327,7 +10840,7 @@ prosemirror-schema-list@^1.0.0, prosemirror-schema-list@^1.2.2:
prosemirror-state "^1.0.0"
prosemirror-transform "^1.0.0"
-prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.3.1, prosemirror-state@^1.4.1:
+prosemirror-state@^1.0.0, prosemirror-state@^1.3.1, prosemirror-state@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/prosemirror-state/-/prosemirror-state-1.4.1.tgz#f6e26c7b6a7e11206176689eb6ebbf91870953e1"
integrity sha512-U/LBDW2gNmVa07sz/D229XigSdDQ5CLFwVB1Vb32MJbAHHhWe/6pOc721faI17tqw4pZ49i1xfY/jEZ9tbIhPg==
@@ -10335,6 +10848,26 @@ prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.3.1, pr
prosemirror-model "^1.0.0"
prosemirror-transform "^1.0.0"
+prosemirror-state@^1.2.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/prosemirror-state/-/prosemirror-state-1.4.2.tgz#f93bd8a33a4454efab917ba9b738259d828db7e5"
+ integrity sha512-puuzLD2mz/oTdfgd8msFbe0A42j5eNudKAAPDB0+QJRw8cO1ygjLmhLrg9RvDpf87Dkd6D4t93qdef00KKNacQ==
+ dependencies:
+ prosemirror-model "^1.0.0"
+ prosemirror-transform "^1.0.0"
+ prosemirror-view "^1.27.0"
+
+prosemirror-tables@^1.3.0:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/prosemirror-tables/-/prosemirror-tables-1.3.2.tgz#ca208c6a55d510af14b652d23e800e00ba6bebd4"
+ integrity sha512-/9JTeN6s58Zq66HXaxP6uf8PAmc7XXKZFPlOGVtLvxEd6xBP6WtzaJB9wBjiGUzwbdhdMEy7V62yuHqk/3VrnQ==
+ dependencies:
+ prosemirror-keymap "^1.1.2"
+ prosemirror-model "^1.8.1"
+ prosemirror-state "^1.3.1"
+ prosemirror-transform "^1.2.1"
+ prosemirror-view "^1.13.3"
+
prosemirror-test-builder@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/prosemirror-test-builder/-/prosemirror-test-builder-1.1.0.tgz#70d0b10d56e45dff47e0e4b0a1b29c4403a5d9e6"
@@ -10344,14 +10877,40 @@ prosemirror-test-builder@^1.1.0:
prosemirror-schema-basic "^1.0.0"
prosemirror-schema-list "^1.0.0"
-prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transform@^1.2.1, prosemirror-transform@^1.7.0:
+prosemirror-trailing-node@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/prosemirror-trailing-node/-/prosemirror-trailing-node-2.0.3.tgz#213fc0e545a434ff3c37b5218a0de69561bf3892"
+ integrity sha512-lGrjMrn97KWkjQSW/FjdvnhJmqFACmQIyr6lKYApvHitDnKsCoZz6XzrHB7RZYHni/0NxQmZ01p/2vyK2SkvaA==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+ "@remirror/core-constants" "^2.0.0"
+ "@remirror/core-helpers" "^2.0.1"
+ escape-string-regexp "^4.0.0"
+
+prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transform@^1.2.1:
version "1.7.0"
resolved "https://registry.yarnpkg.com/prosemirror-transform/-/prosemirror-transform-1.7.0.tgz#a8a0768f3ee6418d26ebef435beda9d43c65e472"
integrity sha512-O4T697Cqilw06Zvc3Wm+e237R6eZtJL/xGMliCi+Uo8VL6qHk6afz1qq0zNjT3eZMuYwnP8ZS0+YxX/tfcE9TQ==
dependencies:
prosemirror-model "^1.0.0"
-prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.3, prosemirror-view@^1.28.2:
+prosemirror-transform@^1.7.0:
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/prosemirror-transform/-/prosemirror-transform-1.7.1.tgz#b516e818c3add0bdf960f4ca8ccb9d057a3ba21b"
+ integrity sha512-VteoifAfpt46z0yEt6Fc73A5OID9t/y2QIeR5MgxEwTuitadEunD/V0c9jQW8ziT8pbFM54uTzRLJ/nLuQjMxg==
+ dependencies:
+ prosemirror-model "^1.0.0"
+
+prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.27.0:
+ version "1.30.1"
+ resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.30.1.tgz#7cf0ae8dc8553a02c32961e82eca25079c4d8fc9"
+ integrity sha512-pZUfr7lICJkEY7XwzldAKrkflZDeIvnbfuu2RIS01N5NwJmR/dfZzDzJRzhb3SM2QtT/bM8b4Nnib8X3MGpAhA==
+ dependencies:
+ prosemirror-model "^1.16.0"
+ prosemirror-state "^1.0.0"
+ prosemirror-transform "^1.1.0"
+
+prosemirror-view@^1.13.3, prosemirror-view@^1.28.2:
version "1.28.2"
resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.28.2.tgz#e997ef9dc623d01afd170e328fc924e6f4382003"
integrity sha512-uK28mJbu0GI8Oz7Aclt6BKL4g+C59EBShBXDB0Y9Y71H25p4bQgmLQLfDWjsT1J9XOw0bR8QQajZmdK8RvXI9g==
@@ -10851,10 +11410,40 @@ robust-predicates@^3.0.0:
resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.1.tgz#ecde075044f7f30118682bd9fb3f123109577f9a"
integrity sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==
+rollup-plugin-inject@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz#e4233855bfba6c0c12a312fd6649dff9a13ee9f4"
+ integrity sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==
+ dependencies:
+ estree-walker "^0.6.1"
+ magic-string "^0.25.3"
+ rollup-pluginutils "^2.8.1"
+
+rollup-plugin-node-polyfills@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz#53092a2744837164d5b8a28812ba5f3ff61109fd"
+ integrity sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==
+ dependencies:
+ rollup-plugin-inject "^3.0.0"
+
+rollup-pluginutils@^2.8.1:
+ version "2.8.2"
+ resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e"
+ integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==
+ dependencies:
+ estree-walker "^0.6.1"
+
+rollup@^3.10.0:
+ version "3.14.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.14.0.tgz#f5925255f3b6e8de1dba3916d7619c7da5708d95"
+ integrity sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q==
+ optionalDependencies:
+ fsevents "~2.3.2"
+
rope-sequence@^1.3.0:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/rope-sequence/-/rope-sequence-1.3.2.tgz#a19e02d72991ca71feb6b5f8a91154e48e3c098b"
- integrity sha512-ku6MFrwEVSVmXLvy3dYph3LAMNS0890K7fabn+0YIRQ2T96T9F4gkFf0vf0WW0JUraNWwGRtInEpH7yO4tbQZg==
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/rope-sequence/-/rope-sequence-1.3.3.tgz#3f67fc106288b84b71532b4a5fd9d4881e4457f0"
+ integrity sha512-85aZYCxweiD5J8yTEbw+E6A27zSnLPNDL0WfPdw3YYodq7WjnTKo0q4dtyQ2gz23iPT8Q9CUyJtAaUNcTxRf5Q==
route-recognizer@^0.3.3:
version "0.3.4"
@@ -10951,14 +11540,6 @@ saxes@^5.0.1:
dependencies:
xmlchars "^2.2.0"
-schema-utils@^0.4.0:
- version "0.4.7"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187"
- integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==
- dependencies:
- ajv "^6.1.0"
- ajv-keywords "^3.1.0"
-
schema-utils@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
@@ -11064,16 +11645,6 @@ send@0.17.2:
range-parser "~1.2.1"
statuses "~1.5.0"
-"sentrybrowser5@npm:@sentry/browser@5.30.0":
- version "5.30.0"
- resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.30.0.tgz#c28f49d551db3172080caef9f18791a7fd39e3b3"
- integrity sha512-rOb58ZNVJWh1VuMuBG1mL9r54nZqKeaIlwSlvzJfc89vyfd7n6tQ1UXMN383QBz/MS5H5z44Hy5eE+7pCrYAfw==
- dependencies:
- "@sentry/core" "5.30.0"
- "@sentry/types" "5.30.0"
- "@sentry/utils" "5.30.0"
- tslib "^1.9.3"
-
"sentrybrowser7@npm:@sentry/browser@^7.21.1":
version "7.21.1"
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.21.1.tgz#bffa3ea19050c06400107d2297b9802f9719f98b"
@@ -11326,7 +11897,7 @@ source-map-resolve@^0.5.0:
source-map-url "^0.4.0"
urix "^0.1.0"
-source-map-support@0.5.13, source-map-support@~0.5.12:
+source-map-support@0.5.13:
version "0.5.13"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
@@ -11334,6 +11905,14 @@ source-map-support@0.5.13, source-map-support@~0.5.12:
buffer-from "^1.0.0"
source-map "^0.6.0"
+source-map-support@~0.5.12, source-map-support@~0.5.20:
+ version "0.5.20"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9"
+ integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
source-map-url@^0.4.0:
version "0.4.1"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
@@ -11349,6 +11928,11 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+sourcemap-codec@^1.4.8:
+ version "1.4.8"
+ resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
+ integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
+
space-separated-tokens@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz#43193cec4fb858a2ce934b7f98b7f2c18107098b"
@@ -11429,6 +12013,11 @@ ssri@^8.0.0:
dependencies:
minipass "^3.1.1"
+stable@^0.1.8:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
+ integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
+
stack-utils@^2.0.3:
version "2.0.5"
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5"
@@ -11719,6 +12308,19 @@ svg-tags@^1.0.0:
resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=
+svgo@^2.7.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24"
+ integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==
+ dependencies:
+ "@trysound/sax" "0.2.0"
+ commander "^7.2.0"
+ css-select "^4.1.3"
+ css-tree "^1.1.3"
+ csso "^4.2.0"
+ picocolors "^1.0.0"
+ stable "^0.1.8"
+
swagger-cli@^4.0.4:
version "4.0.4"
resolved "https://registry.yarnpkg.com/swagger-cli/-/swagger-cli-4.0.4.tgz#c3f0b94277073c776b9bcc3ae7507b372f3ff414"
@@ -11824,6 +12426,16 @@ terser@^4.1.2:
source-map "~0.6.1"
source-map-support "~0.5.12"
+terser@^5.4.0:
+ version "5.14.2"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10"
+ integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==
+ dependencies:
+ "@jridgewell/source-map" "^0.3.2"
+ acorn "^8.5.0"
+ commander "^2.20.0"
+ source-map-support "~0.5.20"
+
test-exclude@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
@@ -11848,6 +12460,11 @@ throttle-debounce@^2.1.0:
resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-2.1.0.tgz#257e648f0a56bd9e54fe0f132c4ab8611df4e1d5"
integrity sha512-AOvyNahXQuU7NN+VVvOOX+uW6FPaWdAOdRP5HfwYxAfCzXTFKRMoIMk+n+po318+ktcChx+F1Dd91G3YHeMKyg==
+throttle-debounce@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb"
+ integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==
+
through2@^2.0.0:
version "2.0.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
@@ -11980,7 +12597,7 @@ tr46@^3.0.0:
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
- integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
+ integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
traverse@^0.6.7:
version "0.6.7"
@@ -12114,6 +12731,11 @@ type-fest@^0.8.1:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+type-fest@^2.0.0:
+ version "2.19.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b"
+ integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
+
type-is@~1.6.18:
version "1.6.18"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
@@ -12475,6 +13097,34 @@ visibilityjs@^1.2.4:
resolved "https://registry.yarnpkg.com/visibilityjs/-/visibilityjs-1.2.4.tgz#bff8663da62c8c10ad4ee5ae6a1ae6fac4259d63"
integrity sha1-v/hmPaYsjBCtTuWuahrm+sQlnWM=
+vite-plugin-ruby@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/vite-plugin-ruby/-/vite-plugin-ruby-3.1.2.tgz#513297e64e3c9a2e2eace6c39856870f5aef0e90"
+ integrity sha512-Pp/NR79lV96wEOjp5MhVHuFxqUhEMNqc7L/02i+XXl1Mq1ab7s2j9kAgtiqp5QKxMd1jy8gV32PgWWVOmcd7/Q==
+ dependencies:
+ debug "^4.3.4"
+ fast-glob "^3.2.11"
+
+vite-svg-loader@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/vite-svg-loader/-/vite-svg-loader-3.4.0.tgz#4638827fe86b85ecfcea1ad61dd972c351d5befd"
+ integrity sha512-xD3yb1FX+f4l9/TmsYIqyki8ncpcVsZ2gEJFh/wLuNNqt55C8OJ+JlcMWOA/Z9gRA+ylV/TA1wmJLxzZkCRqlA==
+ dependencies:
+ "@vue/compiler-sfc" "^3.2.20"
+ svgo "^2.7.0"
+
+vite@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-4.1.1.tgz#3b18b81a4e85ce3df5cbdbf4c687d93ebf402e6b"
+ integrity sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==
+ dependencies:
+ esbuild "^0.16.14"
+ postcss "^8.4.21"
+ resolve "^1.22.1"
+ rollup "^3.10.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
vm-browserify@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019"
@@ -12527,10 +13177,10 @@ vue-hot-reload-api@^2.3.0:
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"
integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
-vue-loader@15.9.6:
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.6.tgz#f4bb9ae20c3a8370af3ecf09b8126d38ffdb6b8b"
- integrity sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==
+vue-loader@^15.10:
+ version "15.10.0"
+ resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.10.0.tgz#2a12695c421a2a2cc2138f05a949d04ed086e38b"
+ integrity sha512-VU6tuO8eKajrFeBzMssFUP9SvakEeeSi1BxdTH5o3+1yUyrldp8IERkSdXlMI2t4kxF2sqYUDsQY+WJBxzBmZg==
dependencies:
"@vue/component-compiler-utils" "^3.1.0"
hash-sum "^1.0.2"
@@ -12568,13 +13218,13 @@ vue-style-loader@^4.1.0:
hash-sum "^1.0.2"
loader-utils "^1.0.2"
-vue-template-compiler@2.6.14:
- version "2.6.14"
- resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz#a2f0e7d985670d42c9c9ee0d044fed7690f4f763"
- integrity sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==
+vue-template-compiler@^2.7.10:
+ version "2.7.10"
+ resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.10.tgz#9e20f35b2fdccacacf732dd7dedb49bf65f4556b"
+ integrity sha512-QO+8R9YRq1Gudm8ZMdo/lImZLJVUIAM8c07Vp84ojdDAf8HmPJc7XB556PcXV218k2AkKznsRz6xB5uOjAC4EQ==
dependencies:
de-indent "^1.0.2"
- he "^1.1.0"
+ he "^1.2.0"
vue-template-es2015-compiler@^1.9.0:
version "1.9.1"
@@ -12586,10 +13236,13 @@ vue-virtual-scroll-list@^1.4.7:
resolved "https://registry.yarnpkg.com/vue-virtual-scroll-list/-/vue-virtual-scroll-list-1.4.7.tgz#12ee26833885f5bb4d37dc058085ccf3ce5b5a74"
integrity sha512-R8bk+k7WMGGoFQ9xF0krGCAlZhQjbJOkDUX+YZD2J+sHQWTzDtmTLS6kiIJToOHK1d/8QPGiD8fd9w0lDP4arg==
-vue@2.6.14:
- version "2.6.14"
- resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.14.tgz#e51aa5250250d569a3fbad3a8a5a687d6036e235"
- integrity sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==
+vue@^2.7.10:
+ version "2.7.10"
+ resolved "https://registry.yarnpkg.com/vue/-/vue-2.7.10.tgz#ae516cc6c88e1c424754468844218fdd5e280f40"
+ integrity sha512-HmFC70qarSHPXcKtW8U8fgIkF6JGvjEmDiVInTkKZP0gIlEPhlVlcJJLkdGIDiNkIeA2zJPQTWJUI4iWe+AVfg==
+ dependencies:
+ "@vue/compiler-sfc" "2.7.10"
+ csstype "^3.1.0"
vuedraggable@^2.23.0:
version "2.23.0"
@@ -12677,7 +13330,7 @@ web-vitals@^0.2.4:
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
- integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
+ integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
webidl-conversions@^7.0.0:
version "7.0.0"
@@ -12858,7 +13511,7 @@ whatwg-url@^11.0.0:
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
- integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
+ integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
dependencies:
tr46 "~0.0.3"
webidl-conversions "^3.0.0"
@@ -12922,13 +13575,13 @@ worker-farm@^1.7.0:
dependencies:
errno "~0.1.7"
-worker-loader@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/worker-loader/-/worker-loader-2.0.0.tgz#45fda3ef76aca815771a89107399ee4119b430ac"
- integrity sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==
+worker-loader@3.0.8:
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/worker-loader/-/worker-loader-3.0.8.tgz#5fc5cda4a3d3163d9c274a4e3a811ce8b60dbb37"
+ integrity sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g==
dependencies:
- loader-utils "^1.0.0"
- schema-utils "^0.4.0"
+ loader-utils "^2.0.0"
+ schema-utils "^3.0.0"
wrap-ansi@^6.2.0:
version "6.2.0"