gitextract_3fklok8x/ ├── .editorconfig ├── .eslintrc.js ├── .gitattributes ├── .github/ │ ├── .kodiak.toml │ ├── CODEOWNERS │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── stale.yml │ └── workflows/ │ ├── create-release.yml │ ├── labeler.yml │ ├── nodejs.yml │ ├── publish.yml │ └── sponsors.yml ├── .gitignore ├── .husky/ │ └── commit-msg ├── .npmrc ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── .storybook/ │ └── main.js ├── .stylelintrc ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── __mocks__/ │ └── styleMock.js ├── babel.config.js ├── commitlint.config.js ├── cypress/ │ ├── Readme.md │ ├── e2e/ │ │ ├── common/ │ │ │ ├── editorial_workflow.js │ │ │ ├── editorial_workflow_migrations.js │ │ │ ├── entries.js │ │ │ ├── i18n.js │ │ │ ├── i18n_editorial_workflow_spec.js │ │ │ ├── media_library.js │ │ │ ├── open_authoring.js │ │ │ ├── simple_workflow.js │ │ │ └── spec_utils.js │ │ ├── editorial_workflow_spec_bitbucket_backend.js │ │ ├── editorial_workflow_spec_git-gateway_github_backend.js │ │ ├── editorial_workflow_spec_git-gateway_gitlab_backend.js │ │ ├── editorial_workflow_spec_github_backend_graphql.js │ │ ├── editorial_workflow_spec_github_backend_graphql_open_authoring.js │ │ ├── editorial_workflow_spec_github_backend_rest.js │ │ ├── editorial_workflow_spec_github_backend_rest_open_authoring.js │ │ ├── editorial_workflow_spec_gitlab_backend.js │ │ ├── editorial_workflow_spec_proxy_git_backend.js │ │ ├── editorial_workflow_spec_test_backend.js │ │ ├── field_validations_spec.js │ │ ├── i18n_editorial_workflow_spec_test_backend.js │ │ ├── i18n_simple_workflow_spec_proxy_fs_backend.js │ │ ├── markdown_widget_backspace_spec.js │ │ ├── markdown_widget_code_block_spec.js │ │ ├── markdown_widget_enter_spec.js │ │ ├── markdown_widget_hotkeys_spec.js │ │ ├── markdown_widget_link_spec.js │ │ ├── markdown_widget_list_spec.js │ │ ├── markdown_widget_marks_spec.js │ │ ├── markdown_widget_quote_spec.js │ │ ├── media_library_spec_bitbucket_backend.js │ │ ├── media_library_spec_bitbucket_backend_large_media.js │ │ ├── media_library_spec_git-gateway_github_backend_large_media.js │ │ ├── media_library_spec_git-gateway_gitlab_backend_large_media.js │ │ ├── media_library_spec_github_backend_graphql.js │ │ ├── media_library_spec_github_backend_rest.js │ │ ├── media_library_spec_gitlab_backend.js │ │ ├── media_library_spec_proxy_git_backend.js │ │ ├── media_library_spec_test_backend.js │ │ ├── search_suggestion_spec.js │ │ ├── simple_workflow_spec_bitbucket_backend.js │ │ ├── simple_workflow_spec_git-gateway_github_backend.js │ │ ├── simple_workflow_spec_git-gateway_gitlab_backend.js │ │ ├── simple_workflow_spec_github_backend_graphql.js │ │ ├── simple_workflow_spec_github_backend_rest.js │ │ ├── simple_workflow_spec_gitlab_backend.js │ │ ├── simple_workflow_spec_proxy_fs_backend.js │ │ ├── simple_workflow_spec_proxy_git_backend.js │ │ ├── simple_workflow_spec_test_backend.js │ │ ├── view_filters_spec.js │ │ └── view_groups_spec.js │ ├── fixtures/ │ │ ├── BitBucket Backend Editorial Workflow__can change status on and publish multiple entries.json │ │ ├── BitBucket Backend Editorial Workflow__can change workflow status.json │ │ ├── BitBucket Backend Editorial Workflow__can create an entry.json │ │ ├── BitBucket Backend Editorial Workflow__can delete an entry.json │ │ ├── BitBucket Backend Editorial Workflow__can publish an editorial workflow entry.json │ │ ├── BitBucket Backend Editorial Workflow__can update an entry.json │ │ ├── BitBucket Backend Editorial Workflow__can update workflow status from within the editor.json │ │ ├── BitBucket Backend Editorial Workflow__successfully loads.json │ │ ├── BitBucket Backend Media Library - Large Media__can delete image from global media library.json │ │ ├── BitBucket Backend Media Library - Large Media__can publish entry with image.json │ │ ├── BitBucket Backend Media Library - Large Media__can save entry with image.json │ │ ├── BitBucket Backend Media Library - Large Media__can upload image from entry media library.json │ │ ├── BitBucket Backend Media Library - Large Media__can upload image from global media library.json │ │ ├── BitBucket Backend Media Library - Large Media__should not show draft entry image in global media library.json │ │ ├── BitBucket Backend Media Library - Large Media__should show published entry image in global media library.json │ │ ├── BitBucket Backend Media Library - Large Media__should show published entry image in grid view.json │ │ ├── BitBucket Backend Media Library - REST API__can delete image from global media library.json │ │ ├── BitBucket Backend Media Library - REST API__can publish entry with image.json │ │ ├── BitBucket Backend Media Library - REST API__can save entry with image.json │ │ ├── BitBucket Backend Media Library - REST API__can upload image from entry media library.json │ │ ├── BitBucket Backend Media Library - REST API__can upload image from global media library.json │ │ ├── BitBucket Backend Media Library - REST API__should not show draft entry image in global media library.json │ │ ├── BitBucket Backend Media Library - REST API__should show published entry image in global media library.json │ │ ├── BitBucket Backend Media Library - REST API__should show published entry image in grid view.json │ │ ├── BitBucket Backend Simple Workflow__can create an entry.json │ │ ├── BitBucket Backend Simple Workflow__successfully loads.json │ │ ├── Git Gateway (GitHub) Backend Editorial Workflow__can change status on and publish multiple entries.json │ │ ├── Git Gateway (GitHub) Backend Editorial Workflow__can change workflow status.json │ │ ├── Git Gateway (GitHub) Backend Editorial Workflow__can create an entry.json │ │ ├── Git Gateway (GitHub) Backend Editorial Workflow__can delete an entry.json │ │ ├── Git Gateway (GitHub) Backend Editorial Workflow__can publish an editorial workflow entry.json │ │ ├── Git Gateway (GitHub) Backend Editorial Workflow__can update an entry.json │ │ ├── Git Gateway (GitHub) Backend Editorial Workflow__can update workflow status from within the editor.json │ │ ├── Git Gateway (GitHub) Backend Editorial Workflow__successfully loads.json │ │ ├── Git Gateway (GitHub) Backend Media Library - Large Media__can delete image from global media library.json │ │ ├── Git Gateway (GitHub) Backend Media Library - Large Media__can publish entry with image.json │ │ ├── Git Gateway (GitHub) Backend Media Library - Large Media__can save entry with image.json │ │ ├── Git Gateway (GitHub) Backend Media Library - Large Media__can upload image from entry media library.json │ │ ├── Git Gateway (GitHub) Backend Media Library - Large Media__can upload image from global media library.json │ │ ├── Git Gateway (GitHub) Backend Media Library - Large Media__should not show draft entry image in global media library.json │ │ ├── Git Gateway (GitHub) Backend Media Library - Large Media__should show published entry image in global media library.json │ │ ├── Git Gateway (GitHub) Backend Media Library - Large Media__should show published entry image in grid view.json │ │ ├── Git Gateway (GitHub) Backend Simple Workflow__can create an entry.json │ │ ├── Git Gateway (GitHub) Backend Simple Workflow__successfully loads.json │ │ ├── Git Gateway (GitLab) Backend Editorial Workflow__can change status on and publish multiple entries.json │ │ ├── Git Gateway (GitLab) Backend Editorial Workflow__can change workflow status.json │ │ ├── Git Gateway (GitLab) Backend Editorial Workflow__can create an entry.json │ │ ├── Git Gateway (GitLab) Backend Editorial Workflow__can delete an entry.json │ │ ├── Git Gateway (GitLab) Backend Editorial Workflow__can publish an editorial workflow entry.json │ │ ├── Git Gateway (GitLab) Backend Editorial Workflow__can update an entry.json │ │ ├── Git Gateway (GitLab) Backend Editorial Workflow__can update workflow status from within the editor.json │ │ ├── Git Gateway (GitLab) Backend Editorial Workflow__successfully loads.json │ │ ├── Git Gateway (GitLab) Backend Media Library - Large Media__can delete image from global media library.json │ │ ├── Git Gateway (GitLab) Backend Media Library - Large Media__can publish entry with image.json │ │ ├── Git Gateway (GitLab) Backend Media Library - Large Media__can save entry with image.json │ │ ├── Git Gateway (GitLab) Backend Media Library - Large Media__can upload image from entry media library.json │ │ ├── Git Gateway (GitLab) Backend Media Library - Large Media__can upload image from global media library.json │ │ ├── Git Gateway (GitLab) Backend Media Library - Large Media__should not show draft entry image in global media library.json │ │ ├── Git Gateway (GitLab) Backend Media Library - Large Media__should show published entry image in global media library.json │ │ ├── Git Gateway (GitLab) Backend Media Library - Large Media__should show published entry image in grid view.json │ │ ├── Git Gateway (GitLab) Backend Simple Workflow__can create an entry.json │ │ ├── Git Gateway (GitLab) Backend Simple Workflow__successfully loads.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API - Open Authoring__can change entry status from fork.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API - Open Authoring__can create an entry on fork.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API - Open Authoring__can create an entry.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API - Open Authoring__can delete review entry from fork.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API - Open Authoring__can publish an editorial workflow entry.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API - Open Authoring__can return entry to draft and delete it.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API - Open Authoring__can update a draft entry on fork.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API - Open Authoring__can update an entry.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API - Open Authoring__successfully forks repository and loads.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API - Open Authoring__successfully loads.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API__can change status on and publish multiple entries.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API__can change workflow status.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API__can create an entry.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API__can delete an entry.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API__can publish an editorial workflow entry.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API__can update an entry.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API__can update workflow status from within the editor.json │ │ ├── GitHub Backend Editorial Workflow - GraphQL API__successfully loads.json │ │ ├── GitHub Backend Editorial Workflow - REST API - Open Authoring__can change entry status from fork.json │ │ ├── GitHub Backend Editorial Workflow - REST API - Open Authoring__can create an entry on fork.json │ │ ├── GitHub Backend Editorial Workflow - REST API - Open Authoring__can create an entry.json │ │ ├── GitHub Backend Editorial Workflow - REST API - Open Authoring__can delete review entry from fork.json │ │ ├── GitHub Backend Editorial Workflow - REST API - Open Authoring__can publish an editorial workflow entry.json │ │ ├── GitHub Backend Editorial Workflow - REST API - Open Authoring__can return entry to draft and delete it.json │ │ ├── GitHub Backend Editorial Workflow - REST API - Open Authoring__can update a draft entry on fork.json │ │ ├── GitHub Backend Editorial Workflow - REST API - Open Authoring__can update an entry.json │ │ ├── GitHub Backend Editorial Workflow - REST API - Open Authoring__successfully forks repository and loads.json │ │ ├── GitHub Backend Editorial Workflow - REST API - Open Authoring__successfully loads.json │ │ ├── GitHub Backend Editorial Workflow - REST API__can change status on and publish multiple entries.json │ │ ├── GitHub Backend Editorial Workflow - REST API__can change workflow status.json │ │ ├── GitHub Backend Editorial Workflow - REST API__can create an entry.json │ │ ├── GitHub Backend Editorial Workflow - REST API__can delete an entry.json │ │ ├── GitHub Backend Editorial Workflow - REST API__can publish an editorial workflow entry.json │ │ ├── GitHub Backend Editorial Workflow - REST API__can update an entry.json │ │ ├── GitHub Backend Editorial Workflow - REST API__can update workflow status from within the editor.json │ │ ├── GitHub Backend Editorial Workflow - REST API__successfully loads.json │ │ ├── GitHub Backend Editorial Workflow Migration - REST API__migrate from 2.10.24 to latest.json │ │ ├── GitHub Backend Editorial Workflow Migration - REST API__migrate from 2.9.7 to latest.json │ │ ├── GitHub Backend Media Library - GraphQL API__can delete image from global media library.json │ │ ├── GitHub Backend Media Library - GraphQL API__can publish entry with image.json │ │ ├── GitHub Backend Media Library - GraphQL API__can save entry with image.json │ │ ├── GitHub Backend Media Library - GraphQL API__can upload image from entry media library.json │ │ ├── GitHub Backend Media Library - GraphQL API__can upload image from global media library.json │ │ ├── GitHub Backend Media Library - GraphQL API__should not show draft entry image in global media library.json │ │ ├── GitHub Backend Media Library - GraphQL API__should show published entry image in global media library.json │ │ ├── GitHub Backend Media Library - GraphQL API__should show published entry image in grid view.json │ │ ├── GitHub Backend Media Library - REST API__can delete image from global media library.json │ │ ├── GitHub Backend Media Library - REST API__can publish entry with image.json │ │ ├── GitHub Backend Media Library - REST API__can save entry with image.json │ │ ├── GitHub Backend Media Library - REST API__can upload image from entry media library.json │ │ ├── GitHub Backend Media Library - REST API__can upload image from global media library.json │ │ ├── GitHub Backend Media Library - REST API__should not show draft entry image in global media library.json │ │ ├── GitHub Backend Media Library - REST API__should show published entry image in global media library.json │ │ ├── GitHub Backend Media Library - REST API__should show published entry image in grid view.json │ │ ├── GitHub Backend Simple Workflow - GraphQL API__can create an entry.json │ │ ├── GitHub Backend Simple Workflow - GraphQL API__successfully loads.json │ │ ├── GitHub Backend Simple Workflow - REST API__can create an entry.json │ │ ├── GitHub Backend Simple Workflow - REST API__successfully loads.json │ │ ├── GitHub Backend Simple Workflow__successfully loads.json │ │ ├── GitLab Backend Editorial Workflow__can change status on and publish multiple entries.json │ │ ├── GitLab Backend Editorial Workflow__can change workflow status.json │ │ ├── GitLab Backend Editorial Workflow__can create an entry.json │ │ ├── GitLab Backend Editorial Workflow__can delete an entry.json │ │ ├── GitLab Backend Editorial Workflow__can publish an editorial workflow entry.json │ │ ├── GitLab Backend Editorial Workflow__can update an entry.json │ │ ├── GitLab Backend Editorial Workflow__can update workflow status from within the editor.json │ │ ├── GitLab Backend Editorial Workflow__successfully loads.json │ │ ├── GitLab Backend Media Library - REST API__can delete image from global media library.json │ │ ├── GitLab Backend Media Library - REST API__can publish entry with image.json │ │ ├── GitLab Backend Media Library - REST API__can save entry with image.json │ │ ├── GitLab Backend Media Library - REST API__can upload image from entry media library.json │ │ ├── GitLab Backend Media Library - REST API__can upload image from global media library.json │ │ ├── GitLab Backend Media Library - REST API__should not show draft entry image in global media library.json │ │ ├── GitLab Backend Media Library - REST API__should show published entry image in global media library.json │ │ ├── GitLab Backend Media Library - REST API__should show published entry image in grid view.json │ │ ├── GitLab Backend Simple Workflow__can create an entry.json │ │ ├── GitLab Backend Simple Workflow__successfully loads.json │ │ └── example.json │ ├── plugins/ │ │ ├── bitbucket.js │ │ ├── common.js │ │ ├── gitGateway.js │ │ ├── github.js │ │ ├── gitlab.js │ │ ├── index.js │ │ ├── proxy.js │ │ └── testBackend.js │ ├── run.mjs │ ├── support/ │ │ ├── commands.js │ │ └── e2e.js │ └── utils/ │ ├── README.md │ ├── config.js │ ├── constants.js │ ├── dismiss-local-backup.js │ ├── mock-server.js │ ├── regexp.js │ └── steps.js ├── cypress.config.ts ├── dev-test/ │ ├── backends/ │ │ ├── azure/ │ │ │ ├── config.yml │ │ │ └── index.html │ │ ├── bitbucket/ │ │ │ ├── config.yml │ │ │ └── index.html │ │ ├── git-gateway/ │ │ │ ├── config.yml │ │ │ └── index.html │ │ ├── gitea/ │ │ │ ├── config.yml │ │ │ └── index.html │ │ ├── github/ │ │ │ ├── config.yml │ │ │ └── index.html │ │ ├── gitlab/ │ │ │ ├── config.yml │ │ │ └── index.html │ │ ├── proxy/ │ │ │ ├── config.yml │ │ │ └── index.html │ │ └── test/ │ │ ├── config.yml │ │ └── index.html │ ├── config.yml │ ├── example.css │ └── index.html ├── functions/ │ └── publish.js ├── jest.config.js ├── lerna.json ├── netlify.toml ├── nx.json ├── package.json ├── packages/ │ ├── decap-cms/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── shims/ │ │ │ ├── cms.css │ │ │ └── deprecate-old-dist.js │ │ ├── src/ │ │ │ ├── extensions.js │ │ │ └── index.js │ │ └── webpack.config.js │ ├── decap-cms-app/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── extensions.js │ │ │ ├── index.js │ │ │ └── locales.js │ │ └── webpack.config.js │ ├── decap-cms-backend-aws-cognito-github-proxy/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── AuthenticationPage.js │ │ │ ├── implementation.tsx │ │ │ └── index.ts │ │ └── webpack.config.js │ ├── decap-cms-backend-azure/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── API.ts │ │ │ ├── AuthenticationPage.js │ │ │ ├── implementation.ts │ │ │ └── index.ts │ │ └── webpack.config.js │ ├── decap-cms-backend-bitbucket/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── API.ts │ │ │ ├── AuthenticationPage.js │ │ │ ├── __tests__/ │ │ │ │ └── api.spec.js │ │ │ ├── git-lfs-client.ts │ │ │ ├── implementation.ts │ │ │ ├── index.ts │ │ │ └── types/ │ │ │ ├── semaphore.d.ts │ │ │ └── what-the-diff.d.ts │ │ └── webpack.config.js │ ├── decap-cms-backend-git-gateway/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── GitHubAPI.ts │ │ │ ├── GitLabAPI.ts │ │ │ ├── __tests__/ │ │ │ │ └── GitHubAPI.spec.js │ │ │ ├── implementation.ts │ │ │ ├── index.ts │ │ │ ├── netlify-lfs-client.ts │ │ │ └── types/ │ │ │ └── ini.d.ts │ │ └── webpack.config.js │ ├── decap-cms-backend-gitea/ │ │ ├── CHANGELOG.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── API.ts │ │ │ ├── AuthenticationPage.js │ │ │ ├── __tests__/ │ │ │ │ ├── API.spec.js │ │ │ │ └── implementation.spec.js │ │ │ ├── implementation.tsx │ │ │ ├── index.ts │ │ │ └── types.ts │ │ └── webpack.config.js │ ├── decap-cms-backend-github/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── scripts/ │ │ │ └── createFragmentTypes.js │ │ ├── src/ │ │ │ ├── API.ts │ │ │ ├── AuthenticationPage.js │ │ │ ├── GraphQLAPI.ts │ │ │ ├── __tests__/ │ │ │ │ ├── API.spec.js │ │ │ │ ├── GraphQLAPI.spec.js │ │ │ │ └── implementation.spec.js │ │ │ ├── fragmentTypes.js │ │ │ ├── fragments.ts │ │ │ ├── implementation.tsx │ │ │ ├── index.ts │ │ │ ├── mutations.ts │ │ │ ├── queries.ts │ │ │ └── types/ │ │ │ └── semaphore.d.ts │ │ └── webpack.config.js │ ├── decap-cms-backend-gitlab/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── API.ts │ │ │ ├── AuthenticationPage.js │ │ │ ├── __tests__/ │ │ │ │ ├── API.spec.js │ │ │ │ └── gitlab.spec.js │ │ │ ├── implementation.ts │ │ │ ├── index.ts │ │ │ └── queries.ts │ │ └── webpack.config.js │ ├── decap-cms-backend-proxy/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── AuthenticationPage.js │ │ │ ├── implementation.ts │ │ │ └── index.ts │ │ └── webpack.config.js │ ├── decap-cms-backend-test/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── AuthenticationPage.js │ │ │ ├── __tests__/ │ │ │ │ └── implementation.spec.js │ │ │ ├── implementation.ts │ │ │ └── index.ts │ │ └── webpack.config.js │ ├── decap-cms-core/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ └── backend.spec.js │ │ │ ├── actions/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── config.spec.js │ │ │ │ │ ├── editorialWorkflow.spec.js │ │ │ │ │ ├── entries.spec.js │ │ │ │ │ ├── media.spec.ts │ │ │ │ │ ├── mediaLibrary.spec.js │ │ │ │ │ └── search.spec.js │ │ │ │ ├── auth.ts │ │ │ │ ├── collections.ts │ │ │ │ ├── config.ts │ │ │ │ ├── deploys.ts │ │ │ │ ├── editorialWorkflow.ts │ │ │ │ ├── entries.ts │ │ │ │ ├── media.ts │ │ │ │ ├── mediaLibrary.ts │ │ │ │ ├── notifications.ts │ │ │ │ ├── search.ts │ │ │ │ ├── status.ts │ │ │ │ └── waitUntil.ts │ │ │ ├── backend.ts │ │ │ ├── bootstrap.js │ │ │ ├── components/ │ │ │ │ ├── App/ │ │ │ │ │ ├── App.js │ │ │ │ │ ├── Header.js │ │ │ │ │ └── NotFoundPage.js │ │ │ │ ├── Collection/ │ │ │ │ │ ├── Collection.js │ │ │ │ │ ├── CollectionControls.js │ │ │ │ │ ├── CollectionSearch.js │ │ │ │ │ ├── CollectionTop.js │ │ │ │ │ ├── ControlButton.js │ │ │ │ │ ├── Entries/ │ │ │ │ │ │ ├── Entries.js │ │ │ │ │ │ ├── EntriesCollection.js │ │ │ │ │ │ ├── EntriesSearch.js │ │ │ │ │ │ ├── EntryCard.js │ │ │ │ │ │ ├── EntryListing.js │ │ │ │ │ │ └── __tests__/ │ │ │ │ │ │ ├── EntriesCollection.spec.js │ │ │ │ │ │ └── __snapshots__/ │ │ │ │ │ │ └── EntriesCollection.spec.js.snap │ │ │ │ │ ├── FilterControl.js │ │ │ │ │ ├── GroupControl.js │ │ │ │ │ ├── NestedCollection.js │ │ │ │ │ ├── Sidebar.js │ │ │ │ │ ├── SortControl.js │ │ │ │ │ ├── ViewStyleControl.js │ │ │ │ │ └── __tests__/ │ │ │ │ │ ├── Collection.spec.js │ │ │ │ │ ├── NestedCollection.spec.js │ │ │ │ │ ├── Sidebar.spec.js │ │ │ │ │ └── __snapshots__/ │ │ │ │ │ ├── Collection.spec.js.snap │ │ │ │ │ ├── NestedCollection.spec.js.snap │ │ │ │ │ └── Sidebar.spec.js.snap │ │ │ │ ├── Editor/ │ │ │ │ │ ├── Editor.js │ │ │ │ │ ├── EditorControlPane/ │ │ │ │ │ │ ├── EditorControl.js │ │ │ │ │ │ ├── EditorControlPane.js │ │ │ │ │ │ └── Widget.js │ │ │ │ │ ├── EditorInterface.js │ │ │ │ │ ├── EditorPreviewPane/ │ │ │ │ │ │ ├── EditorPreview.js │ │ │ │ │ │ ├── EditorPreviewContent.js │ │ │ │ │ │ ├── EditorPreviewPane.js │ │ │ │ │ │ └── PreviewHOC.js │ │ │ │ │ ├── EditorToolbar.js │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── Editor.spec.js │ │ │ │ │ │ ├── EditorToolbar.spec.js │ │ │ │ │ │ └── __snapshots__/ │ │ │ │ │ │ ├── Editor.spec.js.snap │ │ │ │ │ │ └── EditorToolbar.spec.js.snap │ │ │ │ │ └── withWorkflow.js │ │ │ │ ├── EditorWidgets/ │ │ │ │ │ ├── Unknown/ │ │ │ │ │ │ ├── UnknownControl.js │ │ │ │ │ │ └── UnknownPreview.js │ │ │ │ │ └── index.js │ │ │ │ ├── MediaLibrary/ │ │ │ │ │ ├── EmptyMessage.js │ │ │ │ │ ├── MediaLibrary.js │ │ │ │ │ ├── MediaLibraryButtons.js │ │ │ │ │ ├── MediaLibraryCard.js │ │ │ │ │ ├── MediaLibraryCardGrid.js │ │ │ │ │ ├── MediaLibraryHeader.js │ │ │ │ │ ├── MediaLibraryModal.js │ │ │ │ │ ├── MediaLibrarySearch.js │ │ │ │ │ ├── MediaLibraryTop.js │ │ │ │ │ └── __tests__/ │ │ │ │ │ ├── MediaLibraryButtons.spec.js │ │ │ │ │ ├── MediaLibraryCard.spec.js │ │ │ │ │ └── __snapshots__/ │ │ │ │ │ └── MediaLibraryCard.spec.js.snap │ │ │ │ ├── UI/ │ │ │ │ │ ├── DragDrop.js │ │ │ │ │ ├── ErrorBoundary.js │ │ │ │ │ ├── FileUploadButton.js │ │ │ │ │ ├── Modal.js │ │ │ │ │ ├── Notifications.tsx │ │ │ │ │ ├── SettingsDropdown.js │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── ErrorBoundary.spec.js │ │ │ │ │ └── index.js │ │ │ │ └── Workflow/ │ │ │ │ ├── Workflow.js │ │ │ │ ├── WorkflowCard.js │ │ │ │ └── WorkflowList.js │ │ │ ├── constants/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── configSchema.spec.js │ │ │ │ ├── collectionTypes.ts │ │ │ │ ├── collectionViews.js │ │ │ │ ├── commitProps.ts │ │ │ │ ├── configSchema.js │ │ │ │ ├── fieldInference.tsx │ │ │ │ ├── publishModes.ts │ │ │ │ └── validationErrorTypes.js │ │ │ ├── formats/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── formats.spec.js │ │ │ │ │ ├── frontmatter.spec.js │ │ │ │ │ ├── toml.spec.js │ │ │ │ │ └── yaml.spec.js │ │ │ │ ├── formats.ts │ │ │ │ ├── frontmatter.ts │ │ │ │ ├── helpers.ts │ │ │ │ ├── json.ts │ │ │ │ ├── toml.ts │ │ │ │ └── yaml.ts │ │ │ ├── index.js │ │ │ ├── integrations/ │ │ │ │ ├── index.js │ │ │ │ └── providers/ │ │ │ │ ├── algolia/ │ │ │ │ │ └── implementation.js │ │ │ │ └── assetStore/ │ │ │ │ └── implementation.js │ │ │ ├── lib/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── formatters.spec.js │ │ │ │ │ ├── i18n.spec.js │ │ │ │ │ ├── phrases.spec.js │ │ │ │ │ ├── registry.spec.js │ │ │ │ │ ├── serializeEntryValues.spec.js │ │ │ │ │ └── urlHelper.spec.js │ │ │ │ ├── consoleError.js │ │ │ │ ├── formatters.ts │ │ │ │ ├── i18n.ts │ │ │ │ ├── phrases.js │ │ │ │ ├── polyfill.js │ │ │ │ ├── registry.js │ │ │ │ ├── serializeEntryValues.js │ │ │ │ ├── stega.ts │ │ │ │ ├── textHelper.js │ │ │ │ └── urlHelper.ts │ │ │ ├── mediaLibrary.ts │ │ │ ├── reducers/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── auth.spec.ts │ │ │ │ │ ├── collections.spec.js │ │ │ │ │ ├── config.spec.js │ │ │ │ │ ├── deploys.spec.ts │ │ │ │ │ ├── entries.spec.js │ │ │ │ │ ├── entryDraft.spec.js │ │ │ │ │ ├── globalUI.js │ │ │ │ │ ├── integrations.spec.ts │ │ │ │ │ ├── mediaLibrary.spec.js │ │ │ │ │ └── medias.spec.ts │ │ │ │ ├── auth.ts │ │ │ │ ├── collections.ts │ │ │ │ ├── combinedReducer.ts │ │ │ │ ├── config.ts │ │ │ │ ├── cursors.js │ │ │ │ ├── deploys.ts │ │ │ │ ├── editorialWorkflow.ts │ │ │ │ ├── entries.ts │ │ │ │ ├── entryDraft.js │ │ │ │ ├── globalUI.ts │ │ │ │ ├── index.ts │ │ │ │ ├── integrations.ts │ │ │ │ ├── mediaLibrary.ts │ │ │ │ ├── medias.ts │ │ │ │ ├── notifications.ts │ │ │ │ ├── search.ts │ │ │ │ └── status.ts │ │ │ ├── redux/ │ │ │ │ ├── index.ts │ │ │ │ └── middleware/ │ │ │ │ └── waitUntilAction.ts │ │ │ ├── routing/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── history.spec.ts │ │ │ │ └── history.ts │ │ │ ├── types/ │ │ │ │ ├── diacritics.d.ts │ │ │ │ ├── global.d.ts │ │ │ │ ├── immutable.ts │ │ │ │ ├── redux.ts │ │ │ │ └── tomlify-j0.4.d.ts │ │ │ └── valueObjects/ │ │ │ ├── AssetProxy.ts │ │ │ ├── EditorComponent.js │ │ │ └── Entry.ts │ │ └── webpack.config.js │ ├── decap-cms-default-exports/ │ │ ├── CHANGELOG.md │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.js │ │ └── webpack.config.js │ ├── decap-cms-editor-component-image/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ └── index.spec.js │ │ │ └── index.js │ │ └── webpack.config.js │ ├── decap-cms-lib-auth/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── implicit-oauth.js │ │ │ ├── index.js │ │ │ ├── netlify-auth.js │ │ │ ├── pkce-oauth.js │ │ │ └── utils.js │ │ └── webpack.config.js │ ├── decap-cms-lib-util/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── API.ts │ │ │ ├── APIError.ts │ │ │ ├── APIUtils.ts │ │ │ ├── AccessTokenError.ts │ │ │ ├── Cursor.ts │ │ │ ├── EditorialWorkflowError.ts │ │ │ ├── __tests__/ │ │ │ │ ├── api.spec.js │ │ │ │ ├── apiUtils.spec.js │ │ │ │ ├── asyncLock.spec.js │ │ │ │ ├── backendUtil.spec.js │ │ │ │ ├── implementation.spec.js │ │ │ │ ├── path.spec.js │ │ │ │ └── unsentRequest.spec.js │ │ │ ├── asyncLock.ts │ │ │ ├── backendUtil.ts │ │ │ ├── getBlobSHA.ts │ │ │ ├── git-lfs.ts │ │ │ ├── implementation.ts │ │ │ ├── index.ts │ │ │ ├── loadScript.js │ │ │ ├── localForage.ts │ │ │ ├── path.ts │ │ │ ├── promise.ts │ │ │ ├── types/ │ │ │ │ └── semaphore.d.ts │ │ │ ├── types.ts │ │ │ └── unsentRequest.js │ │ └── webpack.config.js │ ├── decap-cms-lib-widgets/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ └── stringTemplate.spec.js │ │ │ ├── index.ts │ │ │ ├── stringTemplate.ts │ │ │ └── validations.ts │ │ └── webpack.config.js │ ├── decap-cms-locales/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── bg/ │ │ │ │ └── index.js │ │ │ ├── ca/ │ │ │ │ └── index.js │ │ │ ├── cs/ │ │ │ │ └── index.js │ │ │ ├── da/ │ │ │ │ └── index.js │ │ │ ├── de/ │ │ │ │ └── index.js │ │ │ ├── en/ │ │ │ │ └── index.js │ │ │ ├── es/ │ │ │ │ └── index.js │ │ │ ├── fa/ │ │ │ │ └── index.js │ │ │ ├── fr/ │ │ │ │ └── index.js │ │ │ ├── gr/ │ │ │ │ └── index.js │ │ │ ├── he/ │ │ │ │ └── index.js │ │ │ ├── hr/ │ │ │ │ └── index.js │ │ │ ├── hu/ │ │ │ │ └── index.js │ │ │ ├── index.js │ │ │ ├── it/ │ │ │ │ └── index.js │ │ │ ├── ja/ │ │ │ │ └── index.js │ │ │ ├── ko/ │ │ │ │ └── index.js │ │ │ ├── lt/ │ │ │ │ └── index.js │ │ │ ├── mk/ │ │ │ │ └── index.js │ │ │ ├── nb_no/ │ │ │ │ └── index.js │ │ │ ├── nl/ │ │ │ │ └── index.js │ │ │ ├── nn_no/ │ │ │ │ └── index.js │ │ │ ├── pl/ │ │ │ │ └── index.js │ │ │ ├── pt/ │ │ │ │ └── index.js │ │ │ ├── ro/ │ │ │ │ └── index.js │ │ │ ├── ru/ │ │ │ │ └── index.js │ │ │ ├── sl/ │ │ │ │ └── index.js │ │ │ ├── sv/ │ │ │ │ └── index.js │ │ │ ├── th/ │ │ │ │ └── index.js │ │ │ ├── tr/ │ │ │ │ └── index.js │ │ │ ├── ua/ │ │ │ │ └── index.js │ │ │ ├── uk/ │ │ │ │ └── index.js │ │ │ ├── vi/ │ │ │ │ └── index.js │ │ │ ├── zh_Hans/ │ │ │ │ └── index.js │ │ │ └── zh_Hant/ │ │ │ └── index.js │ │ └── webpack.config.js │ ├── decap-cms-media-library-cloudinary/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ └── index.spec.js │ │ │ └── index.js │ │ └── webpack.config.js │ ├── decap-cms-media-library-uploadcare/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ └── index.spec.js │ │ │ └── index.js │ │ └── webpack.config.js │ ├── decap-cms-ui-auth/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── NetlifyAuthenticationPage.js │ │ │ ├── PKCEAuthenticationPage.js │ │ │ ├── __tests__/ │ │ │ │ ├── NetlifyAuthenticationPage.spec.js │ │ │ │ └── __snapshots__/ │ │ │ │ └── NetlifyAuthenticationPage.spec.js.snap │ │ │ └── index.js │ │ └── webpack.config.js │ ├── decap-cms-ui-default/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── AuthenticationPage.js │ │ │ ├── Dropdown.js │ │ │ ├── FieldLabel.js │ │ │ ├── GoBackButton.js │ │ │ ├── Icon/ │ │ │ │ ├── icons.js │ │ │ │ └── images/ │ │ │ │ └── _index.js │ │ │ ├── Icon.js │ │ │ ├── IconButton.js │ │ │ ├── ListItemTopBar.js │ │ │ ├── Loader.js │ │ │ ├── ObjectWidgetTopBar.js │ │ │ ├── Toggle.js │ │ │ ├── WidgetPreviewContainer.js │ │ │ ├── index.js │ │ │ └── styles.js │ │ └── webpack.config.js │ ├── decap-cms-widget-boolean/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── BooleanControl.js │ │ │ └── index.js │ │ └── webpack.config.js │ ├── decap-cms-widget-code/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── data/ │ │ │ ├── languages-raw.yml │ │ │ └── languages.json │ │ ├── package.json │ │ ├── scripts/ │ │ │ └── process-languages.js │ │ ├── src/ │ │ │ ├── CodeControl.js │ │ │ ├── CodePreview.js │ │ │ ├── SettingsButton.js │ │ │ ├── SettingsPane.js │ │ │ ├── index.js │ │ │ ├── languageSelectStyles.js │ │ │ └── schema.js │ │ └── webpack.config.js │ ├── decap-cms-widget-colorstring/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ColorControl.js │ │ │ ├── ColorPreview.js │ │ │ └── index.js │ │ └── webpack.config.js │ ├── decap-cms-widget-datetime/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── DateTimeControl.js │ │ │ ├── DateTimePreview.js │ │ │ ├── __tests__/ │ │ │ │ └── DateTimeControl.spec.js │ │ │ ├── index.js │ │ │ └── schema.js │ │ └── webpack.config.js │ ├── decap-cms-widget-file/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── FilePreview.js │ │ │ ├── index.js │ │ │ ├── schema.js │ │ │ └── withFileControl.js │ │ └── webpack.config.js │ ├── decap-cms-widget-image/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ImagePreview.js │ │ │ ├── index.js │ │ │ └── schema.js │ │ └── webpack.config.js │ ├── decap-cms-widget-list/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ListControl.js │ │ │ ├── __tests__/ │ │ │ │ ├── ListControl.spec.js │ │ │ │ └── __snapshots__/ │ │ │ │ └── ListControl.spec.js.snap │ │ │ ├── index.js │ │ │ ├── schema.js │ │ │ └── typedListHelpers.js │ │ └── webpack.config.js │ ├── decap-cms-widget-map/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── MapPreview.js │ │ │ ├── index.js │ │ │ ├── schema.js │ │ │ └── withMapControl.js │ │ └── webpack.config.js │ ├── decap-cms-widget-markdown/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── MarkdownControl/ │ │ │ │ ├── RawEditor.js │ │ │ │ ├── Toolbar.js │ │ │ │ ├── ToolbarButton.js │ │ │ │ ├── VisualEditor.js │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── VisualEditor.spec.js │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── parser.spec.js.snap │ │ │ │ │ └── parser.spec.js │ │ │ │ ├── components/ │ │ │ │ │ ├── Shortcode.js │ │ │ │ │ └── VoidBlock.js │ │ │ │ ├── index.js │ │ │ │ ├── plugins/ │ │ │ │ │ ├── BreakToDefaultBlock.js │ │ │ │ │ ├── CloseBlock.js │ │ │ │ │ ├── CommandsAndQueries.js │ │ │ │ │ ├── ForceInsert.js │ │ │ │ │ ├── Hotkey.js │ │ │ │ │ ├── LineBreak.js │ │ │ │ │ ├── Link.js │ │ │ │ │ ├── blocks/ │ │ │ │ │ │ ├── defaultEmptyBlock.js │ │ │ │ │ │ ├── events/ │ │ │ │ │ │ │ ├── keyDown.js │ │ │ │ │ │ │ ├── keyDownBackspace.js │ │ │ │ │ │ │ ├── keyDownEnter.js │ │ │ │ │ │ │ └── toggleBlock.js │ │ │ │ │ │ ├── locations/ │ │ │ │ │ │ │ ├── areCurrentAndPreviousBlocksOfType.js │ │ │ │ │ │ │ ├── getListTypeAtCursor.js │ │ │ │ │ │ │ ├── isCursorAtEndOfParagraph.js │ │ │ │ │ │ │ ├── isCursorAtStartOfBlockType.js │ │ │ │ │ │ │ ├── isCursorAtStartOfNonEmptyHeading.js │ │ │ │ │ │ │ ├── isCursorCollapsedAfterSoftBreak.js │ │ │ │ │ │ │ ├── isCursorInBlockType.js │ │ │ │ │ │ │ └── isCursorInNonDefaultBlock.js │ │ │ │ │ │ ├── transforms/ │ │ │ │ │ │ │ ├── splitIntoParagraph.js │ │ │ │ │ │ │ ├── unwrapIfCursorAtStart.js │ │ │ │ │ │ │ └── wrapListItemsInBlock.js │ │ │ │ │ │ └── withBlocks.js │ │ │ │ │ ├── html/ │ │ │ │ │ │ └── withHtml.js │ │ │ │ │ ├── inlines/ │ │ │ │ │ │ ├── events/ │ │ │ │ │ │ │ ├── keyDown.js │ │ │ │ │ │ │ ├── keyDownShiftEnter.js │ │ │ │ │ │ │ ├── toggleLink.js │ │ │ │ │ │ │ └── toggleMark.js │ │ │ │ │ │ ├── locations/ │ │ │ │ │ │ │ └── isMarkActive.js │ │ │ │ │ │ ├── selectors/ │ │ │ │ │ │ │ └── getActiveLink.js │ │ │ │ │ │ ├── transforms/ │ │ │ │ │ │ │ ├── unwrapLink.js │ │ │ │ │ │ │ └── wrapLink.js │ │ │ │ │ │ └── withInlines.js │ │ │ │ │ ├── lists/ │ │ │ │ │ │ ├── events/ │ │ │ │ │ │ │ ├── keyDown.js │ │ │ │ │ │ │ ├── keyDownBackspace.js │ │ │ │ │ │ │ ├── keyDownEnter.js │ │ │ │ │ │ │ ├── keyDownShiftTab.js │ │ │ │ │ │ │ ├── keyDownTab.js │ │ │ │ │ │ │ └── toggleListType.js │ │ │ │ │ │ ├── locations/ │ │ │ │ │ │ │ ├── isCursorAtListItemStart.js │ │ │ │ │ │ │ ├── isCursorAtNoninitialParagraphStart.js │ │ │ │ │ │ │ ├── isCursorInItemContainingNestedList.js │ │ │ │ │ │ │ ├── isCursorInListItem.js │ │ │ │ │ │ │ └── isSelectionWithinNoninitialListItem.js │ │ │ │ │ │ ├── selectors/ │ │ │ │ │ │ │ ├── getListContainedInListItem.js │ │ │ │ │ │ │ ├── getLowestAncestorList.js │ │ │ │ │ │ │ └── getLowestAncestorQuote.js │ │ │ │ │ │ ├── transforms/ │ │ │ │ │ │ │ ├── changeListType.js │ │ │ │ │ │ │ ├── convertParagraphToListItem.js │ │ │ │ │ │ │ ├── liftFirstMatchedParent.js │ │ │ │ │ │ │ ├── liftListItem.js │ │ │ │ │ │ │ ├── mergeWithPreviousListItem.js │ │ │ │ │ │ │ ├── moveListToListItem.js │ │ │ │ │ │ │ ├── splitListItem.js │ │ │ │ │ │ │ ├── splitToNestedList.js │ │ │ │ │ │ │ ├── unwrapFirstMatchedParent.js │ │ │ │ │ │ │ ├── unwrapSelectionFromList.js │ │ │ │ │ │ │ ├── wrapFirstMatchedParent.js │ │ │ │ │ │ │ └── wrapSelectionInList.js │ │ │ │ │ │ └── withLists.js │ │ │ │ │ ├── matchers/ │ │ │ │ │ │ ├── lowestMatchedAncestor.js │ │ │ │ │ │ ├── matchLink.js │ │ │ │ │ │ └── matchedAncestors.js │ │ │ │ │ ├── shortcodes/ │ │ │ │ │ │ ├── insertShortcode.js │ │ │ │ │ │ ├── locations/ │ │ │ │ │ │ │ └── isCursorInEmptyParagraph.js │ │ │ │ │ │ └── withShortcodes.js │ │ │ │ │ └── util.js │ │ │ │ └── renderers.js │ │ │ ├── MarkdownPreview.js │ │ │ ├── __tests__/ │ │ │ │ └── renderer.spec.js │ │ │ ├── index.js │ │ │ ├── regexHelper.js │ │ │ ├── schema.js │ │ │ ├── serializers/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── __fixtures__/ │ │ │ │ │ │ ├── commonmarkExpected.json │ │ │ │ │ │ └── duplicate_marks_github_issue_3280.md │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── remarkShortcodes.spec.js.snap │ │ │ │ │ ├── commonmark.spec.js │ │ │ │ │ ├── index.spec.js │ │ │ │ │ ├── remarkAllowHtmlEntities.spec.js │ │ │ │ │ ├── remarkAssertParents.spec.js │ │ │ │ │ ├── remarkEscapeMarkdownEntities.spec.js │ │ │ │ │ ├── remarkPaddedLinks.spec.js │ │ │ │ │ ├── remarkPlugins.spec.js │ │ │ │ │ ├── remarkShortcodes.spec.js │ │ │ │ │ ├── remarkSlate.spec.js │ │ │ │ │ ├── remarkStripTrailingBreaks.spec.js │ │ │ │ │ └── slate.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── rehypePaperEmoji.js │ │ │ │ ├── remarkAllowHtmlEntities.js │ │ │ │ ├── remarkAssertParents.js │ │ │ │ ├── remarkEscapeMarkdownEntities.js │ │ │ │ ├── remarkImagesToText.js │ │ │ │ ├── remarkPaddedLinks.js │ │ │ │ ├── remarkRehypeShortcodes.js │ │ │ │ ├── remarkShortcodes.js │ │ │ │ ├── remarkSlate.js │ │ │ │ ├── remarkSquashReferences.js │ │ │ │ ├── remarkStripTrailingBreaks.js │ │ │ │ ├── remarkWrapHtml.js │ │ │ │ └── slateRemark.js │ │ │ ├── styles.js │ │ │ └── types.js │ │ ├── test-helpers/ │ │ │ └── h.js │ │ └── webpack.config.js │ ├── decap-cms-widget-number/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── NumberControl.js │ │ │ ├── NumberPreview.js │ │ │ ├── __tests__/ │ │ │ │ └── number.spec.js │ │ │ ├── index.js │ │ │ └── schema.js │ │ └── webpack.config.js │ ├── decap-cms-widget-object/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ObjectControl.js │ │ │ ├── ObjectPreview.js │ │ │ ├── index.js │ │ │ └── schema.js │ │ └── webpack.config.js │ ├── decap-cms-widget-relation/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── RelationCache.js │ │ │ ├── RelationControl.js │ │ │ ├── RelationPreview.js │ │ │ ├── __tests__/ │ │ │ │ └── relation.spec.js │ │ │ ├── index.js │ │ │ └── schema.js │ │ └── webpack.config.js │ ├── decap-cms-widget-select/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── SelectControl.js │ │ │ ├── SelectPreview.js │ │ │ ├── __tests__/ │ │ │ │ └── select.spec.js │ │ │ ├── index.js │ │ │ └── schema.js │ │ └── webpack.config.js │ ├── decap-cms-widget-string/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── StringControl.js │ │ │ ├── StringPreview.js │ │ │ └── index.js │ │ └── webpack.config.js │ ├── decap-cms-widget-text/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── TextControl.js │ │ │ ├── TextPreview.js │ │ │ └── index.js │ │ └── webpack.config.js │ └── decap-server/ │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── src/ │ │ ├── global.d.ts │ │ ├── index.ts │ │ ├── logger.ts │ │ ├── middlewares/ │ │ │ ├── common/ │ │ │ │ └── index.ts │ │ │ ├── joi/ │ │ │ │ ├── customValidators.ts │ │ │ │ ├── index.spec.ts │ │ │ │ └── index.ts │ │ │ ├── localFs/ │ │ │ │ ├── index.spec.ts │ │ │ │ └── index.ts │ │ │ ├── localGit/ │ │ │ │ ├── index.spec.ts │ │ │ │ └── index.ts │ │ │ ├── types.ts │ │ │ └── utils/ │ │ │ ├── entries.ts │ │ │ └── fs.ts │ │ ├── middlewares.ts │ │ └── what-the-diff.d.ts │ ├── tsconfig.json │ └── webpack.config.js ├── renovate.json ├── scripts/ │ ├── cache.js │ ├── externals.js │ ├── pack-and-install.sh │ ├── revert_publish.sh │ └── webpack.js ├── setupTestFramework.js └── tsconfig.json