Skip to content

Commit acddd45

Browse files
davidcoleman007David ColemanLFDanLu
authored
working branch for supporting windows contributors (#6313)
* remove --extensions as they are unnecessary add is-mingw use isMinGW to use proper slashes on windows git bash * remove logs from preview builder * is-mingw is a dev dep * patching storybook-builder-parcel to solve windows forward slash issues --------- Co-authored-by: David Coleman <[email protected]> Co-authored-by: Daniel Lu <[email protected]>
1 parent 25a2a30 commit acddd45

File tree

7 files changed

+82
-6
lines changed

7 files changed

+82
-6
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
diff --git a/gen-preview-modern.js b/gen-preview-modern.js
2+
index a1fe3d1ce6b748e533200f5af69a0481e5809c6c..aeed09de7dbaddd4606ac3579a86cb2ba389eb2f 100644
3+
--- a/gen-preview-modern.js
4+
+++ b/gen-preview-modern.js
5+
@@ -7,9 +7,16 @@ const {
6+
} = require("@storybook/core-common");
7+
const { logger } = require("@storybook/node-logger");
8+
const { promise: glob } = require("glob-promise");
9+
+const isMingw = require('is-mingw');
10+
11+
-const absoluteToSpecifier = (generatedEntries, abs) =>
12+
- "./" + path.relative(generatedEntries, abs);
13+
+const absoluteToSpecifier = (generatedEntries, abs) => {
14+
+ let relativePath = path.relative(generatedEntries, abs);
15+
+ if (isMingw()) {
16+
+ relativePath = relativePath.replace(/\\/g, '/');
17+
+ }
18+
+
19+
+ return "./" + relativePath;
20+
+}
21+
22+
module.exports.generatePreviewModern = async function generatePreviewModern(
23+
options,
24+
@@ -66,7 +73,7 @@ module.exports.generatePreviewModern = async function generatePreviewModern(
25+
*/
26+
const code = `
27+
import { composeConfigs, PreviewWeb, ClientApi } from '@storybook/preview-api';
28+
-
29+
+
30+
// generateAddonSetupCode
31+
import { createBrowserChannel } from '@storybook/channels';
32+
import { addons } from '@storybook/preview-api';
33+
@@ -94,7 +101,7 @@ module.exports.generatePreviewModern = async function generatePreviewModern(
34+
window.__STORYBOOK_CLIENT_API__ = new ClientApi({ storyStore: preview.storyStore });
35+
36+
preview.initialize({ importFn, getProjectAnnotations });
37+
-
38+
+
39+
`;
40+
// ${generateHMRHandler(frameworkName)};
41+
return code;
42+
@@ -152,7 +159,11 @@ function toImportPath(relativePath) {
43+
async function toImportFn(stories, generatedEntries) {
44+
const objectEntries = stories.map((file) => {
45+
const ext = path.extname(file);
46+
- const relativePath = /*normalizePath*/ path.relative(process.cwd(), file);
47+
+ let relativePath = /*normalizePath*/ path.relative(process.cwd(), file);
48+
+ if (isMingw()) {
49+
+ relativePath = relativePath.replace(/\\/g, '/');
50+
+ }
51+
+
52+
if (![".js", ".jsx", ".ts", ".tsx", ".mdx"].includes(ext)) {
53+
logger.warn(
54+
`Cannot process ${ext} file with storyStoreV7: ${relativePath}`

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@
162162
"glob-promise": "^6.0.5",
163163
"identity-obj-proxy": "^3.0.0",
164164
"ignore-styles": "^5.0.1",
165+
"is-mingw": "^2.0.0",
165166
"jest": "^29.5.0",
166167
"jest-environment-jsdom": "^29.5.0",
167168
"jest-junit": "^15.0.0",
@@ -195,7 +196,7 @@
195196
"sharp": "^0.31.2",
196197
"sinon": "^7.3.1",
197198
"storybook": "^7.6.19",
198-
"storybook-builder-parcel": "https://gitpkg.vercel.app/mischnic/storybook-parcel/packages/storybook-builder-parcel?master",
199+
"storybook-builder-parcel": "patch:storybook-builder-parcel@https%3A//gitpkg.vercel.app/mischnic/storybook-parcel/packages/storybook-builder-parcel?master#~/.yarn/patches/storybook-builder-parcel-https-7ea26540e8.patch",
199200
"storybook-dark-mode": "^3.0.3",
200201
"storybook-react-parcel": "https://gitpkg.vercel.app/mischnic/storybook-parcel/packages/storybook-react-parcel?master",
201202
"tailwind-variants": "^0.1.18",

packages/@spectrum-icons/color/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"build-esm": "cross-env BUILD_ENV=production babel src -d . --extensions '.ts,.tsx' --out-file-extension '.module.mjs' --config-file '../../../babel-esm.config.json'",
2020
"generate-types": "tsc --project ./tsconfig.types.json",
2121
"build-icons": "yarn build-cjs && yarn build-esm",
22-
"make-icons": "babel-node --extensions '.cjs,.js' --presets @babel/env ./scripts/generateIcons.cjs -i '[]' && yarn generate-types"
22+
"make-icons": "babel-node --presets @babel/env ./scripts/generateIcons.cjs -i '[]' && yarn generate-types"
2323
},
2424
"dependencies": {
2525
"@adobe/react-spectrum-workflow-color": "1.1.1",

packages/@spectrum-icons/express/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"build-esm": "cross-env BUILD_ENV=production babel src -d . --extensions '.ts,.tsx' --out-file-extension '.module.mjs' --config-file '../../../babel-esm.config.json'",
2020
"generate-types": "tsc --project ./tsconfig.types.json",
2121
"build-icons": "yarn build-cjs && yarn build-esm",
22-
"make-icons": "babel-node --extensions '.cjs,.js' --presets @babel/env ./scripts/generateIcons.cjs -i '[]' && yarn generate-types"
22+
"make-icons": "babel-node --presets @babel/env ./scripts/generateIcons.cjs -i '[]' && yarn generate-types"
2323
},
2424
"dependencies": {
2525
"@adobe/spectrum-css-ccx-workflow-icons": "1.0.2",

packages/@spectrum-icons/ui/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"build-esm": "cross-env BUILD_ENV=production babel src -d . --extensions '.ts,.tsx' --out-file-extension '.module.mjs' --config-file '../../../babel-esm.config.json'",
2020
"generate-types": "tsc --project ./tsconfig.types.json",
2121
"build-icons": "yarn build-cjs && yarn build-esm",
22-
"make-icons": "babel-node --extensions '.cjs,.js' --presets @babel/env ./scripts/generateIcons.cjs -i '[]' && yarn generate-types"
22+
"make-icons": "babel-node --presets @babel/env ./scripts/generateIcons.cjs -i '[]' && yarn generate-types"
2323
},
2424
"dependencies": {
2525
"@adobe/react-spectrum-ui": "1.2.1",

packages/@spectrum-icons/workflow/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"build-esm": "cross-env BUILD_ENV=production babel src -d . --extensions '.ts,.tsx' --out-file-extension '.module.mjs' --config-file '../../../babel-esm.config.json'",
2020
"generate-types": "tsc --project ./tsconfig.types.json",
2121
"build-icons": "yarn build-cjs && yarn build-esm",
22-
"make-icons": "babel-node --extensions '.cjs,.js' --presets @babel/env ./scripts/generateIcons.cjs -i '[]' && yarn generate-types"
22+
"make-icons": "babel-node --presets @babel/env ./scripts/generateIcons.cjs -i '[]' && yarn generate-types"
2323
},
2424
"dependencies": {
2525
"@adobe/react-spectrum-workflow": "2.3.5",

yarn.lock

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21077,6 +21077,13 @@ __metadata:
2107721077
languageName: node
2107821078
linkType: hard
2107921079

21080+
"is-mingw@npm:^2.0.0":
21081+
version: 2.0.0
21082+
resolution: "is-mingw@npm:2.0.0"
21083+
checksum: 10c0/c1a5a140b611d8286901155ad53729426ecf384b397918edb0d54547b5f84e3ac7c831725f87f1538919b50c7e3065cdf386b28d234ee81c9ca0066b1d46ad77
21084+
languageName: node
21085+
linkType: hard
21086+
2108021087
"is-nan@npm:^1.3.2":
2108121088
version: 1.3.2
2108221089
resolution: "is-nan@npm:1.3.2"
@@ -29090,6 +29097,7 @@ __metadata:
2909029097
glob-promise: "npm:^6.0.5"
2909129098
identity-obj-proxy: "npm:^3.0.0"
2909229099
ignore-styles: "npm:^5.0.1"
29100+
is-mingw: "npm:^2.0.0"
2909329101
jest: "npm:^29.5.0"
2909429102
jest-environment-jsdom: "npm:^29.5.0"
2909529103
jest-junit: "npm:^15.0.0"
@@ -29123,7 +29131,7 @@ __metadata:
2912329131
sharp: "npm:^0.31.2"
2912429132
sinon: "npm:^7.3.1"
2912529133
storybook: "npm:^7.6.19"
29126-
storybook-builder-parcel: "https://gitpkg.vercel.app/mischnic/storybook-parcel/packages/storybook-builder-parcel?master"
29134+
storybook-builder-parcel: "patch:storybook-builder-parcel@https%3A//gitpkg.vercel.app/mischnic/storybook-parcel/packages/storybook-builder-parcel?master#~/.yarn/patches/storybook-builder-parcel-https-7ea26540e8.patch"
2912729135
storybook-dark-mode: "npm:^3.0.3"
2912829136
storybook-react-parcel: "https://gitpkg.vercel.app/mischnic/storybook-parcel/packages/storybook-react-parcel?master"
2912929137
tailwind-variants: "npm:^0.1.18"
@@ -31337,6 +31345,19 @@ __metadata:
3133731345
languageName: node
3133831346
linkType: hard
3133931347

31348+
"storybook-builder-parcel@patch:storybook-builder-parcel@https%3A//gitpkg.vercel.app/mischnic/storybook-parcel/packages/storybook-builder-parcel?master#~/.yarn/patches/storybook-builder-parcel-https-7ea26540e8.patch":
31349+
version: 0.0.0
31350+
resolution: "storybook-builder-parcel@patch:storybook-builder-parcel@https%3A//gitpkg.vercel.app/mischnic/storybook-parcel/packages/storybook-builder-parcel?master#~/.yarn/patches/storybook-builder-parcel-https-7ea26540e8.patch::version=0.0.0&hash=08ad7e"
31351+
dependencies:
31352+
"@storybook/core-common": "npm:7.6.4"
31353+
http-proxy-middleware: "npm:^2.0.6"
31354+
peerDependencies:
31355+
"@parcel/core": ^2.0.0
31356+
react: "*"
31357+
checksum: 10c0/565481429f72b5d9ab24bc5929c3fe048e44137125ae69fc5002f8c96bc5cefa736bff09450ed3aa37e165991742b44042ae150556cf66c6796066401f0696cb
31358+
languageName: node
31359+
linkType: hard
31360+
3134031361
"storybook-dark-mode@npm:^3.0.3":
3134131362
version: 3.0.3
3134231363
resolution: "storybook-dark-mode@npm:3.0.3"

0 commit comments

Comments
 (0)