38 Commits

Author SHA1 Message Date
Erez Rokah
174d86f0a0
Feat: entry sorting ()
* refactor: typescript search actions, add tests avoid duplicate search

* refactor: switch from promise chain to async/await in loadEntries

* feat: add sorting, initial commit

* fix: set isFetching to true on entries request

* fix: ui improvments and bug fixes

* test: fix tests

* feat(backend-gitlab): cache local tree)

* fix: fix prop type warning

* refactor: code cleanup

* feat(backend-bitbucket): add local tree caching support

* feat: swtich to orderBy and support multiple sort keys

* fix: backoff function

* fix: improve backoff

* feat: infer sortable fields

* feat: fetch file commit metadata - initial commit

* feat: extract file author and date, finalize GitLab & Bitbucket

* refactor: code cleanup

* feat: handle github rate limit errors

* refactor: code cleanup

* fix(github): add missing author and date when traversing cursor

* fix: add missing author and date when traversing cursor

* refactor: code cleanup

* refactor: code cleanup

* refactor: code cleanup

* test: fix tests

* fix: rebuild local tree when head doesn't exist in remote branch

* fix: allow sortable fields to be an empty array

* fix: allow translation of built in sort fields

* build: fix proxy server build

* fix: hide commit author and date fields by default on non git backends

* fix(algolia): add listAllEntries method for alogolia integration

* fix: handle sort fields overflow

* test(bitbucket): re-record some bitbucket e2e tests

* test(bitbucket): fix media library test

* refactor(gitgateway-gitlab): share request code and handle 404 errors

* fix: always show commit date by default

* docs: add sortableFields

* refactor: code cleanup

* improvement: drop multi-sort, rework sort UI

* chore: force main package bumps

Co-authored-by: Shawn Erquhart <shawn@erquh.art>
2020-03-31 23:13:27 -04:00
Erez Rokah
df33bc64a9
feat: add publish configuration option to collections () 2020-03-23 12:01:37 +02:00
Erez Rokah
e40b81a564
fix(open-authoring): use origin repo when calling compare API ()
since we create open authoring branches from the origin default branch, we need to use the origin repo when calling the compare API
2020-03-03 13:12:40 -05:00
Bartholomew
cf81f587cf
fix: ensure draft changes () 2020-02-28 11:40:51 +01:00
Erez Rokah
3e873f3e02
Fix: don't try to migrate cms prs from forks () 2020-02-27 18:24:39 +01:00
Shawn Erquhart
684b79e43b
fix(backend-github): improve workflow migration edge cases/messaging () 2020-02-25 11:49:38 +01:00
Erez Rokah
7e0a8ad532
feat(core): align GitHub metadata handling with other backends ()
* Revert "Revert "feat(core): Align GitHub metadata handling with other backends ()""

This reverts commit 5bdd3df9ccbb5149c22d79987ebdcd6cab4b261f.

* fix(backend-github): fix migration code

* test(backend-github): fix test

* test(e2e): shorten wait time

* test(e2e): try and fix test on CI
2020-02-24 17:44:10 -05:00
Shawn Erquhart
5bdd3df9cc Revert "feat(core): Align GitHub metadata handling with other backends ()"
This reverts commit 8193b5ace89d6f14a6c756235a50b186a763b6b1.
2020-02-22 14:20:28 -05:00
Erez Rokah
8193b5ace8
feat(core): Align GitHub metadata handling with other backends ()
* refactor: code cleanup for GitLab and BitBucket

* feat(backend-github): use prs labels for metadata - initial commit

* refactor(backend-github): code cleanup, fix tests

* fix(backend-github): bug fixes

* fix(backend-github): open authoring fixes

* fix(backend-github): open authoring fixes

* fix(backend-github): fix graphql

* test(e2e): update Octokit usage

* test(e2e): re-record test data, fix bugs

* test(e2e): re-record test data, fix bugs

* test(e2e): fix tests

* refactor: code cleanup

* fix(backend-github): fix migration code

* fix(backend-github): don't fail on non existing files collections files

* fix(backend-github): use patch attribute instead of slug to get path

* fix(backend-github): use compare api to force push a pr

* fix(backend-github): fix git-gateway and re-record tests

* fix(backend-github): use first commit message as open authoring pr title

* refactor(backend-github): code cleanup

