Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 15 additions & 8 deletions .github/workflows/applications.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,19 @@ jobs:
- name: Get sources
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'pnpm'

- name: Install dependencies
env:
PUPPETEER_SKIP_DOWNLOAD: true
run: npm ci --no-audit --no-fund
run: pnpm install --frozen-lockfile

- uses: browser-actions/setup-chrome@v1
id: setup-chrome
Expand All @@ -60,7 +64,8 @@ jobs:
run: npm config set legacy-peer-deps true

- name: Create ${{ matrix.APPROACH }} application
run: npm run create-template -- -- -e ${{ matrix.APPROACH }} ${{ env.DEPS_VERSION_TAG_PARAM }}
working-directory: packages/devextreme-cli
run: node ./testing/creating.js -e ${{ matrix.APPROACH }} ${{ env.DEPS_VERSION_TAG_PARAM }}
timeout-minutes: 30

- name: Install Internal Packages
Expand All @@ -70,14 +75,14 @@ jobs:

- name: Lint created application
if: ${{ matrix.OS != 'windows-latest' }}
run: npm run lint-template -- -- -e ${{ matrix.APPROACH }} ${{ env.DEPS_VERSION_TAG_PARAM }}
run: pnpm run lint-template -e ${{ matrix.APPROACH }} ${{ env.DEPS_VERSION_TAG_PARAM }}

- name: Run template tests
if: ${{ matrix.OS != 'windows-latest' }}
env:
LAUNCH_BROWSER: true
CHROME_PATH: ${{ steps.setup-chrome.outputs.chrome-path }}
run: npm run test-template -- -- -e ${{ matrix.APPROACH }} ${{ env.DEPS_VERSION_TAG_PARAM }}
run: pnpm run test-template -e ${{ matrix.APPROACH }} ${{ env.DEPS_VERSION_TAG_PARAM }}
timeout-minutes: 40

- name: Archive artifacts
Expand Down Expand Up @@ -110,17 +115,19 @@ jobs:
- name: Get sources
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Set up Node.js and restore cache
uses: actions/setup-node@v4
with:
node-version: 24
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
cache: 'pnpm'

- name: Install dependencies
env:
PUPPETEER_SKIP_DOWNLOAD: true
run: npm ci --no-audit --no-fund
run: pnpm install --frozen-lockfile

- name: Run schematics tests
run: cd packages/devextreme-schematics && npm run test
run: pnpm --filter devextreme-schematics run test
14 changes: 8 additions & 6 deletions .github/workflows/check-nextjs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ jobs:
- name: Get sources
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.NODE }}
cache: 'npm'
cache-dependency-path: |
package-lock.json
apps/nextjs-testing/**/package-lock.json
cache: 'pnpm'

- name: Determine test app directory
run: |
Expand All @@ -48,13 +48,15 @@ jobs:
COMMITTED_VERSION=$(node -e "const m = require('./apps/nextjs-testing/.generator-meta.json'); console.log(m['create-next-app'])")
if [ "$EXPECTED_VERSION" != "$COMMITTED_VERSION" ]; then
echo "ERROR: Committed test apps use create-next-app@$COMMITTED_VERSION but latest-versions.js specifies $EXPECTED_VERSION"
echo "Run 'npm run regenerate-nextjs-apps' and commit the results"
echo "Run 'pnpm run regenerate-nextjs-apps' and commit the results"
exit 1
fi
shell: bash

- name: Install devextreme-cli dependencies
run: npm ci --prefix packages/devextreme-cli
env:
PUPPETEER_SKIP_DOWNLOAD: true
run: pnpm install --frozen-lockfile
timeout-minutes: 5

- name: Install test app dependencies
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,19 @@ jobs:
- name: Get sources
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'pnpm'

- name: Install dependencies
env:
PUPPETEER_SKIP_DOWNLOAD: true
run: npm ci --no-audit --no-fund
run: pnpm install --frozen-lockfile

- name: Run tests
run: npm run lint
run: pnpm run lint
27 changes: 15 additions & 12 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,25 +23,23 @@ jobs:
- name: Get sources
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'pnpm'

- name: Install dependencies (root)
run: npm ci --no-audit --no-fund

- name: Install dependencies (devextreme-schematics)
working-directory: packages/devextreme-schematics
run: npm ci --no-audit --no-fund
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Test devextreme-schematics
working-directory: packages/devextreme-schematics
run: npm run test
run: pnpm --filter devextreme-schematics run test

- name: Build devextreme-schematics
working-directory: packages/devextreme-schematics
run: npm run build
run: pnpm --filter devextreme-schematics run build

- uses: fregante/setup-git-user@v2

