Skip to content

Commit a4a6903

Browse files
authored
Merge pull request #18944 from ckeditor/internal/4083
Internal: Change structure of the `external` folder
2 parents 6c0df0a + 319f821 commit a4a6903

File tree

142 files changed

+23409
-440
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+23409
-440
lines changed

.circleci/config.yml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ parameters:
2626
default: false
2727

2828
orbs:
29+
node: circleci/[email protected]
2930
continuation: circleci/[email protected]
3031

3132
commands:
@@ -35,6 +36,18 @@ commands:
3536
- add_ssh_keys:
3637
fingerprints:
3738
- "a0:41:a2:56:c8:7d:3f:29:41:d1:87:92:fd:50:2b:6b"
39+
40+
checkout_command:
41+
description: "Clone the CKEditor 5 repository with limited depth and branches"
42+
steps:
43+
- run:
44+
name: Add GitHub to known_hosts
45+
command: |
46+
mkdir -p ~/.ssh
47+
ssh-keyscan github.com >> ~/.ssh/known_hosts
48+
- run:
49+
name: Checkout code (single branch)
50+
command: git clone --single-branch --depth 1 --branch "$CIRCLE_BRANCH" "$CIRCLE_REPOSITORY_URL" .
3851

3952
jobs:
4053
generate_configuration:
@@ -45,11 +58,12 @@ jobs:
4558
isNightly:
4659
type: boolean
4760
steps:
48-
- checkout
61+
- checkout_command
4962
- install_ssh_keys_command
50-
- run:
51-
name: Install dependencies
52-
command: yarn install
63+
- node/install-pnpm:
64+
version: "10"
65+
- node/install-packages:
66+
pkg-manager: pnpm
5367
- run:
5468
name: Generate a new configuration to check all packages in the repository
5569
command: node scripts/ci/generate-circleci-configuration.mjs

.circleci/template.yml

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
version: 2.1
66

77
orbs:
8+
node: circleci/[email protected]
89
browser-tools: circleci/[email protected]
910

1011
# List of parameters must be synchronized between configuration files.
@@ -54,9 +55,10 @@ commands:
5455
description: "Bootstrap the CKEditor 5 project"
5556
steps:
5657
- install_ssh_keys_command
57-
- run:
58-
name: Install dependencies
59-
command: yarn install
58+
- node/install-pnpm:
59+
version: "10"
60+
- node/install-packages:
61+
pkg-manager: pnpm
6062
- prepare_environment_variables_commands
6163

6264
checkout_command:
@@ -107,12 +109,17 @@ jobs:
107109
steps:
108110
- checkout_command
109111
- halt_if_short_flow
110-
- bootstrap_repository_command
111112
- browser-tools/install_chrome
113+
- run:
114+
name: Set Puppeteer environment variables
115+
command: |
116+
echo 'export PUPPETEER_EXECUTABLE_PATH=$(command -v google-chrome || command -v google-chrome-stable)' >> $BASH_ENV
117+
echo 'export PUPPETEER_SKIP_DOWNLOAD=true' >> $BASH_ENV
118+
- bootstrap_repository_command
112119
- install_newest_emoji
113120
- run:
114121
name: Prepare DLL builds in CKEditor 5
115-
command: yarn run dll:build
122+
command: pnpm run dll:build
116123
- run:
117124
name: Verify CKEditor 5 manual tests
118125
command: bash scripts/check-manual-tests.sh -r ckeditor5 -f ckeditor5
@@ -127,39 +134,39 @@ jobs:
127134
- run:
128135
when: always
129136
name: Validate versions of CKEditor 5 dependencies
130-
command: yarn run check-dependencies:versions-match
137+
command: pnpm run check-dependencies:versions-match
131138
- run:
132139
when: always
133140
name: Validate "ckeditor5-metadata.json" files
134141
command: node scripts/ci/validate-metadata-files.mjs
135142
- run:
136143
when: always
137144
name: Check if all SVG files are optimized
138-
command: yarn run clean-up-svg-icons --verify-only
145+
command: pnpm run clean-up-svg-icons --verify-only
139146
- run:
140147
when: always
141148
name: Validate manual test directories
142149
command: node scripts/ci/check-manual-tests-directory-structure.mjs
143150
- run:
144151
when: always
145152
name: Execute ESLint
146-
command: yarn run lint
153+
command: pnpm run lint
147154
- run:
148155
when: always
149156
name: Execute Stylelint
150-
command: yarn run stylelint
157+
command: pnpm run stylelint
151158
- run:
152159
when: always
153160
name: Check if all CSS files from the "ckeditor5-theme-lark" are imported in "index.css" file
154-
command: yarn run check-theme-lark-imports
161+
command: pnpm run check-theme-lark-imports
155162
- run:
156163
when: always
157164
name: Check if all packages are exported in the "ckeditor5" package
158-
command: yarn run check-exports
165+
command: pnpm run check-exports
159166
- run:
160167
when: always
161168
name: Check if all package members are exported correctly from the index.ts file
162-
command: yarn run validate-module-re-exports
169+
command: pnpm run validate-module-re-exports
163170

