@chromatic-com/storybook 3.2.1 → 3.2.2--canary.346.558264a.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/preset.js +7 -7
- package/package.json +24 -22
package/dist/preset.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
var fs = require('fs');
|
|
4
4
|
var promises = require('fs/promises');
|
|
5
5
|
var path = require('path');
|
|
6
|
-
var ke = require('storybook/internal/core-events');
|
|
7
6
|
var telemetry = require('@storybook/telemetry');
|
|
8
7
|
var node = require('chromatic/node');
|
|
8
|
+
var fe = require('@storybook/core-events');
|
|
9
9
|
var filesize = require('filesize');
|
|
10
10
|
var jsonfile = require('jsonfile');
|
|
11
11
|
|
|
@@ -27,12 +27,12 @@ function _interopNamespace(e) {
|
|
|
27
27
|
return Object.freeze(n);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var fe__namespace = /*#__PURE__*/_interopNamespace(fe);
|
|
31
31
|
|
|
32
|
-
var
|
|
33
|
-
${u}`),n=void 0,s=u),i=setTimeout(a,t);}};return a(),{cancel:()=>clearTimeout(i)}},
|
|
32
|
+
var N=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(r,e)=>(typeof require<"u"?require:r)[e]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var {CHROMATIC_INDEX_URL:ge,CHROMATIC_BASE_URL:R=ge||"https://www.chromatic.com",CHROMATIC_API_URL:ve=`${R}/api`}=process.env,F="@chromatic-com/storybook",l="chromaui/addon-visual-tests",M=`${l}/test-provider`,G=`${l}/configInfo`,$=`${l}/gitInfo`,j=`${l}/gitInfoError`,V=`${l}/projectInfo`,z=`${l}/startBuild`,K=`${l}/stopBuild`,H=`${l}/localBuildProgress`,J=`${l}/telemetry`,Y=`${l}/removeAddon`;var Q=`${l}/ChannelFetch/aborted`,q=`${l}ChannelFetch/request`,k=`${l}ChannelFetch/response`,{TESTING_MODULE_CRASH_REPORT:$e="testingModuleCrashReport",TESTING_MODULE_PROGRESS_REPORT:W="testingModuleProgressReport",TESTING_MODULE_RUN_REQUEST:je="testingModuleRunRequest",TESTING_MODULE_RUN_ALL_REQUEST:Ve="testingModuleRunAllRequest",TESTING_MODULE_CANCEL_TEST_RUN_REQUEST:ze="testingModuleCancelTestRunRequest",TESTING_MODULE_CANCEL_TEST_RUN_RESPONSE:Ke="testingModuleCancelTestRunResponse",TESTING_MODULE_WATCH_MODE_REQUEST:He="testingModuleWatchModeRequest"}=fe__namespace,X={autoAcceptChanges:!1,exitOnceUploaded:!1,exitZeroOnChanges:!0,forceRebuild:!0,fromCI:!1,interactive:!1,isLocalBuild:!0,skip:!1,skipUpdateCheck:!0,storybookBuildDir:void 0};var _=t=>T.includes(t),ee=t=>["upload","snapshot"].includes(t),T=["initialize","build","upload","verify","snapshot"],D={initialize:{key:"initialize",emoji:"\u{1F680}",renderName:()=>"Initialize build",renderProgress:()=>"Initializing build...",renderComplete:()=>"Initialized",estimateDuration:2e3},build:{key:"build",emoji:"\u{1F3D7}",renderName:()=>"Build Storybook",renderProgress:()=>"Building your Storybook...",renderComplete:()=>"Storybook built",estimateDuration:2e4},upload:{key:"upload",emoji:"\u{1F4E1}",renderName:()=>"Publish your Storybook",renderProgress:({stepProgress:t})=>{let{numerator:r,denominator:e}=t.upload;if(!e||!r)return "Uploading files...";let{value:o,exponent:n}=filesize.filesize(e,{output:"object",round:1}),{value:s,symbol:i}=filesize.filesize(r,{exponent:n,output:"object",round:1});return `Uploading files... ${s}/${o} ${i}`},renderComplete:()=>"Publish complete",estimateDuration:2e4},verify:{key:"verify",emoji:"\u{1F50D}",renderName:()=>"Verify your Storybook",renderProgress:()=>"Verifying contents...",renderComplete:()=>"Storybook verified",estimateDuration:2e4},snapshot:{key:"snapshot",emoji:"\u{1F4F8}",renderName:()=>"Run visual tests",renderProgress:({stepProgress:t})=>{let{numerator:r,denominator:e}=t.snapshot;return e?`Running visual tests... ${r}/${e}`:"Running visual tests..."},renderComplete:()=>"Tested your stories",estimateDuration:9e4},aborted:{key:"aborted",emoji:"\u270B",renderName:()=>"Build canceled",renderProgress:()=>"Build canceled",renderComplete:()=>"Build canceled",estimateDuration:0},complete:{key:"complete",emoji:"\u{1F389}",renderName:()=>"Visual tests completed!",renderProgress:()=>"Visual tests completed!",renderComplete:()=>"Visual tests completed!",estimateDuration:0},error:{key:"error",emoji:"\u{1F6A8}",renderName:()=>"Build failed",renderProgress:()=>"Build failed",renderComplete:()=>"Build failed",estimateDuration:0},limited:{key:"error",emoji:"\u{1F6A8}",renderName:()=>"Build limited",renderProgress:()=>"Build limited",renderComplete:()=>"Build limited",estimateDuration:0}},Ee={buildProgressPercentage:0,currentStep:T[0],stepProgress:Object.fromEntries(T.map(t=>[t,{}]))},te=JSON.stringify(Ee);var re=2e3,b,he=(t,r)=>{if(!_(t))throw new Error(`Unknown step: ${t}`);let e=T.map(d=>{let{startedAt:p,completedAt:g}=r?.[d]||{};return p&&g?g-p:D[d].estimateDuration}),o=e.reduce((d,p)=>d+p,0),n=T.indexOf(t),s=e.slice(0,n).reduce((d,p)=>d+p,0),i=s+e[n],a=s/o*100,u=i/o*100;return {...D[t],startPercentage:a,endPercentage:u,stepPercentage:u-a}},x=(t,r)=>(e,{progress:o,total:n}={})=>{if(clearTimeout(r),!_(e.task))return;if(!t.value)throw new Error("Unexpected missing value for localBuildProgress");let{buildProgressPercentage:s,stepProgress:i,previousBuildProgress:a}=t.value;if(i[e.task]?.completedAt)return;let{startPercentage:u,endPercentage:d,stepPercentage:p}=he(e.task,a),g=u;if(o&&n&&(g+=p*(o/n)),!ee(e.task)){let{estimateDuration:L}=D[e.task],I=T.indexOf(e.task);g=Math.max(g,s)+re/L*p,r=setTimeout(()=>{if(!t.value)throw new Error("Unexpected missing value for localBuildProgress");let{currentStep:S}=t.value;_(S)&&T.indexOf(S)<=I&&x(t,r)(e);},re);}i[e.task]={startedAt:Date.now(),...i[e.task],...o&&n&&{numerator:o,denominator:n}},t.value={buildId:e.announcedBuild?.id,branch:e.git?.branch,buildProgressPercentage:Math.min(g,d),currentStep:e.task,stepProgress:i};},oe=(t,r)=>(e,o)=>{if(clearTimeout(r),!t.value)throw new Error("Unexpected missing value for localBuildProgress");let{buildProgressPercentage:n,stepProgress:s}=t.value,i={buildId:e.announcedBuild?.id,branch:e.git?.branch,buildProgressPercentage:n,stepProgress:s,previousBuildProgress:s};if(o){t.value={...i,currentStep:b?.signal.aborted?"aborted":"error",formattedError:o.formattedError,originalError:o.originalError};return}e.task&&_(e.task)&&(s[e.task]={...s[e.task],completedAt:Date.now()}),e.task==="verify"&&e.build?.wasLimited&&(t.value={...i,currentStep:"limited",stepProgress:s,errorDetailsUrl:e.build?.app.account?.billingUrl}),e.build&&e.task==="snapshot"&&(t.value={...i,buildProgressPercentage:100,currentStep:"complete",stepProgress:s,changeCount:e.build.changeCount,errorCount:e.build.errorCount});},ne=async(t,r)=>{if(!r.projectId)throw new Error("Missing projectId");if(!r.userToken)throw new Error("Missing userToken");t.value=JSON.parse(te);let e;b?.abort(),b=new AbortController,process.env.SB_TESTBUILD="true",await node.run({flags:{interactive:!1},options:{...r,...X,logPrefix:"\x1B[38;5;202mChromatic\x1B[0m:",experimental_onTaskStart:x(t,e),experimental_onTaskProgress:x(t,e),experimental_onTaskComplete:oe(t,e),experimental_onTaskError:oe(t,e),experimental_abortSignal:b?.signal}});},se=()=>{b?.abort(new Error("Build canceled from Storybook"));};var B=new Map,C=class{constructor(r,e=fetch){this.channel=r,this.abortControllers=new Map,this.channel.on(Q,({requestId:o})=>{this.abortControllers.get(o)?.abort(),this.abortControllers.delete(o);}),this.channel.on(q,async({requestId:o,input:n,init:s})=>{let i=new AbortController;this.abortControllers.set(o,i);try{let a=await e(n,{...s,signal:i.signal}),u=await a.text(),d=Array.from(a.headers),p={body:u,headers:d,status:a.status,statusText:a.statusText};this.channel.emit(k,{requestId:o,response:p});}catch(a){let u=a instanceof Error?a.message:String(a);this.channel.emit(k,{requestId:o,error:u});}finally{this.abortControllers.delete(o);}});}static subscribe(r,e,o=fetch){let n=B.get(r)||new C(e,o);return B.has(r)||B.set(r,n),n}};var ie="experimental_useSharedState_getValue",v="experimental_useSharedState_setValue",U=new Map,f=class{constructor(r){this.channel=r,this.listeners=[],this.state={},this.channel.on(v,(e,o,n)=>{this.state?.[e]?.index>=n||(this.state[e]={index:n,value:o});}),this.channel.on(ie,e=>{let o=this.state[e]?.index??0,n=this.state[e]?.value;this.channel.emit(v,e,n,o);});}get(r){return this.state[r]||this.channel.emit(ie,r),this.state[r]?.value}set(r,e){let o=(this.state[r]?.index??0)+1;this.state[r]={index:o,value:e},this.channel.emit(v,r,e,o);}static subscribe(r,e){let o=U.get(r)||new f(e);return U.has(r)||(U.set(r,o),o.channel.on(v,(n,s)=>{n===r&&o.listeners.forEach(i=>i(s));})),{get value(){return o.get(r)},set value(n){o.set(r,n);},on(n,s){if(n!=="change")throw new Error("unsupported event");o.listeners.push(s);},off(n,s){if(n!=="change")throw new Error("unsupported event");let i=o.listeners.indexOf(s);i>=0&&o.listeners.splice(i,1);}}}};async function ae(t,r){let e=Object.entries(r).sort((o,n)=>o[0].localeCompare(n[0])).reduce((o,[n,s])=>s===null?o:Object.assign(o,{[n]:s}),{});await jsonfile.writeFile(t,e,{spaces:2});}function Se(t=[]){return [...t,N.resolve("./manager.mjs")]}var pe=async()=>{let t=(async()=>{try{let r=N.resolve("@chromatic-com/storybook/package.json"),e=await promises.readFile(r,"utf-8");return JSON.parse(e).version||null}catch{return null}})();return pe=()=>t,t},ce=(t,r,e)=>Object.fromEntries(Object.entries(e).map(([o,n])=>[o,n===r[o]?null:n]).filter(([o,n])=>n!==null||t[o]!==void 0)),ue=async(t,r)=>{let e={storybookBaseDir:".",storybookConfigDir:".storybook"},o={},n={},{repositoryRootDir:s}=await node.getGitInfo(),i=s&&path.normalize(path.relative(s,process.cwd()));i!==path.normalize(t.storybookBaseDir??"")&&(o.storybookBaseDir=i);let a=path.normalize(path.relative(process.cwd(),r.configDir));return a!==path.normalize(t.storybookConfigDir??"")&&(o.storybookConfigDir=a),t.onlyChanged===void 0&&(n.onlyChanged=!0),t.zip===void 0&&(n.zip=!0),{configuration:t,problems:ce(t,e,o),suggestions:ce(t,e,n)}},ye=(t,r,e,o)=>{let n,s,i,a=async()=>{try{let u=await node.getGitInfo();Object.entries(u).some(([d,p])=>n?.[d]!==p)&&r(u,n),n=u,s=void 0,i=setTimeout(a,t);}catch(u){e(u),o&&s?.message!==u.message&&(console.error(`Failed to fetch git info, with error:
|
|
33
|
+
${u}`),n=void 0,s=u),i=setTimeout(a,t);}};return a(),{cancel:()=>clearTimeout(i)}},Pe=async(t,r)=>{let e=await node.getConfiguration(t);await r(e),e.configFile&&fs.watch(e.configFile,async(o,n)=>{n&&await r(await node.getConfiguration(n));});};async function Oe(t,r){let{configFile:e,presets:o}=r;C.subscribe(l,t);let n=o.apply("experimental_serverAPI"),s=o.apply("core"),{projectId:i}=await node.getConfiguration(e),a=f.subscribe(V,t);a.value=i?{projectId:i}:{};let u=i;a.on("change",async({projectId:c}={})=>{if(!c||c===u)return;u=c;let E=e;try{let{configFile:m,...y}=await node.getConfiguration(E),P=m||E||"chromatic.config.json",{problems:h,suggestions:O}=await ue(y,r);await ae(P,{...y,...h,...O,projectId:c}),a.value={...a.value,written:!0,dismissed:!1,configFile:P};}catch(m){console.warn(`Failed to update your main configuration:
|
|
34
34
|
|
|
35
|
-
${m}`),a.value={...a.value,written:!1,dismissed:!1,configFile:E};}});let d=f.subscribe(
|
|
36
|
-
${m}`);}}),t.on(
|
|
35
|
+
${m}`),a.value={...a.value,written:!1,dismissed:!1,configFile:E};}});let d=f.subscribe(H,t),p={initialize:"pending",build:"pending",upload:"pending",verify:"pending",snapshot:"pending",complete:"success",error:"failed",limited:"failed",aborted:"success"};d.on("change",c=>{if(!c)return;let{currentStep:E,stepProgress:m,errorCount:y=0,changeCount:P=0}=c,h=m.snapshot?.denominator,O=y+P,me=m.snapshot?.completedAt?new Date(m.snapshot.completedAt):new Date;t.emit(W,{providerId:M,status:p[E],cancellable:["initialize","build","upload"].includes(E),progress:{numFailedTests:O,numPassedTests:h&&h-O,numPendingTests:h&&h-(m.snapshot.numerator||0),numTotalTests:h,startedAt:m.initialize?.startedAt&&new Date(m.initialize.startedAt),finishedAt:["aborted","complete","error","limited"].includes(E)?me:void 0},details:c});}),t.on(z,async({accessToken:c})=>{let{projectId:E}=a.value||{};try{await ne(d,{configFile:e,projectId:E,userToken:c});}catch(m){console.error(`Failed to run Chromatic build, with error:
|
|
36
|
+
${m}`);}}),t.on(K,se),t.on(J,async c=>{(await s).disableTelemetry||telemetry.telemetry("addon-visual-tests",{...c,addonVersion:await pe()});});let g=f.subscribe(G,t),L=f.subscribe($,t),I=f.subscribe(j,t),S=ye(5e3,c=>{I.value=void 0,L.value=c;},c=>{I.value=c;});return Pe(e,async c=>{u&&(g.value=await ue(c,r));}),setInterval(()=>t.emit(`${l}/heartbeat`),1e3),t.on(Y,()=>{n.then(c=>c.removeAddon(F)).catch(c=>console.error(c)),S.cancel();}),t}var Re={managerEntries:Se,experimental_serverChannel:Oe,env:async(t,{configType:r})=>r==="PRODUCTION"?t:{...t,CHROMATIC_BASE_URL:R}},Ct=Re;
|
|
37
37
|
|
|
38
|
-
module.exports =
|
|
38
|
+
module.exports = Ct;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chromatic-com/storybook",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.2--canary.346.558264a.0",
|
|
4
4
|
"description": "Catch unexpected visual changes & UI bugs in your stories",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"storybook-addons",
|
|
@@ -53,9 +53,8 @@
|
|
|
53
53
|
"jackspeak": "2.1.1"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@storybook/
|
|
57
|
-
"@storybook/telemetry": "^8.3.0",
|
|
58
|
-
"@storybook/types": "^8.3.0",
|
|
56
|
+
"@storybook/core-events": "^8.0.0 || ^8.1.0-0 || ^8.2.0-0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0",
|
|
57
|
+
"@storybook/telemetry": "^8.0.0 || ^8.1.0-0 || ^8.2.0-0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0",
|
|
59
58
|
"chromatic": "^11.15.0",
|
|
60
59
|
"filesize": "^10.0.12",
|
|
61
60
|
"jsonfile": "^6.1.0",
|
|
@@ -68,25 +67,28 @@
|
|
|
68
67
|
"@graphql-codegen/cli": "^5.0.3",
|
|
69
68
|
"@graphql-typed-document-node/core": "^3.2.0",
|
|
70
69
|
"@parcel/watcher": "^2.4.1",
|
|
71
|
-
"@storybook/addon-actions": "
|
|
70
|
+
"@storybook/addon-actions": "^8.4.0-beta.5",
|
|
72
71
|
"@storybook/addon-designs": "^8.0.0",
|
|
73
|
-
"@storybook/addon-essentials": "
|
|
74
|
-
"@storybook/addon-interactions": "
|
|
75
|
-
"@storybook/addon-mdx-gfm": "
|
|
76
|
-
"@storybook/blocks": "
|
|
77
|
-
"@storybook/
|
|
78
|
-
"@storybook/
|
|
79
|
-
"@storybook/
|
|
72
|
+
"@storybook/addon-essentials": "^8.4.0-beta.5",
|
|
73
|
+
"@storybook/addon-interactions": "^8.4.0-beta.5",
|
|
74
|
+
"@storybook/addon-mdx-gfm": "^8.4.0-beta.5",
|
|
75
|
+
"@storybook/blocks": "^8.4.0-beta.5",
|
|
76
|
+
"@storybook/channels": "^8.4.0-beta.5",
|
|
77
|
+
"@storybook/client-logger": "^8.4.0-beta.5",
|
|
78
|
+
"@storybook/components": "^8.4.0-beta.5",
|
|
79
|
+
"@storybook/core-events": "^8.4.0-beta.5",
|
|
80
80
|
"@storybook/eslint-config-storybook": "^3.1.2",
|
|
81
81
|
"@storybook/icons": "^1.2.8",
|
|
82
|
-
"@storybook/manager": "
|
|
83
|
-
"@storybook/manager-api": "
|
|
84
|
-
"@storybook/preview": "
|
|
85
|
-
"@storybook/react": "
|
|
86
|
-
"@storybook/react-vite": "
|
|
87
|
-
"@storybook/
|
|
82
|
+
"@storybook/manager": "^8.4.0-beta.5",
|
|
83
|
+
"@storybook/manager-api": "^8.4.0-beta.5",
|
|
84
|
+
"@storybook/preview": "^8.4.0-beta.5",
|
|
85
|
+
"@storybook/react": "^8.4.0-beta.5",
|
|
86
|
+
"@storybook/react-vite": "^8.4.0-beta.5",
|
|
87
|
+
"@storybook/telemetry": "^8.4.0-beta.5",
|
|
88
|
+
"@storybook/test": "^8.4.0-beta.5",
|
|
88
89
|
"@storybook/testing-library": "^0.2.2",
|
|
89
|
-
"@storybook/theming": "
|
|
90
|
+
"@storybook/theming": "^8.4.0-beta.5",
|
|
91
|
+
"@storybook/types": "^8.4.0-beta.5",
|
|
90
92
|
"@types/jsonfile": "^6.1.1",
|
|
91
93
|
"@types/node": "^18.15.0",
|
|
92
94
|
"@types/pluralize": "^0.0.29",
|
|
@@ -117,7 +119,7 @@
|
|
|
117
119
|
"react-dom": "^18.3.1",
|
|
118
120
|
"react-joyride": "^2.7.2",
|
|
119
121
|
"rimraf": "^3.0.2",
|
|
120
|
-
"storybook": "
|
|
122
|
+
"storybook": "^8.4.0-beta.5",
|
|
121
123
|
"ts-dedent": "^2.2.0",
|
|
122
124
|
"tsup": "^6.6.3",
|
|
123
125
|
"typescript": "^4.9.5",
|
|
@@ -131,8 +133,9 @@
|
|
|
131
133
|
"zx": "^1.14.1"
|
|
132
134
|
},
|
|
133
135
|
"peerDependencies": {
|
|
134
|
-
"storybook": "
|
|
136
|
+
"storybook": "^8.0.0 || ^8.1.0-0 || ^8.2.0-0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0"
|
|
135
137
|
},
|
|
138
|
+
"packageManager": "yarn@4.1.1",
|
|
136
139
|
"engines": {
|
|
137
140
|
"node": ">=16.0.0",
|
|
138
141
|
"yarn": ">=1.22.18"
|
|
@@ -141,7 +144,6 @@
|
|
|
141
144
|
"access": "public",
|
|
142
145
|
"registry": "https://registry.npmjs.org/"
|
|
143
146
|
},
|
|
144
|
-
"packageManager": "yarn@4.1.1",
|
|
145
147
|
"auto": {
|
|
146
148
|
"baseBranch": "main",
|
|
147
149
|
"plugins": [
|