Skip to content

Commit cae8b7b

Browse files
committed
chore(devextreme-react): replace gulp with nx plugin
1 parent eae4c00 commit cae8b7b

File tree

107 files changed

+5262
-178
lines changed

Some content is hidden

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

107 files changed

+5262
-178
lines changed

nx.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"extends": "nx/presets/npm.json",
33
"$schema": "./node_modules/nx/schemas/nx-schema.json",
44
"nxCloudAccessToken": "ZDFmMzkyZTYtZmU5MC00MDMyLWI3NDktYjhhYWUxZWM4YTg3fHJlYWQ=",
5+
"plugins": ["./packages/nx-infra-plugin/prod"],
56
"namedInputs": {
67
"metadataToolsCommonInputs": [
78
"{projectRoot}/**/*.ts",

packages/devextreme-react/project.json

Lines changed: 105 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,40 +4,120 @@
44
"sourceRoot": "packages/devextreme-react",
55
"projectType": "library",
66
"targets": {
7-
"build": {
8-
"executor": "nx:run-script",
9-
"dependsOn": ["^build"],
7+
"clean": {
8+
"executor": "devextreme-nx-infra-plugin:clean",
9+
"options": {
10+
"targetDirectory": "./src",
11+
"excludePatterns": ["./src/core", "./src/common"],
12+
"mode": "recursive"
13+
}
14+
},
15+
"regenerate": {
16+
"executor": "devextreme-nx-infra-plugin:generate-react-components",
17+
"dependsOn": ["devextreme-metadata:generate","clean"],
1018
"options": {
11-
"script": "pack"
19+
"metadataPath": "../devextreme-metadata/dist/integration-data.json",
20+
"componentsDir": "./src",
21+
"indexFileName": "./src/index.ts",
22+
"baseComponent": "./core/component",
23+
"extensionComponent": "./core/extension-component",
24+
"configComponent": "./core/nested-option"
25+
}
26+
},
27+
"build:esm": {
28+
"executor": "devextreme-nx-infra-plugin:build-typescript",
29+
"dependsOn": ["npm:clean"],
30+
"options": {
31+
"srcPattern": "./src/**/*.{ts,tsx}",
32+
"excludePattern": "./src/**/__tests__/**/*",
33+
"tsconfig": "./tsconfig.esm.json",
34+
"outDir": "./npm/esm",
35+
"module": "esm"
1236
},
13-
"inputs": [
14-
"default"
15-
],
16-
"outputs": [
17-
"{projectRoot}/npm"
18-
],
19-
"cache": true
37+
"outputs": ["{projectRoot}/npm/esm"],
38+
"cache": true,
39+
"inputs": ["default"]
2040
},
21-
"pack": {
22-
"executor": "nx:run-script",
41+
"build:cjs": {
42+
"executor": "devextreme-nx-infra-plugin:build-typescript",
43+
"dependsOn": ["npm:clean"],
2344
"options": {
24-
"script": "pack"
45+
"srcPattern": "./src/**/*.{ts,tsx}",
46+
"excludePattern": "./src/**/__tests__/**/*",
47+
"tsconfig": "./tsconfig.json",
48+
"outDir": "./npm/cjs",
49+
"module": "cjs"
2550
},
26-
"inputs": [
27-
"default"
28-
],
29-
"outputs": [
30-
"{projectRoot}/npm"
31-
],
32-
"cache": true
51+
"outputs": ["{projectRoot}/npm/cjs"],
52+
"cache": true,
53+
"inputs": ["default"]
3354
},
34-
"regenerate": {
35-
"executor": "nx:run-script",
36-
"dependsOn": ["devextreme-metadata:generate"],
55+
"npm:clean": {
56+
"executor": "devextreme-nx-infra-plugin:clean",
57+
"options": {
58+
"targetDirectory": "./npm",
59+
"mode": "simple"
60+
}
61+
},
62+
"prepare-package-json": {
63+
"executor": "devextreme-nx-infra-plugin:prepare-package-json",
64+
"dependsOn": ["npm:clean", "build:esm", "build:cjs"],
65+
"options": {}
66+
},
67+
"license-headers": {
68+
"executor": "devextreme-nx-infra-plugin:add-license-headers",
69+
"dependsOn": ["prepare-package-json"],
70+
"options": {
71+
"targetDirectory": "./npm",
72+
"packageJsonPath": "./package.json"
73+
}
74+
},
75+
"npm:prepare-modules": {
76+
"executor": "devextreme-nx-infra-plugin:prepare-submodules",
77+
"dependsOn": ["npm:clean", "license-headers", "copy-files"],
78+
"options": {
79+
"distDirectory": "./npm"
80+
}
81+
},
82+
"copy-files": {
83+
"executor": "devextreme-nx-infra-plugin:copy-files",
84+
"dependsOn": ["prepare-package-json"],
3785
"options": {
38-
"script": "regenerate"
86+
"files": [
87+
{
88+
"from": "./LICENSE",
89+
"to": "./npm/LICENSE"
90+
},
91+
{
92+
"from": "./README.md",
93+
"to": "./npm/README.md"
94+
}
95+
]
3996
}
4097
},
98+
"pack": {
99+
"executor": "devextreme-nx-infra-plugin:pack-npm",
100+
"dependsOn": ["npm:prepare-modules"],
101+
"options": {
102+
"workingDirectory": "./npm"
103+
},
104+
"outputs": ["{projectRoot}/npm/*.tgz"],
105+
"cache": true,
106+
"inputs": ["default"]
107+
},
108+
"build": {
109+
"executor": "devextreme-nx-infra-plugin:pack-npm",
110+
"dependsOn": ["npm:prepare-modules", "^build"],
111+
"options": {
112+
"workingDirectory": "./npm"
113+
},
114+
"outputs": [
115+
"{projectRoot}/npm",
116+
"{projectRoot}/*.tgz"
117+
],
118+
"cache": true,
119+
"inputs": ["default"]
120+
},
41121
"test": {
42122
"executor": "nx:run-script",
43123
"options": {
@@ -56,7 +136,6 @@
56136
"{projectRoot}/src/**/*",
57137
"!{projectRoot}/src/**/__tests__/*",
58138
"{projectRoot}/build.config.js",
59-
"{projectRoot}/gulpfile.js",
60139
"{projectRoot}/tsconfig*",
61140
"{workspaceRoot}/tsconfig.json"
62141
],
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"executors": {
3+
"generate-react-components": {
4+
"implementation": "./src/executors/generate-react-components/executor",
5+
"schema": "./src/executors/generate-react-components/schema.json",
6+
"description": "Generate React components from DevExtreme metadata"
7+
},
8+
"clean": {
9+
"implementation": "./src/executors/clean/executor",
10+
"schema": "./src/executors/clean/schema.json",
11+
"description": "Clean directories with support for simple or recursive mode"
12+
},
13+
"add-license-headers": {
14+
"implementation": "./src/executors/add-license-headers/executor",
15+
"schema": "./src/executors/add-license-headers/schema.json",
16+
"description": "Add license headers to compiled files"
17+
},
18+
"prepare-submodules": {
19+
"implementation": "./src/executors/prepare-submodules/executor",
20+
"schema": "./src/executors/prepare-submodules/schema.json",
21+
"description": "Prepare submodule entry points with package.json files"
22+
},
23+
"copy-files": {
24+
"implementation": "./src/executors/copy-files/executor",
25+
"schema": "./src/executors/copy-files/schema.json",
26+
"description": "Copy files to destination"
27+
},
28+
"build-typescript": {
29+
"implementation": "./src/executors/build-typescript/executor",
30+
"schema": "./src/executors/build-typescript/schema.json",
31+
"description": "Build TypeScript modules (CJS or ESM) with configurable output format"
32+
},
33+
"prepare-package-json": {
34+
"implementation": "./src/executors/prepare-package-json/executor",
35+
"schema": "./src/executors/prepare-package-json/schema.json",
36+
"description": "Create npm distribution package.json"
37+
},
38+
"pack-npm": {
39+
"implementation": "./src/executors/pack-npm/executor",
40+
"schema": "./src/executors/pack-npm/schema.json",
41+
"description": "Run pnpm pack for npm distribution"
42+
}
43+
}
44+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
export default {
2+
displayName: 'nx-infra-plugin',
3+
preset: '../../jest.config.base.js',
4+
testEnvironment: 'node',
5+
roots: ['<rootDir>/src'],
6+
transform: {
7+
'^.+\\.ts$': ['ts-jest', { tsconfig: '<rootDir>/tsconfig.spec.json' }],
8+
},
9+
moduleFileExtensions: ['ts', 'js', 'html'],
10+
};
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"name": "devextreme-nx-infra-plugin",
3+
"version": "0.0.1",
4+
"type": "commonjs",
5+
"private": true,
6+
"executors": "./prod/executors.json",
7+
"exports": {
8+
".": {
9+
"require": "./prod/src/index.js",
10+
"types": "./prod/src/index.d.ts"
11+
},
12+
"./package.json": "./package.json"
13+
},
14+
"dependencies": {
15+
"glob": "10.4.5",
16+
"rimraf": "3.0.2"
17+
},
18+
"devDependencies": {
19+
"@types/node": "^18.0.0",
20+
"typescript": "4.9.5"
21+
},
22+
"scripts": {
23+
"build": "nx build nx-infra-plugin",
24+
"test": "nx test nx-infra-plugin"
25+
}
26+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"executors": {
3+
"generate-react-components": {
4+
"implementation": "./src/executors/generate-react-components/executor",
5+
"schema": "./src/executors/generate-react-components/schema.json",
6+
"description": "Generate React components from DevExtreme metadata"
7+
},
8+
"clean": {
9+
"implementation": "./src/executors/clean/executor",
10+
"schema": "./src/executors/clean/schema.json",
11+
"description": "Clean directories with support for simple or recursive mode"
12+
},
13+
"add-license-headers": {
14+
"implementation": "./src/executors/add-license-headers/executor",
15+
"schema": "./src/executors/add-license-headers/schema.json",
16+
"description": "Add license headers to compiled files"
17+
},
18+
"prepare-submodules": {
19+
"implementation": "./src/executors/prepare-submodules/executor",
20+
"schema": "./src/executors/prepare-submodules/schema.json",
21+
"description": "Prepare submodule entry points with package.json files"
22+
},
23+
"copy-files": {
24+
"implementation": "./src/executors/copy-files/executor",
25+
"schema": "./src/executors/copy-files/schema.json",
26+
"description": "Copy files to destination"
27+
},
28+
"build-typescript": {
29+
"implementation": "./src/executors/build-typescript/executor",
30+
"schema": "./src/executors/build-typescript/schema.json",
31+
"description": "Build TypeScript modules (CJS or ESM) with configurable output format"
32+
},
33+
"prepare-package-json": {
34+
"implementation": "./src/executors/prepare-package-json/executor",
35+
"schema": "./src/executors/prepare-package-json/schema.json",
36+
"description": "Create npm distribution package.json"
37+
},
38+
"pack-npm": {
39+
"implementation": "./src/executors/pack-npm/executor",
40+
"schema": "./src/executors/pack-npm/schema.json",
41+
"description": "Run pnpm pack for npm distribution"
42+
}
43+
}
44+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"name": "devextreme-nx-infra-plugin",
3+
"version": "0.0.1",
4+
"type": "commonjs",
5+
"private": true,
6+
"executors": "./prod/executors.json",
7+
"exports": {
8+
".": {
9+
"require": "./prod/src/index.js",
10+
"types": "./prod/src/index.d.ts"
11+
},
12+
"./package.json": "./package.json"
13+
},
14+
"dependencies": {
15+
"glob": "10.4.5",
16+
"rimraf": "3.0.2"
17+
},
18+
"devDependencies": {
19+
"@types/node": "^18.0.0",
20+
"typescript": "4.9.5",
21+
"prettier": "catalog:tools"
22+
},
23+
"scripts": {
24+
"format:check": "prettier --check .",
25+
"format": "prettier --write .",
26+
"build": "nx build nx-infra-plugin",
27+
"test": "nx test nx-infra-plugin",
28+
"lint": "pnpm run format:check"
29+
},
30+
"main": "./src/index.js"
31+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import { PromiseExecutor } from '@nx/devkit';
2+
import { AddLicenseHeadersExecutorSchema } from './schema';
3+
declare const runExecutor: PromiseExecutor<AddLicenseHeadersExecutorSchema>;
4+
export default runExecutor;

0 commit comments

Comments
 (0)