164171
cke5_coverage:
165172
docker:
@@ -212,7 +219,7 @@ jobs:
212219
name: Trigger CKEditor 5 release job
213220
environment:
214221
CKE5_GITHUB_RELEASE_BRANCH: << pipeline.git.branch >>
215-
command: yarn ckeditor5-dev-ci-trigger-circle-build
222+
command: pnpm ckeditor5-dev-ci-trigger-circle-build
216223

217224
cke5_trigger_uber_ci:
218225
docker:
@@ -224,7 +231,7 @@ jobs:
224231
- bootstrap_repository_command
225232
- run:
226233
name: Trigger the Uber CI
227-
command: yarn ckeditor5-dev-ci-trigger-circle-build
234+
command: pnpm ckeditor5-dev-ci-trigger-circle-build
228235

229236
release_prepare:
230237
docker:
@@ -236,13 +243,13 @@ jobs:
236243
- bootstrap_repository_command
237244
- run:
238245
name: Check if packages are ready to be released
239-
command: npm run release:prepare-packages -- --compile-only --verbose
246+
command: pnpm run release:prepare-packages --compile-only --verbose
240247
- run:
241248
name: Lint generated packages
242-
command: yarn run release:lint-packages
249+
command: pnpm run release:lint-packages
243250
- run:
244251
name: Check dependencies
245-
command: yarn run check-dependencies
252+
command: pnpm run check-dependencies
246253

247254
notify_ci_failure:
248255
docker:
@@ -261,7 +268,7 @@ jobs:
261268
CKE5_SLACK_NOTIFY_HIDE_AUTHOR: << parameters.hideAuthor >>
262269
CKE5_PIPELINE_NUMBER: << pipeline.number >>
263270
name: Waiting for other jobs to finish and sending notification on failure
264-
command: yarn ckeditor5-dev-ci-circle-workflow-notifier
271+
command: pnpm ckeditor5-dev-ci-circle-workflow-notifier
265272
no_output_timeout: 2h
266273

267274
stale_bot:
@@ -273,7 +280,7 @@ jobs:
273280
- bootstrap_repository_command
274281
- run:
275282
name: Run stale bot
276-
command: yarn ckeditor5-dev-stale-bot --config-path .circleci/.stale-bot.mjs
283+
command: pnpm ckeditor5-dev-stale-bot --config-path .circleci/.stale-bot.mjs
277284

278285
workflows:
279286
version: 2

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
This repository uses Markdown files to define changelog entries. If the changes in this pull request are **user-facing**, please create a changelog entry by running the following command:
44
5-
yarn run nice
5+
pnpm run nice
66
77
This will generate an `*.md` file in the `.changelog/` directory for your description. You can create as many as you need.
88

.gitignore

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,6 @@ yarn.lock
1717
package-lock.json
1818
coverage/
1919

20-
# Files associated with external repositories.
21-
external/
22-
mrgit.json
23-
2420
# Files associated with specific development environments.
2521
.DS_Store
2622
.idea

.husky/pre-commit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
22
# For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
33

4-
yarn lint-staged
4+
pnpm lint-staged

docs/framework/contributing/changelog-entries.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Create a new Markdown file in the `.changelog/` directory to add a changelog ent
1818
The easiest and preferred way to create a changelog entry is by running:
1919

2020
```bash
21-
yarn run nice
21+
pnpm run nice
2222
```
2323

2424
`nice` stands for **N**ew **I**ndividual **C**hangelog **E**ntry.

