diff --git a/packages/devextreme-dist/LICENSE.md b/packages/devextreme-dist/LICENSE.md new file mode 100644 index 000000000000..7a41519407f6 --- /dev/null +++ b/packages/devextreme-dist/LICENSE.md @@ -0,0 +1,3 @@ +## Licensing + +Consult the [DevExtreme Licensing Page](https://js.devexpress.com/Licensing/) for licensing terms. \ No newline at end of file diff --git a/packages/devextreme-dist/README.md b/packages/devextreme-dist/README.md new file mode 100644 index 000000000000..d13fe52962d4 --- /dev/null +++ b/packages/devextreme-dist/README.md @@ -0,0 +1,20 @@ +# DevExtreme Bundles + +Contains ready-to-use bundles designed to integrate DevExtreme JavaScript components into jQuery applications (can also be used with frameworks that DevExtreme does not support out of the box). + +Visit [js.devexpress.com](https://js.devexpress.com/) to learn more about DevExtreme JavaScript UI components and supported development frameworks. + +## Installation and Usage + +Install the package and reference DevExtreme scripts and stylesheets within the `` tag of your application's index page. For additional information, refer to the following guides: + +- [DevExtreme jQuery/JS - Distribution Channels](https://js.devexpress.com/jQuery/Documentation/Guide/Common/Distribution_Channels/#npm) +- [DevExtreme jQuery/JS - Add DevExtreme to a jQuery Application](https://js.devexpress.com/jQuery/Documentation/Guide/jQuery_Components/Add_DevExtreme_to_a_jQuery_Application/) + +## License + +See [DevExtreme Licensing](https://js.devexpress.com/Licensing/). + +## Support + +For technical support, visit the [DevExpress Support Center](https://www.devexpress.com/sc). \ No newline at end of file diff --git a/packages/devextreme/artifacts/npm/devextreme-dist/package.json b/packages/devextreme-dist/package.json similarity index 85% rename from packages/devextreme/artifacts/npm/devextreme-dist/package.json rename to packages/devextreme-dist/package.json index 172c16935480..2ccffc637a32 100644 --- a/packages/devextreme/artifacts/npm/devextreme-dist/package.json +++ b/packages/devextreme-dist/package.json @@ -42,13 +42,18 @@ "Responsive-ui", "Javascript", "Typescript", - "shadowdom" + "shadowdom" ], "homepage": "https://js.devexpress.com/", "bugs": "https://www.devexpress.com/support/", + "license": "SEE LICENSE IN LICENSE.md", "author": "Developer Express Inc.", "repository": { "type": "git", "url": "https://github.com/DevExpress/DevExtreme.git" + }, + "publishConfig": { + "directory": "../devextreme/artifacts/npm/devextreme-dist", + "linkDirectory": true } } diff --git a/packages/devextreme/.gitignore b/packages/devextreme/.gitignore index e7bb8bfe4d46..068a8ee12986 100644 --- a/packages/devextreme/.gitignore +++ b/packages/devextreme/.gitignore @@ -1,6 +1,5 @@ node_modules /artifacts -!/artifacts/npm/devextreme-dist/package.json /testing/testcafe/artifacts /testing/LastSuiteTime.txt /dotnet_packages diff --git a/packages/devextreme/build/gulp/npm.js b/packages/devextreme/build/gulp/npm.js index 271e204aeca9..4d86312f39b1 100644 --- a/packages/devextreme/build/gulp/npm.js +++ b/packages/devextreme/build/gulp/npm.js @@ -17,9 +17,10 @@ const ctx = require('./context.js'); const env = require('./env-variables.js'); const dataUri = require('./gulp-data-uri').gulpPipe; const headerPipes = require('./header-pipes.js'); -const { packageDir, packageDistDir, isEsmPackage, stringSrc, devextremeDistDir } = require('./utils'); +const { packageDir, packageDistDir, isEsmPackage, stringSrc } = require('./utils'); const resultPath = ctx.RESULT_NPM_PATH; +const devextremeDistWorkspacePackageJsonPath = '../devextreme-dist/package.json'; const srcGlobsPattern = (path, exclude) => [ `${path}/**/*.js`, @@ -158,9 +159,28 @@ const distPath = `${resultPath}/${packageDistDir}`; gulp.task('npm-sources', gulp.series( 'ts-sources', () => gulp - .src(`${resultPath}/${devextremeDistDir}/package.json`) - .pipe(overwriteInternalPackageName()) - .pipe(gulpIf(env.BUILD_INTERNAL_PACKAGE, gulp.dest(distPath))), + .src(devextremeDistWorkspacePackageJsonPath) + .pipe( + through.obj((file, enc, callback) => { + const pkg = JSON.parse(file.contents.toString(enc)); + + pkg.version = ctx.version; + delete pkg.publishConfig; + + file.contents = Buffer.from(JSON.stringify(pkg, null, 2)); + callback(null, file); + }) + ) + .pipe(gulpIf(env.BUILD_INTERNAL_PACKAGE, overwriteInternalPackageName())) + .pipe(gulp.dest(distPath)), + () => merge( + gulp + .src('../devextreme-dist/README.md') + .pipe(gulp.dest(distPath)), + gulp + .src('../devextreme-dist/LICENSE.md') + .pipe(gulp.dest(distPath)), + ), sources(srcGlobs, packagePath, distGlobs)) ); diff --git a/packages/devextreme/gulpfile.js b/packages/devextreme/gulpfile.js index 5b7f67fd296b..7e39d644553f 100644 --- a/packages/devextreme/gulpfile.js +++ b/packages/devextreme/gulpfile.js @@ -22,7 +22,6 @@ gulp.task('clean', function(callback) { '!artifacts/npm/devextreme', '!artifacts/npm/devextreme/*.json', '!artifacts/npm/devextreme-dist', - '!artifacts/npm/devextreme-dist/*.json', ]); cache.clearAll(); callback(); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 150fa5bc55c0..731238760fb2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1933,6 +1933,9 @@ importers: version: 0.15.1 publishDirectory: npm/dist + packages/devextreme-dist: + publishDirectory: ../devextreme/artifacts/npm/devextreme-dist + packages/devextreme-metadata: devDependencies: '@types/node': @@ -2226,8 +2229,6 @@ importers: version: 4.2.5(vue@3.2.47) publishDirectory: npm - packages/devextreme/artifacts/npm/devextreme-dist: {} - packages/eslint-migration-utils: devDependencies: '@eslint-stylistic/metadata': diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 2cd26091adcc..9ee2b5e5e634 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,7 +2,6 @@ packages: - 'apps/*' - 'e2e/*' - 'packages/*' - - 'packages/devextreme/artifacts/npm/devextreme-dist' - '!packages/sbom' catalog: