Skip to content

Commit cbced4f

Browse files
Added edge-light and workerd conditions to package.json (#417)
* Add a workerd target for cloudflare workers * add edge-light export condition * reuse conditions better * tweak changeset --------- Co-authored-by: Mateusz Burzyński <[email protected]>
1 parent bd6a3f8 commit cbced4f

File tree

12 files changed

+48
-21
lines changed

12 files changed

+48
-21
lines changed

.changeset/flat-areas-buy.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'react-textarea-autosize': patch
3+
---
4+
5+
Added `edge-light` and `workerd` conditions to `package.json` manifest to better serve users using Vercel Edge and Cloudflare Workers.
6+
7+
This lets tools like Wrangler and the Cloudflare Vite Plugin pick up the right version of the built module, preventing issues like https://github.com/cloudflare/workers-sdk/issues/8723.

package.json

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,20 @@
2626
"default": "./dist/react-textarea-autosize.cjs.js"
2727
},
2828
"development": {
29+
"edge-light": {
30+
"module": "./dist/react-textarea-autosize.development.edge-light.esm.js",
31+
"import": "./dist/react-textarea-autosize.development.edge-light.cjs.mjs",
32+
"default": "./dist/react-textarea-autosize.development.edge-light.cjs.js"
33+
},
2934
"worker": {
30-
"module": "./dist/react-textarea-autosize.development.worker.esm.js",
31-
"import": "./dist/react-textarea-autosize.development.worker.cjs.mjs",
32-
"default": "./dist/react-textarea-autosize.development.worker.cjs.js"
35+
"module": "./dist/react-textarea-autosize.development.edge-light.esm.js",
36+
"import": "./dist/react-textarea-autosize.development.edge-light.cjs.mjs",
37+
"default": "./dist/react-textarea-autosize.development.edge-light.cjs.js"
38+
},
39+
"workerd": {
40+
"module": "./dist/react-textarea-autosize.development.edge-light.esm.js",
41+
"import": "./dist/react-textarea-autosize.development.edge-light.cjs.mjs",
42+
"default": "./dist/react-textarea-autosize.development.edge-light.cjs.js"
3343
},
3444
"browser": {
3545
"module": "./dist/react-textarea-autosize.browser.development.esm.js",
@@ -40,10 +50,20 @@
4050
"import": "./dist/react-textarea-autosize.development.cjs.mjs",
4151
"default": "./dist/react-textarea-autosize.development.cjs.js"
4252
},
53+
"edge-light": {
54+
"module": "./dist/react-textarea-autosize.edge-light.esm.js",
55+
"import": "./dist/react-textarea-autosize.edge-light.cjs.mjs",
56+
"default": "./dist/react-textarea-autosize.edge-light.cjs.js"
57+
},
4358
"worker": {
44-
"module": "./dist/react-textarea-autosize.worker.esm.js",
45-
"import": "./dist/react-textarea-autosize.worker.cjs.mjs",
46-
"default": "./dist/react-textarea-autosize.worker.cjs.js"
59+
"module": "./dist/react-textarea-autosize.edge-light.esm.js",
60+
"import": "./dist/react-textarea-autosize.edge-light.cjs.mjs",
61+
"default": "./dist/react-textarea-autosize.edge-light.cjs.js"
62+
},
63+
"workerd": {
64+
"module": "./dist/react-textarea-autosize.edge-light.esm.js",
65+
"import": "./dist/react-textarea-autosize.edge-light.cjs.mjs",
66+
"default": "./dist/react-textarea-autosize.edge-light.cjs.js"
4767
},
4868
"browser": {
4969
"module": "./dist/react-textarea-autosize.browser.esm.js",
@@ -57,14 +77,16 @@
5777
"./package.json": "./package.json"
5878
},
5979
"imports": {
60-
"#is-browser": {
61-
"worker": "./src/resolved-conditions/worker.ts",
62-
"browser": "./src/resolved-conditions/browser.ts",
63-
"default": "./src/resolved-conditions/node.ts"
64-
},
6580
"#is-development": {
66-
"development": "./src/resolved-conditions/development.ts",
67-
"default": "./src/resolved-conditions/production.ts"
81+
"development": "./src/conditions/true.ts",
82+
"default": "./src/conditions/false.ts"
83+
},
84+
"#is-browser": {
85+
"edge-light": "./src/conditions/false.ts",
86+
"workerd": "./src/conditions/false.ts",
87+
"worker": "./src/conditions/false.ts",
88+
"browser": "./src/conditions/true.ts",
89+
"default": "./src/conditions/is-browser.ts"
6890
}
6991
},
7092
"sideEffects": false,

src/conditions/false.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default false;

src/conditions/is-browser.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default typeof document !== 'undefined';

src/conditions/true.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default true;

src/getSizingData.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { isBrowser } from '#is-browser';
1+
import isBrowser from '#is-browser';
22
import { pick } from './utils';
33

44
const SIZING_STYLE = [

src/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as React from 'react';
2-
import { isDevelopment } from '#is-development';
3-
import { isBrowser } from '#is-browser';
2+
import isDevelopment from '#is-development';
3+
import isBrowser from '#is-browser';
44
import calculateNodeHeight from './calculateNodeHeight';
55
import getSizingData, { SizingData } from './getSizingData';
66
import {

src/resolved-conditions/browser.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/resolved-conditions/development.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/resolved-conditions/node.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)