docs/framework/contributing/development-environment.md

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ modified_at: 2022-09-29
1111
The CKEditor&nbsp;5 codebase is divided into multiple [npm](http://npmjs.com/) packages. The main package is [`ckeditor5`](https://github.com/ckeditor/ckeditor5) which installs all project dependencies and various development-related resources such as:
1212

1313
* the testing environment setup,
14-
* configuration for [Yarn](https://yarnpkg.com/),
14+
* configuration for [pnpm](https://pnpm.io),
1515
* translation management tools,
1616
* documentation generator,
1717
* and release tools.
@@ -33,15 +33,9 @@ To start developing CKEditor&nbsp;5 you will require:
3333

3434
## Setting up the CKEditor development environment
3535

36-
First, you need to install [Yarn](https://yarnpkg.com/) to use it for dependency management.
36+
First, you need to install [pnpm](https://pnpm.io) to use it for dependency management.
3737

38-
It is best to install it globally in your system for easier use later on:
39-
40-
```
41-
npm install -g yarn
42-
```
43-
44-
**Note:** [Read how to avoid using `sudo` to install packages globally](https://github.com/sindresorhus/guides/blob/master/npm-global-without-sudo.md) or use [nvm](https://github.com/creationix/nvm).
38+
It is best to install it in your system is to [follow the official pnpm installation guide](https://pnpm.io/installation).
4539

4640
Then clone the [CKEditor&nbsp;5 repository](https://github.com/ckeditor/ckeditor5):
4741

@@ -53,21 +47,21 @@ cd ckeditor5
5347
And install all CKEditor&nbsp;5 packages from the [npm registry](http://npmjs.com/).
5448

5549
```
56-
yarn install
50+
pnpm install
5751
```
5852

5953
## Running tests
6054

6155
To run tests, you need to use the `test` and `manual` tasks.
6256

6357
```
64-
yarn run test --watch --coverage --source-map --files=engine
58+
pnpm run test --watch --coverage --source-map --files=engine
6559
```
6660

6761
or, shorter:
6862

6963
```
70-
yarn run test -- -wcs --files=engine
64+
pnpm run test -- -wcs --files=engine
7165
```
7266

7367
This command will run the [`ckeditor5-engine`](https://github.com/ckeditor/ckeditor5-engine) package's tests.
@@ -77,7 +71,7 @@ This command will run the [`ckeditor5-engine`](https://github.com/ckeditor/ckedi
7771
To create a server for manual tests use the `manual` task:
7872

7973
```
80-
yarn run manual
74+
pnpm run manual
8175
```
8276

8377
To help test localized editors, the task accepts two optional configurations: `--language="en"` and `--additionalLanguages="ar,pl,..."`. The former sets the main language used by test editors. By default it is `"en"` and in most scenarios, you do not need to change it. The latter brings more languages to manual tests, which is helpful for example,when working with {@link getting-started/setup/ui-language#righttoleft-rtl-languages-support right–to–left languages in the user interface}.
@@ -86,10 +80,10 @@ You can read more about the {@link framework/contributing/testing-environment Te
8680

8781
## Building DLLs
8882

89-
Some manual tests require DLL builds. To learn more about DLL builds, read the {@link getting-started/advanced/dll-builds DLL builds guide}. They do not have to be updated every time, unless you want to check changes in the DLL builds specifically. Running `yarn run manual` will prompt you to optionally run the build. To build them manually, you need to run the `dll:build` task:
83+
Some manual tests require DLL builds. To learn more about DLL builds, read the {@link getting-started/advanced/dll-builds DLL builds guide}. They do not have to be updated every time, unless you want to check changes in the DLL builds specifically. Running `pnpm run manual` will prompt you to optionally run the build. To build them manually, you need to run the `dll:build` task:
9084

9185
```
92-
yarn run dll:build
86+
pnpm run dll:build
9387
```
9488

9589
This task accepts the following arguments:
@@ -102,7 +96,7 @@ This task accepts the following arguments:
10296
To build the documentation, you need to run the `docs` task:
10397

10498
```
105-
yarn run docs
99+
pnpm run docs
106100
```
107101

108102
The documentation will be available in `build/docs/`.
@@ -126,23 +120,23 @@ This task accepts the following arguments:
126120
* `--verbose` &ndash; Prints out more information.
127121

128122
```
129-
yarn run docs --skip-api
123+
pnpm run docs --skip-api
130124
```
131125

132126
After building documentation, you can quickly start an HTTP server to serve them:
133127

134128
```
135-
yarn run docs:serve
129+
pnpm run docs:serve
136130
```
137131

138132
### Verifying documentation
139133

140134
To verify that all pages in our documentation can be opened without any errors, you do not need to do that manually, page by page. Instead, there is a web crawler that automatically traverses the documentation and it visits all pages that have been found. The crawler opens a headless Chromium browser and logs to the console any error that has been found.
141135

142-
To check pages in the documentation, build it (`yarn run docs`), serve it (`yarn run docs:serve`), and then run the crawler:
136+
To check pages in the documentation, build it (`pnpm run docs`), serve it (`pnpm run docs:serve`), and then run the crawler:
143137

144138
```
145-
yarn run docs:verify
139+
pnpm run docs:verify
146140
```
147141

148142
<info-box>
@@ -162,7 +156,7 @@ The crawler accepts the following arguments:
162156
For example, to check the documentation without the default exclusions (the API and assets links), using only 2 concurrent pages and terminate the scan as soon as first error is found, run this command:
163157

164158
```
165-
yarn run docs:verify -e -c 2 -q
159+
pnpm run docs:verify -e -c 2 -q
166160
```
167161

168162
#### Defining exclusions for web crawler
@@ -232,7 +226,7 @@ In addition to the possibility of defining exclusions in the `<meta>` tag, it is
232226
It is possible to generate a style sheet containing content styles brought by all CKEditor&nbsp;5 features. To do that, execute:
233227

234228
```
235-
yarn docs:content-styles
229+
pnpm docs:content-styles
236230
```
237231

238232
The style sheet will be saved in the `build/content-styles` folder.

0 commit comments

Comments
 (0)