Expand All @@ -53,6 +51,11 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
npx --no-install lerna version ${{ github.event.inputs.version }} -y --no-push
NEW_VERSION=$(cd packages/devextreme-cli && npm version ${{ github.event.inputs.version }} --no-git-tag-version)
(cd packages/devextreme-schematics && npm version "$NEW_VERSION" --no-git-tag-version)
npm version "$NEW_VERSION" --no-git-tag-version
git add -A
git commit -m "$NEW_VERSION"
git tag "$NEW_VERSION"
git push -f --follow-tags --no-verify --atomic origin master
npx --no-install lerna publish from-git -y
pnpm --filter './packages/*' publish --no-git-checks
17 changes: 6 additions & 11 deletions .github/workflows/themebuilder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,19 @@ jobs:
- name: Get sources
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.NODE }}

- name: Restore npm cache
uses: actions/cache@v4
with:
path: ~/.npm
key: themebuilder-${{ runner.os }}-node-${{ matrix.NODE }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
themebuilder-${{ runner.os }}-node-${{ matrix.NODE }}
themebuilder-${{ runner.os }}-node-
cache: 'pnpm'

- name: Install dependencies
env:
PUPPETEER_SKIP_DOWNLOAD: true
run: npm ci --no-audit --no-fund
run: pnpm install --frozen-lockfile

- name: Run tests
run: npm run test-themebuilder
run: pnpm run test-themebuilder
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
# Misc
**/node_modules/
**/npm-debug.log*
**/pnpm-debug.log*
**/yarn-error.log*
packages/devextreme-cli/testing/sandbox/
packages/devextreme-cli/testing/__tests__/__diff_snapshots__/
Expand Down
54 changes: 27 additions & 27 deletions README_DEVELOPERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@

## Build docker image
```sh
$ lerna run docker:build
$ pnpm --filter devextreme-cli run docker:build
```

## Run docker image with browser
```sh
$ lerna run docker:run
$ pnpm --filter devextreme-cli run docker:run
```

## Run tests

To run tests for all target frameworks, use the following command:

```sh
$ npm run test
$ pnpm run test
```

This script creates test applications in the `testing/sandbox` folder, starts a web server for each framework, and runs the snapshot tests.
Expand All @@ -29,61 +29,61 @@ You can find test results in the following folders:
## Generate Applications

```sh
npm run create-template
pnpm run create-template
```

## Generate Applications for an Individual Framework

```sh
npm run create-template -- -- -e angular
npm run create-template -- -- -e react
npm run create-template -- -- -e react-ts
npm run create-template -- -- -e vue-v3
pnpm run create-template -e angular
pnpm run create-template -e react
pnpm run create-template -e react-ts
pnpm run create-template -e vue-v3
```

## Lint Applications

```sh
npm run lint-template
pnpm run lint-template
```

## Lint Applications for an Individual Framework

```sh
npm run lint-template -- -- -e angular
npm run lint-template -- -- -e react
npm run lint-template -- -- -e react-ts
npm run lint-template -- -- -e vue-v3
pnpm run lint-template -e angular
pnpm run lint-template -e react
pnpm run lint-template -e react-ts
pnpm run lint-template -e vue-v3
```

## Test Applications

```sh
npm run test-template
pnpm run test-template
```

## Test Applications for an Individual Framework

```sh
npm run test-template -- -- -e angular
npm run test-template -- -- -e react
npm run test-template -- -- -e react-ts
npm run test-template -- -- -e vue-v3
pnpm run test-template -e angular
pnpm run test-template -e react
pnpm run test-template -e react-ts
pnpm run test-template -e vue-v3
```

## Run Tests for Existing Test Applications

```sh
npm run test-dev
pnpm run test-dev
```

## Run Tests for an Individual Framework

```sh
npm run test -- -- -t angular
npm run test -- -- -t react
npm run test -- -- -t react-ts
npm run test -- -- -t vue-v3
pnpm run test -t angular
pnpm run test -t react
pnpm run test -t react-ts
pnpm run test -t vue-v3
```

## Replace etalon
Expand All @@ -99,13 +99,13 @@ Modifying an application template directly is not recommended. Instead, generate
3. Run a script that updates templates for all frameworks:

```sh
npm run update-template
pnpm run update-template
```

... or a script that updates the template for an individual framework:

```sh
npm run update-template -- -p angular
npm run update-template -- -p react-ts
npm run update-template -- -p vue-v3
pnpm run update-template -p angular
pnpm run update-template -p react-ts
pnpm run update-template -p vue-v3
```
6 changes: 0 additions & 6 deletions lerna.json

This file was deleted.

Loading
Loading