Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
4c422861d5
commit
a989894b49
|
@ -24,13 +24,13 @@
|
|||
- if current_user
|
||||
.gl-display-flex.gl-flex-wrap.gl-lg-justify-content-end.gl-mx-n2{ data: { testid: 'group-buttons' } }
|
||||
- if @notification_setting
|
||||
.js-vue-notification-dropdown{ data: { disabled: emails_disabled.to_s, dropdown_items: notification_dropdown_items(@notification_setting).to_json, notification_level: @notification_setting.level, help_page_path: help_page_path('user/profile/notifications'), group_id: @group.id, container_class: 'gl-mr-3 gl-mt-3 gl-vertical-align-top' } }
|
||||
.js-vue-notification-dropdown{ data: { disabled: emails_disabled.to_s, dropdown_items: notification_dropdown_items(@notification_setting).to_json, notification_level: @notification_setting.level, help_page_path: help_page_path('user/profile/notifications'), group_id: @group.id, container_class: 'gl-mx-2 gl-mt-3 gl-vertical-align-top' } }
|
||||
- if can_create_subgroups
|
||||
.gl-px-2.gl-sm-w-auto.gl-w-full
|
||||
= link_to _("New subgroup"), new_group_path(parent_id: @group.id), class: "btn btn-confirm btn-md gl-button btn-confirm-secondary gl-mt-3 gl-sm-w-auto gl-w-full", data: { qa_selector: 'new_subgroup_button' }
|
||||
= link_to _("New subgroup"), new_group_path(parent_id: @group.id), class: "btn btn-default gl-button gl-mt-3 gl-sm-w-auto gl-w-full", data: { qa_selector: 'new_subgroup_button' }
|
||||
- if can_create_projects
|
||||
.gl-px-2.gl-sm-w-auto.gl-w-full
|
||||
= link_to _("New project"), new_project_path(namespace_id: @group.id), class: "btn btn-confirm btn-md gl-button gl-mt-3 gl-sm-w-auto gl-w-full", data: { qa_selector: 'new_project_button' }
|
||||
= link_to _("New project"), new_project_path(namespace_id: @group.id), class: "btn btn-confirm gl-button gl-mt-3 gl-sm-w-auto gl-w-full", data: { qa_selector: 'new_project_button' }
|
||||
|
||||
- if @group.description.present?
|
||||
.group-home-desc.mt-1
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
title: Update spacing between Notifications dropdown, New Subgroup button, and New Project buttons while using the new confirm variant instead of the deprecated success variant for the New Project button. Better left alignment of Notifications dropdown at smaller breakpoints.
|
||||
variant
|
||||
merge_request: 55819
|
||||
author:
|
||||
type: other
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Remove usage_data_i_source_code_code_intelligence flag
|
||||
merge_request: 51765
|
||||
author:
|
||||
type: other
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Updating usage dictionary generator
|
||||
merge_request: 55956
|
||||
author:
|
||||
type: other
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
name: usage_data_i_source_code_code_intelligence
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41881
|
||||
rollout_issue_url:
|
||||
milestone: '13.4'
|
||||
type: development
|
||||
group: group::code review
|
||||
default_enabled: true
|
|
@ -240,6 +240,7 @@ Method 2:
|
|||
### Configure Gitaly servers
|
||||
|
||||
On the Gitaly servers, you must configure storage paths and enable the network listener.
|
||||
The Gitaly server must be able to read, write, and set permissions on the configured path.
|
||||
|
||||
If you want to reduce the risk of downtime when you enable authentication, you can temporarily
|
||||
disable enforcement. For more information, see the documentation on configuring
|
||||
|
@ -255,8 +256,6 @@ disable enforcement. For more information, see the documentation on configuring
|
|||
-->
|
||||
|
||||
```ruby
|
||||
# /etc/gitlab/gitlab.rb
|
||||
|
||||
# Avoid running unnecessary services on the Gitaly server
|
||||
postgresql['enable'] = false
|
||||
redis['enable'] = false
|
||||
|
@ -290,6 +289,10 @@ disable enforcement. For more information, see the documentation on configuring
|
|||
# Don't forget to copy `/etc/gitlab/gitlab-secrets.json` from Gitaly client to Gitaly server.
|
||||
gitlab_rails['internal_api_url'] = 'https://gitlab.example.com'
|
||||
|
||||
# Authentication token to ensure only authorized servers can communicate with
|
||||
# Gitaly server
|
||||
gitaly['auth_token'] = 'AUTH_TOKEN'
|
||||
|
||||
# Make Gitaly accept connections on all network interfaces. You must use
|
||||
# firewalls to restrict access to this address/port.
|
||||
# Comment out following line if you only want to support TLS connections
|
||||
|
@ -392,10 +395,10 @@ if previously enabled manually.
|
|||
Gitaly makes the following assumptions:
|
||||
|
||||
- Your `gitaly1.internal` Gitaly server can be reached at `gitaly1.internal:8075` from your Gitaly
|
||||
clients, and that Gitaly server can read, write, and set permissions on `/mnt/gitlab/default` and
|
||||
`/mnt/gitlab/storage1`.
|
||||
clients, and that Gitaly server can read, write, and set permissions on `/var/opt/gitlab/git-data` and
|
||||
`/mnt/gitlab/git-data`.
|
||||
- Your `gitaly2.internal` Gitaly server can be reached at `gitaly2.internal:8075` from your Gitaly
|
||||
clients, and that Gitaly server can read, write, and set permissions on `/mnt/gitlab/storage2`.
|
||||
clients, and that Gitaly server can read, write, and set permissions on `/srv/gitlab/git-data`.
|
||||
- Your `gitaly1.internal` and `gitaly2.internal` Gitaly servers can reach each other.
|
||||
|
||||
You can't define Gitaly servers with some as a local Gitaly server
|
||||
|
@ -600,7 +603,8 @@ To configure Gitaly with TLS:
|
|||
```
|
||||
|
||||
1. Copy all Gitaly server certificates (or their certificate authority) to
|
||||
`/etc/gitlab/trusted-certs` so that Gitaly servers trust the certificate when calling into themselves
|
||||
`/etc/gitlab/trusted-certs` on all Gitaly servers and clients
|
||||
so that Gitaly servers and clients trust the certificate when calling into themselves
|
||||
or other Gitaly servers:
|
||||
|
||||
```shell
|
||||
|
|
|
@ -42,7 +42,7 @@ Some credentials are required to be able to run `aws` commands:
|
|||
NOTE:
|
||||
A new **Access key ID** and **Secret access key** are generated. Please take a note of them right away.
|
||||
|
||||
1. In your GitLab project, go to **Settings > CI / CD**. Set the following as
|
||||
1. In your GitLab project, go to **Settings > CI/CD**. Set the following as
|
||||
[CI/CD variables](../variables/README.md)
|
||||
(see table below):
|
||||
|
||||
|
|
|
@ -116,7 +116,7 @@ We also use two secure variables:
|
|||
## Storing API keys
|
||||
|
||||
To add secure variables, navigate to your project's
|
||||
**Settings > CI / CD > Variables**. The variables that are defined
|
||||
**Settings > CI/CD > Variables**. The variables that are defined
|
||||
in the project settings are sent along with the build script to the runner.
|
||||
The secure variables are stored out of the repository. Never store secrets in
|
||||
your project's `.gitlab-ci.yml`. It is also important that the secret's value
|
||||
|
|
|
@ -91,7 +91,7 @@ As part of publishing a package, semantic-release increases the version number i
|
|||
1. Navigate to **Project > Settings > Access Tokens**.
|
||||
1. Give the token a name, and select the `api` scope.
|
||||
1. Click **Create project access token** and copy its value.
|
||||
1. Navigate to **Project > Settings > CI / CD > Variables**.
|
||||
1. Navigate to **Project > Settings > CI/CD > Variables**.
|
||||
1. Click **Add Variable**.
|
||||
1. In the **Key** field, enter `GITLAB_TOKEN`. In the **Value** field, paste the token created above. Check the **Mask variable** option and click **Add variable**.
|
||||
|
||||
|
|
|
@ -314,7 +314,7 @@ Some features are not implemented yet. For example, support for environments.
|
|||
You can trigger a pipeline in your project whenever a pipeline finishes for a new
|
||||
tag in a different project:
|
||||
|
||||
1. Go to the project's **Settings > CI / CD** page, and expand the **Pipeline subscriptions** section.
|
||||
1. Go to the project's **Settings > CI/CD** page, and expand the **Pipeline subscriptions** section.
|
||||
1. Enter the project you want to subscribe to, in the format `<namespace>/<project>`.
|
||||
For example, if the project is `https://gitlab.com/gitlab-org/gitlab`, use `gitlab-org/gitlab`.
|
||||
1. Click subscribe.
|
||||
|
|
|
@ -36,7 +36,7 @@ Otherwise the pipeline is not created.
|
|||
|
||||
To schedule a pipeline for project:
|
||||
|
||||
1. Navigate to the project's **CI / CD > Schedules** page.
|
||||
1. Navigate to the project's **CI/CD > Schedules** page.
|
||||
1. Click the **New schedule** button.
|
||||
1. Fill in the **Schedule a new pipeline** form.
|
||||
1. Click the **Save pipeline schedule** button.
|
||||
|
|
|
@ -82,7 +82,7 @@ directory. If needed, you can specify an alternate path and filename, including
|
|||
|
||||
To customize the path:
|
||||
|
||||
1. Go to the project's **Settings > CI / CD**.
|
||||
1. Go to the project's **Settings > CI/CD**.
|
||||
1. Expand the **General pipelines** section.
|
||||
1. Provide a value in the **CI/CD configuration file** field.
|
||||
1. Click **Save changes**.
|
||||
|
@ -120,7 +120,7 @@ able to edit it.
|
|||
If you use test coverage in your code, GitLab can capture its output in the
|
||||
job log using a regular expression.
|
||||
|
||||
In your project, go to **Settings > CI / CD** and expand the **General pipelines**
|
||||
In your project, go to **Settings > CI/CD** and expand the **General pipelines**
|
||||
section. Enter the regular expression in the **Test coverage parsing** field.
|
||||
|
||||
Leave blank if you want to disable it or enter a Ruby regular expression. You
|
||||
|
@ -225,7 +225,7 @@ If **Public pipelines** is disabled:
|
|||
|
||||
You can set pending or running pipelines to cancel automatically when a new pipeline runs on the same branch. You can enable this in the project settings:
|
||||
|
||||
1. Go to **Settings > CI / CD**.
|
||||
1. Go to **Settings > CI/CD**.
|
||||
1. Expand **General Pipelines**.
|
||||
1. Check the **Auto-cancel redundant pipelines** checkbox.
|
||||
1. Click **Save changes**.
|
||||
|
@ -245,7 +245,7 @@ newer one, which may not be what you want.
|
|||
|
||||
To avoid this scenario:
|
||||
|
||||
1. Go to **Settings > CI / CD**.
|
||||
1. Go to **Settings > CI/CD**.
|
||||
1. Expand **General pipelines**.
|
||||
1. Check the **Skip outdated deployment jobs** checkbox.
|
||||
1. Click **Save changes**.
|
||||
|
|
|
@ -38,7 +38,7 @@ multiple projects.
|
|||
If you are using a self-managed instance of GitLab:
|
||||
|
||||
- Your administrator can install and register shared runners by
|
||||
going to your project's **Settings > CI / CD**, expanding the **Runners** section,
|
||||
going to your project's **Settings > CI/CD**, expanding the **Runners** section,
|
||||
and clicking **Show runner installation instructions**.
|
||||
These instructions are also available [in the documentation](https://docs.gitlab.com/runner/install/index.html).
|
||||
- The administrator can also configure a maximum number of shared runner [pipeline minutes for
|
||||
|
@ -220,7 +220,7 @@ Specific runners process jobs by using a first in, first out ([FIFO](https://en.
|
|||
|
||||
NOTE:
|
||||
Specific runners do not get shared with forked projects automatically.
|
||||
A fork *does* copy the CI / CD settings of the cloned repository.
|
||||
A fork *does* copy the CI/CD settings of the cloned repository.
|
||||
|
||||
#### Create a specific runner
|
||||
|
||||
|
|
|
@ -118,7 +118,7 @@ If you change the Dockerfile configuration and rebuild the images, you can break
|
|||
pipeline in the main `gitlab` repository as well as in `gitlab-docs`. Create an image with
|
||||
a different name first and test it to ensure you do not break the pipelines.
|
||||
|
||||
1. In [`gitlab-docs`](https://gitlab.com/gitlab-org/gitlab-docs), go to **{rocket}** **CI / CD > Pipelines**.
|
||||
1. In [`gitlab-docs`](https://gitlab.com/gitlab-org/gitlab-docs), go to **{rocket}** **CI/CD > Pipelines**.
|
||||
1. Click the **Run Pipeline** button.
|
||||
1. See that a new pipeline is running. The jobs that build the images are in the first
|
||||
stage, `build-images`. You can click the pipeline number to see the larger pipeline
|
||||
|
@ -137,7 +137,7 @@ and deploys it to <https://docs.gitlab.com>.
|
|||
|
||||
If you need to build and deploy the site immediately (must have maintainer level permissions):
|
||||
|
||||
1. In [`gitlab-docs`](https://gitlab.com/gitlab-org/gitlab-docs), go to **{rocket}** **CI / CD > Schedules**.
|
||||
1. In [`gitlab-docs`](https://gitlab.com/gitlab-org/gitlab-docs), go to **{rocket}** **CI/CD > Schedules**.
|
||||
1. For the `Build docs.gitlab.com every 4 hours` scheduled pipeline, click the **play** (**{play}**) button.
|
||||
|
||||
Read more about the [deployment process](deployment_process.md).
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -80,7 +80,7 @@ the necessary CI/CD variables to deploy the Status Page to AWS S3:
|
|||
- `AWS_DEFAULT_REGION` - The AWS region.
|
||||
- `AWS_ACCESS_KEY_ID` - The AWS access key ID.
|
||||
- `AWS_SECRET_ACCESS_KEY` - The AWS secret.
|
||||
1. Navigate to **CI / CD > Pipelines > Run Pipeline**, and run the pipeline to
|
||||
1. Navigate to **CI/CD > Pipelines > Run Pipeline**, and run the pipeline to
|
||||
deploy the Status Page to S3.
|
||||
|
||||
WARNING:
|
||||
|
|
|
@ -235,7 +235,7 @@ takes you to the pod's logs page.
|
|||
NOTE:
|
||||
The example shows only one pod hosting the application at the moment, but you can add
|
||||
more pods by defining the [`REPLICAS` CI/CD variable](customize.md#cicd-variables)
|
||||
in **Settings > CI / CD > Variables**.
|
||||
in **Settings > CI/CD > Variables**.
|
||||
|
||||
### Work with branches
|
||||
|
||||
|
|
|
@ -112,7 +112,7 @@ You can choose to target [AWS ECS](../../ci/cloud_deployment/index.md) as a depl
|
|||
To get started on Auto DevOps to AWS ECS, you must add a specific CI/CD variable.
|
||||
To do so, follow these steps:
|
||||
|
||||
1. In your project, go to **Settings > CI / CD** and expand the **Variables**
|
||||
1. In your project, go to **Settings > CI/CD** and expand the **Variables**
|
||||
section.
|
||||
|
||||
1. Specify which AWS platform to target during the Auto DevOps deployment
|
||||
|
|
|
@ -52,13 +52,13 @@ To change it at the:
|
|||
|
||||
- Group level (this will override the instance setting):
|
||||
|
||||
1. Go to the group's **Settings > CI / CD > General Pipelines**.
|
||||
1. Go to the group's **Settings > CI/CD > General Pipelines**.
|
||||
1. Change the value of **maximum artifacts size (in MB)**.
|
||||
1. Click **Save changes** for the changes to take effect.
|
||||
|
||||
- Project level (this will override the instance and group settings):
|
||||
|
||||
1. Go to the project's **Settings > CI / CD > General Pipelines**.
|
||||
1. Go to the project's **Settings > CI/CD > General Pipelines**.
|
||||
1. Change the value of **maximum artifacts size (in MB)**.
|
||||
1. Click **Save changes** for the changes to take effect.
|
||||
|
||||
|
|
|
@ -257,7 +257,7 @@ want to perform a full secret scan. Running a secret scan on the full history ca
|
|||
especially for larger repositories with lengthy Git histories. We recommend not setting this CI/CD variable
|
||||
as part of your normal job definition.
|
||||
|
||||
A new configuration variable ([`SECRET_DETECTION_HISTORIC_SCAN`](../sast/#vulnerability-filters))
|
||||
A new configuration variable ([`SECRET_DETECTION_HISTORIC_SCAN`](#available-variables))
|
||||
can be set to change the behavior of the GitLab Secret Detection scan to run on the entire Git history of a repository.
|
||||
|
||||
We have created a [short video walkthrough](https://youtu.be/wDtc_K00Y0A) showcasing how you can perform a full history secret scan.
|
||||
|
|
|
@ -371,7 +371,7 @@ In order to interact with your AWS account, the GitLab CI/CD pipelines require b
|
|||
|
||||
To set these:
|
||||
|
||||
1. Navigate to the project's **Settings > CI / CD**.
|
||||
1. Navigate to the project's **Settings > CI/CD**.
|
||||
1. Expand the **Variables** section and create entries for `AWS_ACCESS_KEY_ID` and
|
||||
`AWS_SECRET_ACCESS_KEY`.
|
||||
1. Mask the credentials so they do not show in logs using the **Masked** toggle.
|
||||
|
|
|
@ -10,7 +10,7 @@ type: howto
|
|||
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17894) in GitLab 10.7.
|
||||
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/199370) from **Settings > Repository** in GitLab 12.9.
|
||||
> - [Added `write_registry` scope](https://gitlab.com/gitlab-org/gitlab/-/issues/22743) in GitLab 12.10.
|
||||
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29280) from **Settings > CI / CD** in GitLab 12.10.1.
|
||||
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29280) from **Settings > CI/CD** in GitLab 12.10.1.
|
||||
> - [Added package registry scopes](https://gitlab.com/gitlab-org/gitlab/-/issues/213566) in GitLab 13.0.
|
||||
|
||||
Deploy tokens allow you to download (`git clone`) or push and pull packages and
|
||||
|
|
|
@ -41,7 +41,7 @@ configuration for the Pages site to generate properly.
|
|||
|
||||
If everything is configured correctly, the site can take approximately 30 minutes to deploy.
|
||||
|
||||
You can watch the pipeline run by navigating to **CI / CD > Pipelines**.
|
||||
You can watch the pipeline run by navigating to **CI/CD > Pipelines**.
|
||||
When the pipeline is finished, go to **Settings > Pages** to find the link to
|
||||
your Pages website.
|
||||
|
||||
|
|
|
@ -152,7 +152,7 @@ pages:
|
|||
```
|
||||
|
||||
Now save and commit the `.gitlab-ci.yml` file. You can watch the pipeline run
|
||||
by going to **CI / CD > Pipelines**.
|
||||
by going to **CI/CD > Pipelines**.
|
||||
|
||||
When it succeeds, go to **Settings > Pages** to view the URL where your site
|
||||
is now available.
|
||||
|
|
|
@ -214,7 +214,7 @@ To set a deploy freeze window in the UI, complete these steps:
|
|||
|
||||
1. Sign in to GitLab as a user with project Maintainer [permissions](../../permissions.md).
|
||||
1. Navigate to **Project overview**.
|
||||
1. In the left navigation menu, navigate to **Settings > CI / CD**.
|
||||
1. In the left navigation menu, navigate to **Settings > CI/CD**.
|
||||
1. Scroll to **Deploy freezes**.
|
||||
1. Click **Expand** to see the deploy freeze table.
|
||||
1. Click **Add deploy freeze** to open the deploy freeze modal.
|
||||
|
|
|
@ -46,7 +46,7 @@ module Gitlab
|
|||
end
|
||||
|
||||
def render_tiers(object)
|
||||
"Tiers: #{format(:tier, object[:tier])}"
|
||||
"Tiers:#{format(:tier, object[:tier])}"
|
||||
end
|
||||
|
||||
def format(key, value)
|
||||
|
|
|
@ -17,7 +17,7 @@ module Gitlab
|
|||
when :introduced_by_url
|
||||
"[Introduced by](#{value})"
|
||||
when :distribution, :tier
|
||||
Array(value).map { |tier| "`#{tier}`" }.join(', ')
|
||||
Array(value).map { |tier| " `#{tier}`" }.join(',')
|
||||
else
|
||||
value
|
||||
end
|
||||
|
|
|
@ -165,7 +165,6 @@
|
|||
redis_slot: source_code
|
||||
category: source_code
|
||||
aggregation: daily
|
||||
feature_flag: usage_data_i_source_code_code_intelligence
|
||||
# Incident management
|
||||
- name: incident_management_alert_status_changed
|
||||
redis_slot: incident_management
|
||||
|
|
|
@ -13669,6 +13669,9 @@ msgstr ""
|
|||
msgid "Geo|Go to the primary site"
|
||||
msgstr ""
|
||||
|
||||
msgid "Geo|Health Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "Geo|If you want to make changes, you must visit the primary site."
|
||||
msgstr ""
|
||||
|
||||
|
@ -13702,6 +13705,9 @@ msgstr ""
|
|||
msgid "Geo|Next sync scheduled at"
|
||||
msgstr ""
|
||||
|
||||
msgid "Geo|Node Details"
|
||||
msgstr ""
|
||||
|
||||
msgid "Geo|Node name can't be blank"
|
||||
msgstr ""
|
||||
|
||||
|
@ -17586,6 +17592,9 @@ msgstr ""
|
|||
msgid "Last Seen"
|
||||
msgstr ""
|
||||
|
||||
msgid "Last Updated"
|
||||
msgstr ""
|
||||
|
||||
msgid "Last Used"
|
||||
msgstr ""
|
||||
|
||||
|
|
10
package.json
10
package.json
|
@ -131,8 +131,8 @@
|
|||
"pikaday": "^1.8.0",
|
||||
"popper.js": "^1.16.1",
|
||||
"prismjs": "^1.21.0",
|
||||
"prosemirror-markdown": "^1.3.0",
|
||||
"prosemirror-model": "^1.6.4",
|
||||
"prosemirror-markdown": "^1.5.1",
|
||||
"prosemirror-model": "^1.13.3",
|
||||
"raphael": "^2.2.7",
|
||||
"raw-loader": "^4.0.2",
|
||||
"select2": "3.5.2-browserify",
|
||||
|
@ -146,9 +146,9 @@
|
|||
"three-orbit-controls": "^82.1.0",
|
||||
"three-stl-loader": "^1.0.4",
|
||||
"timeago.js": "^4.0.2",
|
||||
"tiptap": "^1.8.0",
|
||||
"tiptap-commands": "^1.4.0",
|
||||
"tiptap-extensions": "^1.8.0",
|
||||
"tiptap": "^1.32.1",
|
||||
"tiptap-commands": "^1.17.1",
|
||||
"tiptap-extensions": "^1.35.1",
|
||||
"url-loader": "^3.0.0",
|
||||
"uuid": "8.1.0",
|
||||
"visibilityjs": "^1.2.4",
|
||||
|
|
|
@ -9,49 +9,30 @@ RSpec.describe 'Project fork' do
|
|||
let(:project) { create(:project, :public, :repository) }
|
||||
|
||||
before do
|
||||
stub_feature_flags(fork_project_form: false)
|
||||
sign_in(user)
|
||||
end
|
||||
|
||||
it 'allows user to fork project from the project page' do
|
||||
visit project_path(project)
|
||||
|
||||
expect(page).not_to have_css('a.disabled', text: 'Fork')
|
||||
end
|
||||
|
||||
context 'user has exceeded personal project limit' do
|
||||
before do
|
||||
user.update!(projects_limit: 0)
|
||||
end
|
||||
|
||||
it 'disables fork button on project page' do
|
||||
shared_examples 'fork button on project page' do
|
||||
it 'allows user to fork project from the project page' do
|
||||
visit project_path(project)
|
||||
|
||||
expect(page).to have_css('a.disabled', text: 'Fork')
|
||||
expect(page).not_to have_css('a.disabled', text: 'Fork')
|
||||
end
|
||||
|
||||
context 'with a group to fork to' do
|
||||
let!(:group) { create(:group).tap { |group| group.add_owner(user) } }
|
||||
|
||||
it 'enables fork button on project page' do
|
||||
visit project_path(project)
|
||||
|
||||
expect(page).not_to have_css('a.disabled', text: 'Fork')
|
||||
context 'user has exceeded personal project limit' do
|
||||
before do
|
||||
user.update!(projects_limit: 0)
|
||||
end
|
||||
|
||||
it 'allows user to fork only to the group on fork page', :js do
|
||||
visit new_project_fork_path(project)
|
||||
it 'disables fork button on project page' do
|
||||
visit project_path(project)
|
||||
|
||||
to_personal_namespace = find('[data-qa-selector=fork_namespace_button].disabled')
|
||||
to_group = find(".fork-groups button[data-qa-name=#{group.name}]")
|
||||
|
||||
expect(to_personal_namespace).not_to be_nil
|
||||
expect(to_group).not_to be_disabled
|
||||
expect(page).to have_css('a.disabled', text: 'Fork')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'forking enabled / disabled in project settings' do
|
||||
shared_examples 'create fork page' do |fork_page_text|
|
||||
before do
|
||||
project.project_feature.update_attribute(
|
||||
:forking_access_level, forking_access_level)
|
||||
|
@ -71,7 +52,7 @@ RSpec.describe 'Project fork' do
|
|||
visit new_project_fork_path(project)
|
||||
|
||||
expect(page.status_code).to eq(200)
|
||||
expect(page).to have_text(' Select a namespace to fork the project ')
|
||||
expect(page).to have_text(fork_page_text)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -128,91 +109,87 @@ RSpec.describe 'Project fork' do
|
|||
visit new_project_fork_path(project)
|
||||
|
||||
expect(page.status_code).to eq(200)
|
||||
expect(page).to have_text(' Select a namespace to fork the project ')
|
||||
expect(page).to have_text(fork_page_text)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
it 'forks the project', :sidekiq_might_not_need_inline do
|
||||
visit project_path(project)
|
||||
|
||||
click_link 'Fork'
|
||||
|
||||
page.within '.fork-thumbnail-container' do
|
||||
click_link 'Select'
|
||||
end
|
||||
|
||||
expect(page).to have_content 'Forked from'
|
||||
|
||||
visit project_path(project)
|
||||
|
||||
expect(page).to have_content(/new merge request/i)
|
||||
|
||||
page.within '.nav-sidebar' do
|
||||
first(:link, 'Merge Requests').click
|
||||
end
|
||||
|
||||
expect(page).to have_content(/new merge request/i)
|
||||
|
||||
page.within '#content-body' do
|
||||
click_link('New merge request')
|
||||
end
|
||||
|
||||
expect(current_path).to have_content(/#{user.namespace.path}/i)
|
||||
end
|
||||
|
||||
it 'shows avatars when Gravatar is disabled' do
|
||||
stub_application_setting(gravatar_enabled: false)
|
||||
|
||||
visit project_path(project)
|
||||
|
||||
click_link 'Fork'
|
||||
|
||||
page.within('.fork-thumbnail-container') do
|
||||
expect(page).to have_css('div.identicon')
|
||||
end
|
||||
end
|
||||
|
||||
it 'shows the forked project on the list' do
|
||||
visit project_path(project)
|
||||
|
||||
click_link 'Fork'
|
||||
|
||||
page.within '.fork-thumbnail-container' do
|
||||
click_link 'Select'
|
||||
end
|
||||
|
||||
visit project_forks_path(project)
|
||||
|
||||
forked_project = user.fork_of(project.reload)
|
||||
|
||||
page.within('.js-projects-list-holder') do
|
||||
expect(page).to have_content("#{forked_project.namespace.human_name} / #{forked_project.name}")
|
||||
end
|
||||
|
||||
forked_project.update!(path: 'test-crappy-path')
|
||||
|
||||
visit project_forks_path(project)
|
||||
|
||||
page.within('.js-projects-list-holder') do
|
||||
expect(page).to have_content("#{forked_project.namespace.human_name} / #{forked_project.name}")
|
||||
end
|
||||
end
|
||||
|
||||
context 'when the project is private' do
|
||||
let(:project) { create(:project, :repository) }
|
||||
let(:another_user) { create(:user, name: 'Mike') }
|
||||
it_behaves_like 'fork button on project page'
|
||||
it_behaves_like 'create fork page', 'Fork project'
|
||||
|
||||
context 'with fork_project_form feature flag disabled' do
|
||||
before do
|
||||
project.add_reporter(user)
|
||||
project.add_reporter(another_user)
|
||||
stub_feature_flags(fork_project_form: false)
|
||||
sign_in(user)
|
||||
end
|
||||
|
||||
it 'renders private forks of the project' do
|
||||
it_behaves_like 'fork button on project page'
|
||||
|
||||
context 'user has exceeded personal project limit' do
|
||||
before do
|
||||
user.update!(projects_limit: 0)
|
||||
end
|
||||
|
||||
context 'with a group to fork to' do
|
||||
let!(:group) { create(:group).tap { |group| group.add_owner(user) } }
|
||||
|
||||
it 'allows user to fork only to the group on fork page', :js do
|
||||
visit new_project_fork_path(project)
|
||||
|
||||
to_personal_namespace = find('[data-qa-selector=fork_namespace_button].disabled')
|
||||
to_group = find(".fork-groups button[data-qa-name=#{group.name}]")
|
||||
|
||||
expect(to_personal_namespace).not_to be_nil
|
||||
expect(to_group).not_to be_disabled
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
it_behaves_like 'create fork page', ' Select a namespace to fork the project '
|
||||
|
||||
it 'forks the project', :sidekiq_might_not_need_inline do
|
||||
visit project_path(project)
|
||||
|
||||
another_project_fork = Projects::ForkService.new(project, another_user).execute
|
||||
click_link 'Fork'
|
||||
|
||||
page.within '.fork-thumbnail-container' do
|
||||
click_link 'Select'
|
||||
end
|
||||
|
||||
expect(page).to have_content 'Forked from'
|
||||
|
||||
visit project_path(project)
|
||||
|
||||
expect(page).to have_content(/new merge request/i)
|
||||
|
||||
page.within '.nav-sidebar' do
|
||||
first(:link, 'Merge Requests').click
|
||||
end
|
||||
|
||||
expect(page).to have_content(/new merge request/i)
|
||||
|
||||
page.within '#content-body' do
|
||||
click_link('New merge request')
|
||||
end
|
||||
|
||||
expect(current_path).to have_content(/#{user.namespace.path}/i)
|
||||
end
|
||||
|
||||
it 'shows avatars when Gravatar is disabled' do
|
||||
stub_application_setting(gravatar_enabled: false)
|
||||
|
||||
visit project_path(project)
|
||||
|
||||
click_link 'Fork'
|
||||
|
||||
page.within('.fork-thumbnail-container') do
|
||||
expect(page).to have_css('div.identicon')
|
||||
end
|
||||
end
|
||||
|
||||
it 'shows the forked project on the list' do
|
||||
visit project_path(project)
|
||||
|
||||
click_link 'Fork'
|
||||
|
||||
|
@ -222,79 +199,117 @@ RSpec.describe 'Project fork' do
|
|||
|
||||
visit project_forks_path(project)
|
||||
|
||||
forked_project = user.fork_of(project.reload)
|
||||
|
||||
page.within('.js-projects-list-holder') do
|
||||
user_project_fork = user.fork_of(project.reload)
|
||||
expect(page).to have_content("#{user_project_fork.namespace.human_name} / #{user_project_fork.name}")
|
||||
expect(page).to have_content("#{forked_project.namespace.human_name} / #{forked_project.name}")
|
||||
end
|
||||
|
||||
expect(page).not_to have_content("#{another_project_fork.namespace.human_name} / #{another_project_fork.name}")
|
||||
end
|
||||
end
|
||||
forked_project.update!(path: 'test-crappy-path')
|
||||
|
||||
context 'when the user already forked the project' do
|
||||
before do
|
||||
create(:project, :repository, name: project.name, namespace: user.namespace)
|
||||
visit project_forks_path(project)
|
||||
|
||||
page.within('.js-projects-list-holder') do
|
||||
expect(page).to have_content("#{forked_project.namespace.human_name} / #{forked_project.name}")
|
||||
end
|
||||
end
|
||||
|
||||
it 'renders error' do
|
||||
visit project_path(project)
|
||||
context 'when the project is private' do
|
||||
let(:project) { create(:project, :repository) }
|
||||
let(:another_user) { create(:user, name: 'Mike') }
|
||||
|
||||
click_link 'Fork'
|
||||
|
||||
page.within '.fork-thumbnail-container' do
|
||||
click_link 'Select'
|
||||
before do
|
||||
project.add_reporter(user)
|
||||
project.add_reporter(another_user)
|
||||
end
|
||||
|
||||
expect(page).to have_content "Name has already been taken"
|
||||
end
|
||||
end
|
||||
it 'renders private forks of the project' do
|
||||
visit project_path(project)
|
||||
|
||||
context 'maintainer in group' do
|
||||
let(:group) { create(:group) }
|
||||
another_project_fork = Projects::ForkService.new(project, another_user).execute
|
||||
|
||||
before do
|
||||
group.add_maintainer(user)
|
||||
click_link 'Fork'
|
||||
|
||||
page.within '.fork-thumbnail-container' do
|
||||
click_link 'Select'
|
||||
end
|
||||
|
||||
visit project_forks_path(project)
|
||||
|
||||
page.within('.js-projects-list-holder') do
|
||||
user_project_fork = user.fork_of(project.reload)
|
||||
expect(page).to have_content("#{user_project_fork.namespace.human_name} / #{user_project_fork.name}")
|
||||
end
|
||||
|
||||
expect(page).not_to have_content("#{another_project_fork.namespace.human_name} / #{another_project_fork.name}")
|
||||
end
|
||||
end
|
||||
|
||||
it 'allows user to fork project to group or to user namespace', :js do
|
||||
visit project_path(project)
|
||||
wait_for_requests
|
||||
context 'when the user already forked the project' do
|
||||
before do
|
||||
create(:project, :repository, name: project.name, namespace: user.namespace)
|
||||
end
|
||||
|
||||
expect(page).not_to have_css('a.disabled', text: 'Fork')
|
||||
it 'renders error' do
|
||||
visit project_path(project)
|
||||
|
||||
click_link 'Fork'
|
||||
click_link 'Fork'
|
||||
|
||||
expect(page).to have_css('.fork-thumbnail')
|
||||
expect(page).to have_css('.group-row')
|
||||
expect(page).not_to have_css('.fork-thumbnail.disabled')
|
||||
page.within '.fork-thumbnail-container' do
|
||||
click_link 'Select'
|
||||
end
|
||||
|
||||
expect(page).to have_content "Name has already been taken"
|
||||
end
|
||||
end
|
||||
|
||||
it 'allows user to fork project to group and not user when exceeded project limit', :js do
|
||||
user.projects_limit = 0
|
||||
user.save!
|
||||
context 'maintainer in group' do
|
||||
let(:group) { create(:group) }
|
||||
|
||||
visit project_path(project)
|
||||
wait_for_requests
|
||||
before do
|
||||
group.add_maintainer(user)
|
||||
end
|
||||
|
||||
expect(page).not_to have_css('a.disabled', text: 'Fork')
|
||||
it 'allows user to fork project to group or to user namespace', :js do
|
||||
visit project_path(project)
|
||||
wait_for_requests
|
||||
|
||||
click_link 'Fork'
|
||||
expect(page).not_to have_css('a.disabled', text: 'Fork')
|
||||
|
||||
expect(page).to have_css('.fork-thumbnail.disabled')
|
||||
expect(page).to have_css('.group-row')
|
||||
end
|
||||
click_link 'Fork'
|
||||
|
||||
it 'links to the fork if the project was already forked within that namespace', :sidekiq_might_not_need_inline, :js do
|
||||
forked_project = fork_project(project, user, namespace: group, repository: true)
|
||||
expect(page).to have_css('.fork-thumbnail')
|
||||
expect(page).to have_css('.group-row')
|
||||
expect(page).not_to have_css('.fork-thumbnail.disabled')
|
||||
end
|
||||
|
||||
visit new_project_fork_path(project)
|
||||
wait_for_requests
|
||||
it 'allows user to fork project to group and not user when exceeded project limit', :js do
|
||||
user.projects_limit = 0
|
||||
user.save!
|
||||
|
||||
expect(page).to have_css('.group-row a.btn', text: 'Go to fork')
|
||||
visit project_path(project)
|
||||
wait_for_requests
|
||||
|
||||
click_link 'Go to fork'
|
||||
expect(page).not_to have_css('a.disabled', text: 'Fork')
|
||||
|
||||
expect(current_path).to eq(project_path(forked_project))
|
||||
click_link 'Fork'
|
||||
|
||||
expect(page).to have_css('.fork-thumbnail.disabled')
|
||||
expect(page).to have_css('.group-row')
|
||||
end
|
||||
|
||||
it 'links to the fork if the project was already forked within that namespace', :sidekiq_might_not_need_inline, :js do
|
||||
forked_project = fork_project(project, user, namespace: group, repository: true)
|
||||
|
||||
visit new_project_fork_path(project)
|
||||
wait_for_requests
|
||||
|
||||
expect(page).to have_css('.group-row a.btn', text: 'Go to fork')
|
||||
|
||||
click_link 'Go to fork'
|
||||
|
||||
expect(current_path).to eq(project_path(forked_project))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -10,8 +10,8 @@ RSpec.describe Gitlab::Usage::Docs::ValueFormatter do
|
|||
:data_source | 'redis' | 'Redis'
|
||||
:data_source | 'ruby' | 'Ruby'
|
||||
:introduced_by_url | 'http://test.com' | '[Introduced by](http://test.com)'
|
||||
:tier | %w(gold premium) | '`gold`, `premium`'
|
||||
:distribution | %w(ce ee) | '`ce`, `ee`'
|
||||
:tier | %w(gold premium) | ' `gold`, `premium`'
|
||||
:distribution | %w(ce ee) | ' `ce`, `ee`'
|
||||
:key_path | 'key.path' | '**`key.path`**'
|
||||
:milestone | '13.4' | '13.4'
|
||||
:status | 'data_available' | '`data_available`'
|
||||
|
|
333
yarn.lock
333
yarn.lock
|
@ -4523,7 +4523,7 @@ ent@~2.2.0:
|
|||
resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
|
||||
integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0=
|
||||
|
||||
entities@^1.1.1, entities@~1.1.1:
|
||||
entities@^1.1.1:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
|
||||
integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
|
||||
|
@ -5155,12 +5155,12 @@ fastq@^1.6.0:
|
|||
dependencies:
|
||||
reusify "^1.0.4"
|
||||
|
||||
fault@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.2.tgz#c3d0fec202f172a3a4d414042ad2bb5e2a3ffbaa"
|
||||
integrity sha512-o2eo/X2syzzERAtN5LcGbiVQ0WwZSlN3qLtadwAz3X8Bu+XWD16dja/KMsjZLiQr+BLGPDnHGkc4yUJf1Xpkpw==
|
||||
fault@^1.0.0:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13"
|
||||
integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==
|
||||
dependencies:
|
||||
format "^0.2.2"
|
||||
format "^0.2.0"
|
||||
|
||||
faye-websocket@^0.11.3:
|
||||
version "0.11.3"
|
||||
|
@ -5365,7 +5365,7 @@ form-data@~2.3.2:
|
|||
combined-stream "^1.0.6"
|
||||
mime-types "^2.1.12"
|
||||
|
||||
format@^0.2.2:
|
||||
format@^0.2.0:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
|
||||
integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=
|
||||
|
@ -5931,16 +5931,11 @@ he@^1.1.0, he@^1.1.1, he@^1.2.0:
|
|||
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
|
||||
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
|
||||
|
||||
highlight.js@^10.6.0:
|
||||
highlight.js@^10.6.0, highlight.js@~10.6.0:
|
||||
version "10.6.0"
|
||||
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.6.0.tgz#0073aa71d566906965ba6e1b7be7b2682f5e18b6"
|
||||
integrity sha512-8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ==
|
||||
|
||||
highlight.js@~9.13.0:
|
||||
version "9.13.1"
|
||||
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.13.1.tgz#054586d53a6863311168488a0f58d6c505ce641e"
|
||||
integrity sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==
|
||||
|
||||
hmac-drbg@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
|
||||
|
@ -7977,13 +7972,13 @@ lowercase-keys@^2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
|
||||
integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
|
||||
|
||||
lowlight@^1.11.0:
|
||||
version "1.11.0"
|
||||
resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.11.0.tgz#1304d83005126d4e8b1dc0f07981e9b689ec2efc"
|
||||
integrity sha512-xrGGN6XLL7MbTMdPD6NfWPwY43SNkjf/d0mecSx/CW36fUZTjRHEq0/Cdug3TWKtRXLWi7iMl1eP0olYxj/a4A==
|
||||
lowlight@^1.17.0:
|
||||
version "1.19.0"
|
||||
resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.19.0.tgz#b8544199cafcf10c5731b21c7458c358f79a2a97"
|
||||
integrity sha512-NIskvQ1d1ovKyUytkMpT8+8Bhq3Ub54os1Xp4RAC9uNbXH1YVRf5NERq7JNzapEe5BzUc1Cj4F0I+eLBBFj6hA==
|
||||
dependencies:
|
||||
fault "^1.0.2"
|
||||
highlight.js "~9.13.0"
|
||||
fault "^1.0.0"
|
||||
highlight.js "~10.6.0"
|
||||
|
||||
lru-cache@4.1.x, lru-cache@^4.0.1, lru-cache@^4.1.2, lru-cache@^4.1.5:
|
||||
version "4.1.5"
|
||||
|
@ -8072,13 +8067,13 @@ markdown-it@11.0.0:
|
|||
mdurl "^1.0.1"
|
||||
uc.micro "^1.0.5"
|
||||
|
||||
markdown-it@^8.4.2:
|
||||
version "8.4.2"
|
||||
resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.2.tgz#386f98998dc15a37722aa7722084f4020bdd9b54"
|
||||
integrity sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==
|
||||
markdown-it@^10.0.0:
|
||||
version "10.0.0"
|
||||
resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc"
|
||||
integrity sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==
|
||||
dependencies:
|
||||
argparse "^1.0.7"
|
||||
entities "~1.1.1"
|
||||
entities "~2.0.0"
|
||||
linkify-it "^2.0.0"
|
||||
mdurl "^1.0.1"
|
||||
uc.micro "^1.0.5"
|
||||
|
@ -9043,10 +9038,10 @@ optionator@^0.9.1:
|
|||
type-check "^0.4.0"
|
||||
word-wrap "^1.2.3"
|
||||
|
||||
orderedmap@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/orderedmap/-/orderedmap-1.0.0.tgz#d90fc2ba1ed085190907d601dec6e6a53f8d41ba"
|
||||
integrity sha1-2Q/Cuh7QhRkJB9YB3sbmpT+NQbo=
|
||||
orderedmap@^1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/orderedmap/-/orderedmap-1.1.1.tgz#c618e77611b3b21d0fe3edc92586265e0059c789"
|
||||
integrity sha512-3Ux8um0zXbVacKUkcytc0u3HgC0b0bBLT+I60r2J/En72cI0nZffqrA7Xtf2Hqs27j1g82llR5Mhbd0Z1XW4AQ==
|
||||
|
||||
original@^1.0.0:
|
||||
version "1.0.2"
|
||||
|
@ -9703,117 +9698,119 @@ prompts@^2.0.1:
|
|||
kleur "^3.0.3"
|
||||
sisteransi "^1.0.4"
|
||||
|
||||
prosemirror-commands@^1.0.7:
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.0.7.tgz#e5a2ba821e29ea7065c88277fe2c3d7f6b0b9d37"
|
||||
integrity sha512-IR8yMSdw7XlKuF68tydAak1J9P/lLD5ohsrL7pzoLsJAJAQU7mVPDXtGbQrrm0mesddFjcc1zNo/cJQN3lRYnA==
|
||||
prosemirror-collab@^1.2.2:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-collab/-/prosemirror-collab-1.2.2.tgz#8d2c0e82779cfef5d051154bd0836428bd6d9c4a"
|
||||
integrity sha512-tBnHKMLgy5Qmx9MYVcLfs3pAyjtcqYYDd9kp3y+LSiQzkhMQDfZSV3NXWe4Gsly32adSef173BvObwfoSQL5MA==
|
||||
dependencies:
|
||||
prosemirror-state "^1.0.0"
|
||||
|
||||
prosemirror-commands@^1.1.4:
|
||||
version "1.1.7"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.1.7.tgz#5b31ae0fe82835d36d22c780641c0b651f27dd03"
|
||||
integrity sha512-tuQr8q5euDjE+WAHWmu1JMLYWsPfUDH80QLLpnQrPYOPysO26FZyyHwEvA0+hUzvF8fOt1oMj0+/YM9UsPkZiA==
|
||||
dependencies:
|
||||
prosemirror-model "^1.0.0"
|
||||
prosemirror-state "^1.0.0"
|
||||
prosemirror-transform "^1.0.0"
|
||||
|
||||
prosemirror-dropcursor@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-dropcursor/-/prosemirror-dropcursor-1.1.1.tgz#c60ed1ed6c58804a06a75db06a0d993b087b7622"
|
||||
integrity sha512-GeUyMO/tOEf8MXrP7Xb7UIMrfK86OGh0fnyBrHfhav4VjY9cw65mNoqHy87CklE5711AhCP5Qzfp8RL/hVKusg==
|
||||
prosemirror-dropcursor@^1.3.2:
|
||||
version "1.3.3"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-dropcursor/-/prosemirror-dropcursor-1.3.3.tgz#583d6a82b4960d468132c07c40803cc1d697fda4"
|
||||
integrity sha512-zavE+wh+qkDcP7LaWn+jXVujGyQzBYSmM8E2HSngQ3KaaR+HJYgEBYGs9ynLHqKWLlLCXsxWdVYPV49v4caFyg==
|
||||
dependencies:
|
||||
prosemirror-state "^1.0.0"
|
||||
prosemirror-transform "^1.1.0"
|
||||
prosemirror-view "^1.1.0"
|
||||
|
||||
prosemirror-gapcursor@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-gapcursor/-/prosemirror-gapcursor-1.0.3.tgz#acc6537fc5a35e9b38966f91a199a382dfc715c4"
|
||||
integrity sha512-X+hJhr42PcHWiSWL+lI5f/UeOhXCxlBFb8M6O8aG1hssmaRrW7sS2/Fjg5jFV+pTdS1REFkmm1occh01FMdDIQ==
|
||||
prosemirror-gapcursor@^1.1.5:
|
||||
version "1.1.5"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-gapcursor/-/prosemirror-gapcursor-1.1.5.tgz#0c37fd6cbb1d7c46358c2e7397f8da9a8b5c6246"
|
||||
integrity sha512-SjbUZq5pgsBDuV3hu8GqgIpZR5eZvGLM+gPQTqjVVYSMUCfKW3EGXTEYaLHEl1bGduwqNC95O3bZflgtAb4L6w==
|
||||
dependencies:
|
||||
prosemirror-keymap "^1.0.0"
|
||||
prosemirror-model "^1.0.0"
|
||||
prosemirror-state "^1.0.0"
|
||||
prosemirror-view "^1.0.0"
|
||||
|
||||
prosemirror-history@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.0.3.tgz#5fb8591adfc272afaaf0b41bec64ee7d9522a118"
|
||||
integrity sha512-IfFGbhafSx+R3aq7nLJGkXeu2iaUiP8mkU3aRu2uQcIIjU8Fq7RJfuvhIOJ2RNUoSyqF/ANkdTjnZ74F5eHs1Q==
|
||||
prosemirror-history@^1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.1.3.tgz#4f76a1e71db4ef7cdf0e13dec6d8da2aeaecd489"
|
||||
integrity sha512-zGDotijea+vnfnyyUGyiy1wfOQhf0B/b6zYcCouBV8yo6JmrE9X23M5q7Nf/nATywEZbgRLG70R4DmfSTC+gfg==
|
||||
dependencies:
|
||||
prosemirror-state "^1.2.2"
|
||||
prosemirror-transform "^1.0.0"
|
||||
rope-sequence "^1.2.0"
|
||||
rope-sequence "^1.3.0"
|
||||
|
||||
prosemirror-inputrules@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-inputrules/-/prosemirror-inputrules-1.0.1.tgz#f63305fd966379f218e82ca76a2a9b328b66dc7b"
|
||||
integrity sha512-UHy22NmwxS5WIMQYkzraDttQAF8mpP82FfbJsmKFfx6jwkR/SZa+ZhbkLY0zKQ5fBdJN7euj36JG/B5iAlrpxA==
|
||||
dependencies:
|
||||
prosemirror-state "^1.0.0"
|
||||
prosemirror-transform "^1.0.0"
|
||||
|
||||
prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-keymap/-/prosemirror-keymap-1.0.1.tgz#03ef32b828e3a859dfb570eb84928bf2e5330bc2"
|
||||
integrity sha512-e79ApE7PXXZMFtPz7WbjycjAFd1NPjgY1MkecVz98tqwlBSggXWXYQnWFk6x7UkmnBYRHHbXHkR/RXmu2wyBJg==
|
||||
dependencies:
|
||||
prosemirror-state "^1.0.0"
|
||||
w3c-keyname "^1.1.8"
|
||||
|
||||
prosemirror-markdown@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-markdown/-/prosemirror-markdown-1.3.0.tgz#a100d14c27da7d8fb70818230d786898eeadb7fa"
|
||||
integrity sha512-76l3yLB/suy6sA7LpzRJvRRWkHtKwOTpgWVNwmlIAIIZJeMypWSPldT/gFyIG604eyXEPZitnx+j80Y2DpbnUQ==
|
||||
dependencies:
|
||||
markdown-it "^8.4.2"
|
||||
prosemirror-model "^1.0.0"
|
||||
|
||||
prosemirror-model@^1.0.0, prosemirror-model@^1.1.0, prosemirror-model@^1.6.4:
|
||||
version "1.6.4"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.6.4.tgz#2ac37a629448a7dbfd1635450e2fdd63c3450d7d"
|
||||
integrity sha512-C2ALle8fZsAza+6stUF9Gv28jH9XtpNeczb33bowGlnb2cpNI4FZf1HHUyZjf6ou4cEvOlbt6fAYsT4NCKmlcQ==
|
||||
dependencies:
|
||||
orderedmap "^1.0.0"
|
||||
|
||||
prosemirror-schema-list@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-schema-list/-/prosemirror-schema-list-1.0.1.tgz#f216e0cf4809b6074aa27912449ac89897f1ae94"
|
||||
integrity sha512-AiLIX6qm6PEeDtMCKZLcSLi55WXo1ls7DnRK+4hSkoi0IIzNdxGsRlecCd3MzEu//DVz3nAEh+zEmslyW+uk8g==
|
||||
dependencies:
|
||||
prosemirror-model "^1.0.0"
|
||||
prosemirror-transform "^1.0.0"
|
||||
|
||||
prosemirror-state@^1.0.0, prosemirror-state@^1.2.1, prosemirror-state@^1.2.2:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-state/-/prosemirror-state-1.2.2.tgz#8df26d95fd6fd327c0f9984a760e84d863204154"
|
||||
integrity sha512-j8aC/kf9BJSCQau485I/9pj39XQoce+TqH5xzekT7WWFARTsRYFLJtiXBcCKakv1VSeev+sC3bJP0pLfz7Ft8g==
|
||||
dependencies:
|
||||
prosemirror-model "^1.0.0"
|
||||
prosemirror-transform "^1.0.0"
|
||||
|
||||
prosemirror-tables@^0.7.10, prosemirror-tables@^0.7.9:
|
||||
version "0.7.10"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-tables/-/prosemirror-tables-0.7.10.tgz#4b0f623422b4b8f84cdc9c559f8a87579846b3ba"
|
||||
integrity sha512-VIu7UGS9keYEHs0Y6AEOTGbNE9QI2rL1OKng4vV6yoTshW/lYcb+s3hGXI12i+WLMjDVm7ujhfdWrpKpvFZOkQ==
|
||||
dependencies:
|
||||
prosemirror-keymap "^1.0.0"
|
||||
prosemirror-model "^1.0.0"
|
||||
prosemirror-state "^1.0.0"
|
||||
prosemirror-transform "^1.0.0"
|
||||
prosemirror-view "^1.0.0"
|
||||
|
||||
prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0:
|
||||
prosemirror-inputrules@^1.1.2, prosemirror-inputrules@^1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-transform/-/prosemirror-transform-1.1.3.tgz#28cfdf1f9ee514edc40466be7b7db39eed545fdf"
|
||||
integrity sha512-1O6Di5lOL1mp4nuCnQNkHY7l2roIW5y8RH4ZG3hMYmkmDEWzTaFFnxxAAHsE5ipGLBSRcTlP7SsDhYBIdSuLpQ==
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-inputrules/-/prosemirror-inputrules-1.1.3.tgz#93f9199ca02473259c30d7e352e4c14022d54638"
|
||||
integrity sha512-ZaHCLyBtvbyIHv0f5p6boQTIJjlD6o2NPZiEaZWT2DA+j591zS29QQEMT4lBqwcLW3qRSf7ZvoKNbf05YrsStw==
|
||||
dependencies:
|
||||
prosemirror-state "^1.0.0"
|
||||
prosemirror-transform "^1.0.0"
|
||||
|
||||
prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.1.2, prosemirror-keymap@^1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-keymap/-/prosemirror-keymap-1.1.4.tgz#8b481bf8389a5ac40d38dbd67ec3da2c7eac6a6d"
|
||||
integrity sha512-Al8cVUOnDFL4gcI5IDlG6xbZ0aOD/i3B17VT+1JbHWDguCgt/lBHVTHUBcKvvbSg6+q/W4Nj1Fu6bwZSca3xjg==
|
||||
dependencies:
|
||||
prosemirror-state "^1.0.0"
|
||||
w3c-keyname "^2.2.0"
|
||||
|
||||
prosemirror-markdown@^1.5.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-markdown/-/prosemirror-markdown-1.5.1.tgz#877c7faea2225d3c52e988599bbe4457bcb3190f"
|
||||
integrity sha512-QvucPHx+gKOQW1SETKUysrful9VBjKqpCFmPotgLfVZ3BdQEGy/NEIFhaXXo3TcuW316MMnKfA90K7GE5I7z8A==
|
||||
dependencies:
|
||||
markdown-it "^10.0.0"
|
||||
prosemirror-model "^1.0.0"
|
||||
|
||||
prosemirror-model@^1.0.0, prosemirror-model@^1.1.0, prosemirror-model@^1.13.1, prosemirror-model@^1.13.3, prosemirror-model@^1.8.1:
|
||||
version "1.13.3"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.13.3.tgz#3ccfde73b9c9e706933c72bdf7462906509ff1c9"
|
||||
integrity sha512-wujIYYQEcxdkbKmIJiekVjqtylKxuoEcc+w2PnN7Itc58m/75J4rCUz2dibygVQJFi3gZrD2DNFLjOS6LP4w1g==
|
||||
dependencies:
|
||||
orderedmap "^1.1.0"
|
||||
|
||||
prosemirror-schema-list@^1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-schema-list/-/prosemirror-schema-list-1.1.4.tgz#471f9caf2d2bed93641d2e490434c0d2d4330df1"
|
||||
integrity sha512-pNTuZflacFOBlxrTcWSdWhjoB8BaucwfJVp/gJNxztOwaN3wQiC65axclXyplf6TKgXD/EkWfS/QAov3/Znadw==
|
||||
dependencies:
|
||||
prosemirror-model "^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.3.3:
|
||||
version "1.3.4"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-state/-/prosemirror-state-1.3.4.tgz#4c6b52628216e753fc901c6d2bfd84ce109e8952"
|
||||
integrity sha512-Xkkrpd1y/TQ6HKzN3agsQIGRcLckUMA9u3j207L04mt8ToRgpGeyhbVv0HI7omDORIBHjR29b7AwlATFFf2GLA==
|
||||
dependencies:
|
||||
prosemirror-model "^1.0.0"
|
||||
prosemirror-transform "^1.0.0"
|
||||
|
||||
prosemirror-tables@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-tables/-/prosemirror-tables-1.1.1.tgz#ad66300cc49500455cf1243bb129c9e7d883321e"
|
||||
integrity sha512-LmCz4jrlqQZRsYRDzCRYf/pQ5CUcSOyqZlAj5kv67ZWBH1SVLP2U9WJEvQfimWgeRlIz0y0PQVqO1arRm1+woA==
|
||||
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-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transform@^1.2.1, prosemirror-transform@^1.2.8:
|
||||
version "1.2.12"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-transform/-/prosemirror-transform-1.2.12.tgz#4398b568faf75a1540fbf5c659ca436a8657ed6f"
|
||||
integrity sha512-S73syqLcGBq6QiPaF7vriB8kpvK/aIFsnErrriKaFLSiE/GxMgBc62TPhNQAeGQr7/9GCDApIReTsJFcMt4o2w==
|
||||
dependencies:
|
||||
prosemirror-model "^1.0.0"
|
||||
|
||||
prosemirror-utils@^0.7.5:
|
||||
version "0.7.5"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-utils/-/prosemirror-utils-0.7.5.tgz#11b477647b672ec8f10679ab298a5823dad6457a"
|
||||
integrity sha512-F+63BUiBkUQb1S07c3rGHXjE4MDaZ5OjsNhmaO7eDdSh1lUNORTJJHrvlFEZKnLM7ChoDDXTIKhWNQwnCssQfA==
|
||||
|
||||
prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.6.8:
|
||||
version "1.6.8"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.6.8.tgz#33fc1a6e2731633e5d6dc1af1967378f15810b74"
|
||||
integrity sha512-YWX3rfji77xsU5EErt4ZoecVytYW9/4oHBYhV1MUHGMYIcppe+QZEBgRlyPMBUuu0lxdZX4m3sq7fCsDvv/MlQ==
|
||||
prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.3, prosemirror-view@^1.16.5:
|
||||
version "1.18.0"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.18.0.tgz#92d27b2583877938c529e173e6e3a0f3f6aa0e1c"
|
||||
integrity sha512-UoY29oeWruT6RKhH7wGytUBVrlaszNx43wvOxZPCMjYPvKBT21EIXR8Ezr/3XstvFVBQAWdDh6Ke0qHmF43y/A==
|
||||
dependencies:
|
||||
prosemirror-model "^1.1.0"
|
||||
prosemirror-state "^1.0.0"
|
||||
|
@ -10430,10 +10427,10 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
|
|||
hash-base "^2.0.0"
|
||||
inherits "^2.0.1"
|
||||
|
||||
rope-sequence@^1.2.0:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/rope-sequence/-/rope-sequence-1.2.2.tgz#49c4e5c2f54a48e990b050926771e2871bcb31ce"
|
||||
integrity sha1-ScTlwvVKSOmQsFCSZ3HihxvLMc4=
|
||||
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==
|
||||
|
||||
route-recognizer@^0.3.3:
|
||||
version "0.3.4"
|
||||
|
@ -11592,56 +11589,60 @@ tiny-emitter@^2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.0.2.tgz#82d27468aca5ade8e5fd1e6d22b57dd43ebdfb7c"
|
||||
integrity sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==
|
||||
|
||||
tiptap-commands@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/tiptap-commands/-/tiptap-commands-1.4.0.tgz#0cfb3ac138ee3099de56114cb119abd841fbcbe7"
|
||||
integrity sha512-ytO8jFXgufK5DziamTaVojzUTolWvL4m2xNXaLkAVJYy9CWXruMK7avqeLoFYPI4GZlhleMn5i4gzYTbD7e2jA==
|
||||
tiptap-commands@^1.17.1:
|
||||
version "1.17.1"
|
||||
resolved "https://registry.yarnpkg.com/tiptap-commands/-/tiptap-commands-1.17.1.tgz#a8974a26d87db57b2fd4fc56a552520c69e43a4a"
|
||||
integrity sha512-CyGvMD/c6fNer5LThWGtrVMXHAqHn93ivGQpqJ58x3HNZFuoIiF9QTWXAiWbY/4QrG0ANYHKCSe9n5afickTqw==
|
||||
dependencies:
|
||||
prosemirror-commands "^1.0.7"
|
||||
prosemirror-inputrules "^1.0.1"
|
||||
prosemirror-schema-list "^1.0.1"
|
||||
prosemirror-state "^1.2.2"
|
||||
tiptap-utils "^1.1.1"
|
||||
prosemirror-commands "^1.1.4"
|
||||
prosemirror-inputrules "^1.1.2"
|
||||
prosemirror-model "^1.13.1"
|
||||
prosemirror-schema-list "^1.1.4"
|
||||
prosemirror-state "^1.3.3"
|
||||
prosemirror-tables "^1.1.1"
|
||||
tiptap-utils "^1.13.1"
|
||||
|
||||
tiptap-extensions@^1.8.0:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/tiptap-extensions/-/tiptap-extensions-1.8.0.tgz#3067620a024f1a9e5fae4450790b143d7ebe4394"
|
||||
integrity sha512-1JN9uk5QnA7DTID1j07gIBEqeOnRd6lwZ5rx/zqWXJLyreZu8VDPvP939tfP41GskO4oicGlhmsQ0aEnA5QYDw==
|
||||
tiptap-extensions@^1.35.1:
|
||||
version "1.35.1"
|
||||
resolved "https://registry.yarnpkg.com/tiptap-extensions/-/tiptap-extensions-1.35.1.tgz#6227362b08dbad8d0ab0141b508876deca276c55"
|
||||
integrity sha512-aCYvEKPUUtHBALBFQ9n70Iy/nfu/8DHHYkeXMgUJuwLLJ6LrJQBqUnV5EGRwPxNalNdqTdXjV+2z5flZfisovQ==
|
||||
dependencies:
|
||||
lowlight "^1.11.0"
|
||||
prosemirror-history "^1.0.3"
|
||||
prosemirror-state "^1.2.2"
|
||||
prosemirror-tables "^0.7.10"
|
||||
prosemirror-utils "^0.7.5"
|
||||
prosemirror-view "^1.6.8"
|
||||
tiptap "^1.8.0"
|
||||
tiptap-commands "^1.4.0"
|
||||
lowlight "^1.17.0"
|
||||
prosemirror-collab "^1.2.2"
|
||||
prosemirror-history "^1.1.3"
|
||||
prosemirror-model "^1.13.1"
|
||||
prosemirror-state "^1.3.3"
|
||||
prosemirror-tables "^1.1.1"
|
||||
prosemirror-transform "^1.2.8"
|
||||
prosemirror-view "^1.16.5"
|
||||
tiptap "^1.32.1"
|
||||
tiptap-commands "^1.17.1"
|
||||
tiptap-utils "^1.13.1"
|
||||
|
||||
tiptap-utils@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/tiptap-utils/-/tiptap-utils-1.1.1.tgz#e7aad3e84eb35f7abed704d15da0420029789d0d"
|
||||
integrity sha512-yPIWwLFaL5a0GC7fcO7aoPlASnH3wOUQex0IlepNWbDCNycSL8shXhVx0HMN/tCnlp943zw1bwcYzpTW3wA4tw==
|
||||
tiptap-utils@^1.13.1:
|
||||
version "1.13.1"
|
||||
resolved "https://registry.yarnpkg.com/tiptap-utils/-/tiptap-utils-1.13.1.tgz#f2150ded432465d66aa03a5ab333803415cddd20"
|
||||
integrity sha512-RoCvMfkdu7fp9u7nsRr1OgsYU8RFjoHKHEKpx075rJ9X0t+j5Vxah9n6QzTTr4yjvcavq22WO2flFacm36zYtA==
|
||||
dependencies:
|
||||
prosemirror-model "^1.6.4"
|
||||
prosemirror-state "^1.2.2"
|
||||
prosemirror-tables "^0.7.9"
|
||||
prosemirror-utils "^0.7.5"
|
||||
prosemirror-model "^1.13.1"
|
||||
prosemirror-state "^1.3.3"
|
||||
prosemirror-tables "^1.1.1"
|
||||
|
||||
tiptap@^1.8.0:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/tiptap/-/tiptap-1.8.0.tgz#c671188075ffa5ee4f86470f95818fd9ce6f1040"
|
||||
integrity sha512-zIcVY8U1Wgj4bg3R4pX5a2BCpZUw/dTCh259VZ9g5MtClnzdLW2XpKCcwqfa9iUBEs6MCPSnB3t8jGRtGciHJg==
|
||||
tiptap@^1.32.1:
|
||||
version "1.32.1"
|
||||
resolved "https://registry.yarnpkg.com/tiptap/-/tiptap-1.32.1.tgz#92b47008d163e31d25d44dc18809a7e928fe1daf"
|
||||
integrity sha512-jXET6IAuvE67GdpcGdNE/RQ7I1eoeULXSrbriAa5fnyTUJQsDICd31/8LVaCh10OV1qkvQVCg/6oL1lQdakBLA==
|
||||
dependencies:
|
||||
prosemirror-commands "^1.0.7"
|
||||
prosemirror-dropcursor "^1.1.1"
|
||||
prosemirror-gapcursor "^1.0.3"
|
||||
prosemirror-inputrules "^1.0.1"
|
||||
prosemirror-keymap "^1.0.1"
|
||||
prosemirror-model "^1.6.4"
|
||||
prosemirror-state "^1.2.1"
|
||||
prosemirror-view "^1.6.8"
|
||||
tiptap-commands "^1.4.0"
|
||||
tiptap-utils "^1.1.1"
|
||||
prosemirror-commands "^1.1.4"
|
||||
prosemirror-dropcursor "^1.3.2"
|
||||
prosemirror-gapcursor "^1.1.5"
|
||||
prosemirror-inputrules "^1.1.3"
|
||||
prosemirror-keymap "^1.1.4"
|
||||
prosemirror-model "^1.13.1"
|
||||
prosemirror-state "^1.3.3"
|
||||
prosemirror-view "^1.16.5"
|
||||
tiptap-commands "^1.17.1"
|
||||
tiptap-utils "^1.13.1"
|
||||
|
||||
tmp@0.0.33, tmp@0.0.x:
|
||||
version "0.0.33"
|
||||
|
@ -12450,10 +12451,10 @@ w3c-hr-time@^1.0.2:
|
|||
dependencies:
|
||||
browser-process-hrtime "^1.0.0"
|
||||
|
||||
w3c-keyname@^1.1.8:
|
||||
version "1.1.8"
|
||||
resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-1.1.8.tgz#4e2219663760fd6535b7a1550f1552d71fc9372c"
|
||||
integrity sha512-2HAdug8GTiu3b4NYhssdtY8PXRue3ICnh1IlxvZYl+hiINRq0GfNWei3XOPDg8L0PsxbmYjWVLuLj6BMRR/9vA==
|
||||
w3c-keyname@^2.2.0:
|
||||
version "2.2.4"
|
||||
resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.4.tgz#4ade6916f6290224cdbd1db8ac49eab03d0eef6b"
|
||||
integrity sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==
|
||||
|
||||
w3c-xmlserializer@^2.0.0:
|
||||
version "2.0.0"
|
||||
|
|
Loading…
Reference in New Issue