* test(e2e): fix tests
2020-02-22 09:51:30 -05:00
Erez Rokah
e1fa3b0ec0
chore: upgrade cypress () 2020-02-11 18:36:13 +02:00
Erez Rokah
31dbd72273
feat(proxy-server): add local fs middleware and make it the default () 2020-02-10 11:07:52 -05:00
Bartholomew
d22f7e680e fix: workflow file collection () 2020-02-09 11:53:38 +02:00
Erez Rokah
b431348083
test(proxy-backend): disable flaky test () 2020-01-25 23:20:54 +02:00
Erez Rokah
48afa8dfe4
test(backend-proxy-e2e): stabilize backend proxy tests () 2020-01-23 18:15:15 +02:00
Erez Rokah
7e8084be87 chore: add proxy backend ()
* feat(backends): add proxy backend

* feat: add proxy server initial commit

* fix: move from joi to @hapi/joi

* test: add joi validation tests

* feat: proxy server initial implementations

* test: add tests, fix build

* chore: update yarn.lock

* build: fix develop command

* fix(back-proxy): fix bugs

* test(backend-proxy): add cypress tests

* chore: cleanup

* chore: support node 10

* chore: code cleanup

* chore: run cypress on ubuntu 16.04

* test(e2e): fix proxy backend cypress tests

* chore: don't start proxy server on yarn develop
2020-01-22 16:47:34 -05:00
Erez Rokah
a48c02d852
feat(backend-bitbucket): Add Git-LFS support () 2020-01-21 18:57:36 +02:00
Erez Rokah
038803c9f2
fix(git-gateway-gitlab): fix large media support for editorial workflow () 2020-01-19 14:25:29 +02:00
Erez Rokah
492f6f6a20
test(e2e): add git-gateway (GitLab) editorial workflow tests () 2020-01-15 14:47:10 +02:00
Erez Rokah
6f221ab3c1 Feat: editorial workflow bitbucket gitlab ()
* refactor: typescript the backends

* feat: support multiple files upload for GitLab and BitBucket

* fix: load entry media files from media folder or UI state

* chore: cleanup log message

* chore: code cleanup

* refactor: typescript the test backend

* refactor: cleanup getEntry unsued variables

* refactor: moved shared backend code to lib util

* chore: rename files to preserve history

* fix: bind readFile method to API classes

* test(e2e): switch to chrome in cypress tests

* refactor: extract common api methods

* refactor: remove most of immutable js usage from backends

* feat(backend-gitlab): initial editorial workflow support

* feat(backend-gitlab): implement missing workflow methods

* chore: fix lint error

* feat(backend-gitlab): support files deletion

* test(e2e): add gitlab cypress tests

* feat(backend-bitbucket): implement missing editorial workflow methods

* test(e2e): add BitBucket backend e2e tests

* build: update node version to 12 on netlify builds

* fix(backend-bitbucket): extract BitBucket avatar url

* test: fix git-gateway AuthenticationPage test

* test(e2e): fix some backend tests

* test(e2e): fix tests

* test(e2e): add git-gateway editorial workflow test

* chore: code cleanup

* test(e2e): revert back to electron

* test(e2e): add non editorial workflow tests

* fix(git-gateway-gitlab): don't call unpublishedEntry in simple workflow

gitlab git-gateway doesn't support editorial workflow APIs yet. This change makes sure not to call them in simple workflow

* refactor(backend-bitbucket): switch to diffstat API instead of raw diff

* chore: fix test

* test(e2e): add more git-gateway tests

* fix: post rebase typescript fixes

* test(e2e): fix tests

* fix: fix parsing of content key and add tests

* refactor: rename test file

* test(unit): add getStatues unit tests

* chore: update cypress

* docs: update beta docs
2020-01-14 17:15:14 -05:00
Bartholomew
9e7aa0c500 fix: duplicate and new entry action ()
* fix: duplicate and new entry action

* test(e2e): flush clock when duplicating entry to handle debounced fields

Co-authored-by: Erez Rokah <erezrokah@users.noreply.github.com>
2019-12-25 11:47:02 +02:00
Erez Rokah
b27748b54f
Fix: get files by path depth ()
* fix: get files up to depth specified by colletion path

* test(e2e): update mock data

* chore: fix comment
2019-12-22 15:20:42 +02:00
Erez Rokah
8c175f6132 fix: rebase open authoring branches ()
* fix: create open authoring branches from default origin branch

* refactor: pass repoURL to getBranch

* fix(backend-github): rebase open authoring branch,support multiple files
2019-12-20 12:33:43 -05:00
Erez Rokah
2b41d8a838 feat: bundle assets with content ()
* fix(media_folder_relative): use collection name in unpublished entry

* refactor: pass arguments as object to AssetProxy ctor

* feat: support media folders per collection

