diff --git a/docs/content/drafts/ActionList2.mdx b/docs/content/drafts/ActionList2.mdx
index b5029fe7cdf..bf842be1fe6 100644
--- a/docs/content/drafts/ActionList2.mdx
+++ b/docs/content/drafts/ActionList2.mdx
@@ -43,10 +43,7 @@ import InlineCode from '@primer/gatsby-theme-doctocat/src/components/inline-code
```js
-// ESM
-import {ActionList} from '@primer/react/lib-esm/drafts'
-// or commonjs:
-import {ActionList} from '@primer/react/lib/drafts'
+import {ActionList} from '@primer/react/drafts'
```
## Examples
diff --git a/docs/content/drafts/ActionMenu2.mdx b/docs/content/drafts/ActionMenu2.mdx
index f91f9c60f6c..4a8a8250ebf 100644
--- a/docs/content/drafts/ActionMenu2.mdx
+++ b/docs/content/drafts/ActionMenu2.mdx
@@ -43,10 +43,7 @@ import {Props} from '../../src/props'
```js
-// ESM
-import {ActionMenu} from '@primer/react/lib-esm/drafts'
-// or commonjs:
-import {ActionMenu} from '@primer/react/lib/drafts'
+import {ActionMenu} from '@primer/react/drafts'
```
diff --git a/docs/content/drafts/Button2.mdx b/docs/content/drafts/Button2.mdx
index 567fe4353eb..f33d782f723 100644
--- a/docs/content/drafts/Button2.mdx
+++ b/docs/content/drafts/Button2.mdx
@@ -16,10 +16,7 @@ import {Button, IconButton, LinkButton} from '@primer/react/drafts'
### Installation
```js
-// ESM
-import {Button} from '@primer/react/lib-esm/drafts'
-// or commonjs:
-import {Button} from '@primer/react/lib/drafts'
+import {Button} from '@primer/react/drafts'
```
### Default button
diff --git a/docs/content/drafts/IconButton.mdx b/docs/content/drafts/IconButton.mdx
index 7d00d1f2afc..3d6c9e5c2c6 100644
--- a/docs/content/drafts/IconButton.mdx
+++ b/docs/content/drafts/IconButton.mdx
@@ -14,9 +14,7 @@ import {ComponentChecklist} from '../../src/component-checklist'
### Installation
```js
-import {IconButton} from '@primer/react/lib-esm/drafts'
-// or commonjs:
-import {IconButton} from '@primer/react/lib/drafts'
+import {IconButton} from '@primer/react/drafts'
```
### Icon only button
diff --git a/docs/content/drafts/LinkButton.mdx b/docs/content/drafts/LinkButton.mdx
index aed0522dacf..23cad9811a5 100644
--- a/docs/content/drafts/LinkButton.mdx
+++ b/docs/content/drafts/LinkButton.mdx
@@ -15,9 +15,7 @@ import {ArrowRightIcon} from '@primer/octicons-react'
### Installation
```js
-import {LinkButton} from '@primer/react/lib-esm/drafts'
-// or commonjs:
-import {LinkButton} from '@primer/react/lib/drafts'
+import {LinkButton} from '@primer/react/drafts'
```
### Default
diff --git a/drafts/package.json b/drafts/package.json
new file mode 100644
index 00000000000..3a2ed1c37ae
--- /dev/null
+++ b/drafts/package.json
@@ -0,0 +1,9 @@
+{
+ "_comment1": "this is required only for typescript. once this is fixed https://github.com/microsoft/TypeScript/issues/33079 we can remove this hack",
+ "name": "@primer/react/drafts",
+ "types": "../lib-esm/drafts/index.d.ts",
+ "main": "../lib-esm/drafts/index.js",
+ "type": "module",
+ "sideEffects": false
+ }
+
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index a2f1dc56a82..9d322841f3a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5710,9 +5710,15 @@
}
},
"node_modules/@primer/behaviors": {
+<<<<<<< HEAD
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-1.0.3.tgz",
"integrity": "sha512-zh1FKvAXLjKs0rr9Ik9E5M3Q9/npa9hmpuHKmYZn7u9QnSl+X13jFPme3AmtokOlfduFYeHfQyzSIJEhSEVl3w=="
+=======
+ "version": "0.0.0-2022020145740",
+ "resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-0.0.0-2022020145740.tgz",
+ "integrity": "sha512-VViqEjOCcgHn+etCVwFR5PXBCTMK8/uFpEgFql4adKK1EG3RAIxvlOVXsBPGFKfbR9JZft2xOnutq32sRFtUAA=="
+>>>>>>> e86d01e9 (Add exports to package.json)
},
"node_modules/@primer/octicons-react": {
"version": "16.1.1",
@@ -41398,9 +41404,15 @@
"dev": true
},
"@primer/behaviors": {
+<<<<<<< HEAD
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-1.0.3.tgz",
"integrity": "sha512-zh1FKvAXLjKs0rr9Ik9E5M3Q9/npa9hmpuHKmYZn7u9QnSl+X13jFPme3AmtokOlfduFYeHfQyzSIJEhSEVl3w=="
+=======
+ "version": "0.0.0-2022020145740",
+ "resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-0.0.0-2022020145740.tgz",
+ "integrity": "sha512-VViqEjOCcgHn+etCVwFR5PXBCTMK8/uFpEgFql4adKK1EG3RAIxvlOVXsBPGFKfbR9JZft2xOnutq32sRFtUAA=="
+>>>>>>> e86d01e9 (Add exports to package.json)
},
"@primer/octicons-react": {
"version": "16.1.1",
diff --git a/package.json b/package.json
index 5264d9b9d21..7277579af6b 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,20 @@
"description": "An implementation of GitHub's Primer Design System using React",
"main": "lib/index.js",
"module": "lib-esm/index.js",
+ "exports": {
+ ".": {
+ "node": "./lib/index.js",
+ "default": "./lib-esm/index.js"
+ },
+ "./drafts": {
+ "node": "./lib/drafts/index.js",
+ "default": "./lib-esm/drafts/index.js"
+ },
+ "./lib-esm/*": {
+ "node": ["./lib/*.js","./lib/*/index.js"],
+ "default": ["./lib-esm/*.js","./lib-esm/*/index.js"]
+ }
+ },
"typings": "lib/index.d.ts",
"sideEffects": false,
"scripts": {
@@ -34,6 +48,7 @@
"lib",
"lib-esm",
"index.d.ts",
+ "drafts/package.json",
"!lib/__tests__",
"!lib/stories",
"!lib-esm/__tests__",
diff --git a/src/drafts.ts b/src/drafts/index.ts
similarity index 68%
rename from src/drafts.ts
rename to src/drafts/index.ts
index d3c1c663261..efa9ff196c5 100644
--- a/src/drafts.ts
+++ b/src/drafts/index.ts
@@ -6,8 +6,8 @@
*/
// Components
-export * from './ActionList2'
-export * from './Button2'
-export * from './ActionMenu2'
-export * from './DropdownMenu2'
-export * from './Label2'
+export * from '../ActionList2'
+export * from '../Button2'
+export * from '../ActionMenu2'
+export * from '../DropdownMenu2'
+export * from '../Label2'