You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by do...@apache.org on 2024/01/05 22:40:54 UTC
(arrow) branch main updated: GH-39289: [JS] Add types to exports (#39475)
This is an automated email from the ASF dual-hosted git repository.
domoritz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/main by this push:
new 17b946c745 GH-39289: [JS] Add types to exports (#39475)
17b946c745 is described below
commit 17b946c745cbcc4ee62a8607301db1939f364c68
Author: Dominik Moritz <do...@apache.org>
AuthorDate: Fri Jan 5 22:40:48 2024 +0000
GH-39289: [JS] Add types to exports (#39475)
* Closes: #39289
---
js/gulp/arrow-task.js | 1 +
js/gulp/package-task.js | 38 ++++++++++++++++++++++++++++----------
2 files changed, 29 insertions(+), 10 deletions(-)
diff --git a/js/gulp/arrow-task.js b/js/gulp/arrow-task.js
index 2de20947dc..f8a18fe122 100644
--- a/js/gulp/arrow-task.js
+++ b/js/gulp/arrow-task.js
@@ -41,6 +41,7 @@ export const arrowTask = ((cache) => memoizeTask(cache, function copyMain(target
const esnextUmdSourceMapsGlob = `${targetDir(`esnext`, `umd`)}/*.map`;
return ObservableForkJoin([
observableFromStreams(gulp.src(dtsGlob), gulp.dest(out)), // copy d.ts files
+ observableFromStreams(gulp.src(dtsGlob), gulpRename((p) => { p.extname = '.mts'; }), gulp.dest(out)), // copy d.ts files as esm
observableFromStreams(gulp.src(cjsGlob), gulp.dest(out)), // copy es2015 cjs files
observableFromStreams(gulp.src(cjsSourceMapsGlob), gulp.dest(out)), // copy es2015 cjs sourcemaps
observableFromStreams(gulp.src(esmSourceMapsGlob), gulp.dest(out)), // copy es2015 esm sourcemaps
diff --git a/js/gulp/package-task.js b/js/gulp/package-task.js
index 449b0761ca..9bc002e664 100644
--- a/js/gulp/package-task.js
+++ b/js/gulp/package-task.js
@@ -45,6 +45,9 @@ const createMainPackageJson = (target, format) => (orig) => ({
type: 'commonjs',
main: `${mainExport}.node.js`,
module: `${mainExport}.node.mjs`,
+ types: `${mainExport}.node.d.ts`,
+ unpkg: `${mainExport}.es2015.min.js`,
+ jsdelivr: `${mainExport}.es2015.min.js`,
browser: {
[`./${mainExport}.node.js`]: `./${mainExport}.dom.js`,
[`./${mainExport}.node.mjs`]: `./${mainExport}.dom.mjs`
@@ -52,20 +55,35 @@ const createMainPackageJson = (target, format) => (orig) => ({
exports: {
'.': {
node: {
- import: `./${mainExport}.node.mjs`,
- require: `./${mainExport}.node.js`,
+ import: {
+ types: `./${mainExport}.node.d.mts`,
+ default: `./${mainExport}.node.mjs`,
+ },
+ require: {
+ types: `./${mainExport}.node.d.ts`,
+ default: `./${mainExport}.node.js`,
+ },
},
- import: `./${mainExport}.dom.mjs`,
- require: `./${mainExport}.dom.js`,
+ import: {
+ types: `./${mainExport}.dom.d.mts`,
+ default: `./${mainExport}.dom.mjs`,
+ },
+ require: {
+ types: `./${mainExport}.dom.d.ts`,
+ default: `./${mainExport}.dom.js`,
+ }
},
'./*': {
- import: `./*.mjs`,
- require: `./*.js`
- }
+ import: {
+ types: `./*.d.mts`,
+ default: `./*.mjs`,
+ },
+ require: {
+ types: `./*.d.ts`,
+ default: `./*.js`,
+ },
+ },
},
- types: `${mainExport}.node.d.ts`,
- unpkg: `${mainExport}.es2015.min.js`,
- jsdelivr: `${mainExport}.es2015.min.js`,
sideEffects: false,
esm: { mode: `all`, sourceMap: true }
});