* feat: resolve media files path based on entry path

* fix: asset public path resolving

* refactor: introduce typescript for AssetProxy

* refactor: code cleanup

* refactor(asset-proxy): add tests,switch to typescript,extract arguments

* refactor: typescript for editorialWorkflow

* refactor: add typescript for media library actions

* refactor: fix type error on map set

* refactor: move locale selector into reducer

* refactor: add typescript for entries actions

* refactor: remove duplication between asset store and media lib

* feat: load assets from backend using API

* refactor(github): add typescript, cache media files

* fix: don't load media URL if already loaded

* feat: add media folder config to collection

* fix: load assets from API when not in UI state

* feat: load entry media files when opening media library

* fix: editorial workflow draft media files bug fixes

* test(unit): fix unit tests

* fix: editor control losing focus

* style: add eslint object-shorthand rule

* test(cypress): re-record mock data

* fix: fix non github backends, large media

* test: uncomment only in tests

* fix(backend-test): add missing displayURL property

* test(e2e): add media library tests

* test(e2e): enable visual testing

* test(e2e): add github backend media library tests

* test(e2e): add git-gateway large media tests

* chore: post rebase fixes

* test: fix tests

* test: fix tests

* test(cypress): fix tests

* docs: add media_folder docs

* test(e2e): add media library delete test

* test(e2e): try and fix image comparison on CI

* ci: reduce test machines from 9 to 8

* test: add reducers and selectors unit tests

* test(e2e): disable visual regression testing for now

* test: add getAsset unit tests

* refactor: use Asset class component instead of hooks

* build: don't inline source maps

* test: add more media path tests
2019-12-18 11:16:02 -05:00
Shawn Erquhart
18c579d0e9 feat: Code Widget + Markdown Widget Internal Overhaul ()
* wip - upgrade to slate 0.43

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* finish list handling logic

* add plugins directory

* tests wip

* setup testing

* wip

* add selection commands

* finish list testing

* stuff

* add codemirror

* abstract codemirror from slate

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* codemirror mostly working, some bugs

* upgrade to slate 46

* upgrade to slate 47

* wip

* wip

* progress

* wip

* mostly working links with surrounding marks

* wip

* tests passing

* add test

* fix formatting

* update snapshots

* close self closing tag in markdown html output

* wip - commonmark

* hold on commonmark work

* all tests passing

* fix e2e specs

* ignore tests in esm builds

* break/backspace plugins wip

* finish enter/backspace spec

* fix soft break handling

* wip - editor component deletion

* add insertion points

* make insertion points invisible

* fix empty mark nodes output to markdown

* fix pasting

* improve insertion points

* add static bottom insertion point

* improve click handling at insertion points

* restore current table functionality

* add paste support for Slate fragments

* support cut/copy markdown, paste between rich/raw editor

* fix copy paste

* wip - paste/select bug fixing

* fixed known slate issues

* split plugins

* fix editor toggles

* force text cursor in code widget

* wip - reorg plugins

* finish markdown control reorg

* configure plugin types

* quote block adjacent handling with tests

* wip

* finish quote logic and tests

* fix copy paste plugin migration regressions

* fix force insert before node

* fix trailing insertion point

* remove empty headers

* codemirror working properly in markdown widget

* return focus to codemirror on lang select enter

* fix state issues for widgets with local state

* wip - vim working, just need to work out distribution

* add settings pane

* wip - default modes

* fix deps

* add programming language data

* implement linguist langs in code widget

* everything built in

* remove old registration code, fix focus styling

* fix/update linting setup

* fix js lint errors

* remove stylelint from format script

* fix remaining linting errors

* fix reducer test failures

* chore: update commitlint for worktree support

* chore: fix remaining tests

* chore: drop unused monaco plugin

* chore: remove extraneous global styles rendering

* chore: fix failing tests

* fix: tests

* fix: quote/list nesting (tests still broken)

* fix: update quote tests

* chore: bring back code widget test config

* fix: autofocus

* fix: code blocks without the code widget

* fix: code editor component state issues

* fix: error

* fix: add code block test, few fixes

* chore: remove notes

* fix: [wip] update stateful shortcodes on undo/redo

* fix: support code styled links, handle unknown langs

* fix: few fixes

* fix: autofocus on insert, focus on all clicks

* fix: linting

* fix: autofocus

* fix: update code block fixture

* fix: remove unused cypress snapshot plugin

* fix: drop node 8 test, add node 12

* fix: use lodash.flatten instead of Array.flat

* fix: remove console logs
2019-12-16 19:17:37 +02:00
Bartholomew
d180bffb44 feat: duplicate entry () 2019-12-10 20:33:02 -05:00
Bartholomew
caaa8b6db4 fix: load unpublished entries ()
* fix: load unpublished entries

* test(cypress): re-record fixtures data
2019-11-28 17:07:07 +02:00
Erez Rokah
afcfe5b6d5 feat: content in sub folders () 2019-11-27 22:39:33 -05:00
Bartholomew
41bb9aac0d feat: workflow unpublished entry ()
* feat: workflow unpublished entry

* fix: post rebase fix - load unpublished entry after unpublish

* feat: change unpublish button to dropdown

* test(cypress): add unpublish entry cypress test
2019-11-26 12:14:04 +02:00
Bartholomew
465f463959 fix(backend-github): prepend collection name ()
* fix(backend-github): prepend collection name

* chore: prefer migrating entries

* chore: cleanup

* chore: move migration to listUnpublishedBranches

* chore: prefer flowAsync

* chore: feedback updates

* refactor: extract current metadata version to a const

* refactor: don't send pulls request on open authoring

* test: update recorded data

* fix: hardcode migration key/branch logic

* test(backend-github): add unit tests for migration code

* fix(github-graphql): add ref property to result of createBranch

* test(cypress): update recorded data

* fix: load unpublished entries once

* fix: run migration for published draft entry

* fix: failing test

* chore: use hardcoded version number

* fix: use hardcoded version number

* test(cypress): update recorded data
2019-11-26 10:40:27 +02:00
Erez Rokah
6515dee871
feat: commit media with post ()
* feat: commit media with post - initial commit

* feat: add draft media indication

* feat: sync UI media files with GitHub on entry load

* feat: bug fixes

* feat: delete media files from github when removed from library

* test: add GitHub backend tests

* test: add unit tests

* fix: meta data object files are not updated

* feat: used nested paths when update a tree instead of recursion

* feat(test-backend): update test backend to persist media file with entry

* test(e2e): re-record fixtures data

* chore: code cleanup

* chore: code cleanup

* fix: wait for library to load before adding entry media files

* chore: code cleanup

* fix: don't add media files on entry when not a draft

* fix: sync media library after draft entry was published

* feat: update media library card draft style, add tests

* test: add Editor unit tests

* chore: test code cleanup

* fix: publishing an entry from workflow tab throws an error

* fix: duplicate media files when using test backend

* refactor: fix lodash import

* chore: update translations and yarn file after rebase

* test(cypress): update recorded data

* fix(test-backend): fix mapping of media files on publish
2019-11-17 11:51:50 +02:00
Erez Rokah
096b067d45
feat: add translation support ()
* feat: add translation support

* test(cypress): fix locale import

* docs: add locale documentation

* feat: add german translation ()

* fix: locales package version, register all locales in netlify-cms
2019-11-14 11:25:04 +02:00
Bartholomew
68a8c8a693 fix(backend-github): loaded entries limit ()
* fix(backend-github): loaded entries limit

* test(cypress): update recorded data
2019-11-13 11:02:47 +02:00
Erez Rokah
b869ce05ae test(cypress-github-backend): optionally record tests and run using recorded data () 2019-10-22 12:59:13 -04:00
Erez Rokah
ece136c92e feat(backend-github): GitHub GraphQL API support ()
* add GitHub GraphQL api initial support

* support mutiple backends for e2e tests - initial commit

* add github backend e2e test (currently skipped), fix bugs per tests

* refactor e2e tests, add fork workflow tests, support fork workflow in GraphQL api

* remove log message that might contain authentication token

* return empty error when commit is not found when using GraphQL (align with base class)

* disable github backend tests

* fix bugs introduced after rebase of GraphQL and OpenAuthoring features

* test: update tests per openAuthoring changes, split tests into multiple files

* fix: pass in headers for pagination requests, avoid async iterator as it requires a polyfill on old browsers

* test(e2e): disable github backend tests
2019-09-03 14:56:20 -04:00
Luis Correia
19824fd1dd chore: improve number widget tests () 2019-03-25 14:17:26 -04:00
Bartholomew
627e600d29 fix(netlify-cms-core): validate nested fields () 2019-02-05 17:27:34 -05:00
Jake Rayson
4782c472bf improvement(a11y): use more semantic html tags in collections view () 2018-08-06 16:53:40 -04:00
Shawn Erquhart
b79c042e9e
chore(e2e): add cypress integration test of editorial workflow () 2018-08-03 19:23:43 -04:00