@storybook/telemetry 7.0.0-alpha.48 → 7.0.0-alpha.49

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.
Files changed (2) hide show
  1. package/dist/index.mjs +2 -2
  2. package/package.json +4 -4
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var T=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,o)=>(typeof require!="undefined"?require:t)[o]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var i={};import{logger as z}from"@storybook/client-logger";import ee from"read-pkg-up";import{detect as te,getNpmVersion as oe}from"detect-package-manager";import{loadMainConfig as re,getStorybookInfo as ne,getStorybookConfiguration as ae,getProjectRoot as se}from"@storybook/core-common";import K from"path";var h=async e=>{let t=Object.keys(e);return Promise.all(t.map(w))},w=async e=>{try{let t=await P(e);return{name:e,version:t.version}}catch{return{name:e,version:null}}},P=async e=>T(K.join(e,"package.json"));import x from"fs-extra";import S from"path";import{getProjectRoot as Q}from"@storybook/core-common";var E={Nx:"nx.json",Turborepo:"turbo.json",Lerna:"lerna.json",Rush:"rush.json",Lage:"lage.config.json"},O=()=>{let e=Q();if(!e)return;let o=Object.keys(E).find(a=>{let s=S.join(e,E[a]);return x.existsSync(s)});if(o)return o;if(!x.existsSync(S.join(e,"package.json")))return;if(x.readJsonSync(S.join(e,"package.json"))?.workspaces)return"Workspaces"};import{sep as M}from"path";function R(e){return e.replace(/[-[/{}()*+?.\\^$|]/g,"\\$&")}function j(e,t=M){if(!e)return e;let o=process.cwd().split(t);for(;o.length>1;){let r=o.join(t),a=new RegExp(R(r),"g");e=e.replace(a,"$SNIP");let s=o.join(t+t),m=new RegExp(R(s),"g");e=e.replace(m,"$SNIP"),o.pop()}return e}function d(e,t=M){e=JSON.parse(JSON.stringify(e,Object.getOwnPropertyNames(e)));let o=j(JSON.stringify(e),t);return JSON.parse(o)}var X=["html","react","svelte","vue3","preact","server","vue","web-components","angular","ember"],Z=["builder-webpack5","builder-vite"];function N(e,t){let{name:o="",version:r,dependencies:a,devDependencies:s,peerDependencies:m}=e,p={[o]:r,...a,...s,...m};return t.map(y=>`@storybook/${y}`).find(y=>p[y])}async function J(e){let{framework:t}=e;if(!t)return{};let o=typeof t=="string"?{name:t}:t,r=await P(o.name),a=N(r,Z),s=N(r,X);return{framework:o,builder:a,renderer:s}}var I={next:"Next","react-scripts":"CRA",gatsby:"Gatsby","@nuxtjs/storybook":"nuxt","@nrwl/storybook":"nx","@vue/cli-service":"vue-cli","@sveltejs/kit":"svelte-kit"},A=e=>j(e).replace(/\/dist\/.*/,"").replace(/\.[mc]?[tj]?s[x]?$/,"").replace(/\/register$/,"").replace(/\/manager$/,"").replace(/\/preset$/,""),ie=async({packageJson:e,mainConfig:t})=>{let o={generatedAt:new Date().getTime(),hasCustomBabel:!1,hasCustomWebpack:!1,hasStaticDirs:!1,hasStorybookEslint:!1,refCount:0},r={...e?.dependencies,...e?.devDependencies,...e?.peerDependencies},a=Object.keys(r).find(n=>!!I[n]);if(a){let{version:n}=await w(a);o.metaFramework={name:I[a],packageName:a,version:n}}let s=O();s&&(o.monorepo=s);try{let n=await te({cwd:se()}),c=await oe(n);o.packageManager={type:n,version:c}}catch{}o.hasCustomBabel=!!t.babel,o.hasCustomWebpack=!!t.webpackFinal,o.hasStaticDirs=!!t.staticDirs,t.typescript&&(o.typescriptOptions=t.typescript);let m=await J(t);t.refs&&(o.refCount=Object.keys(t.refs).length),t.features&&(o.features=t.features);let p={};t.addons&&t.addons.forEach(n=>{let c,D;typeof n=="string"?c=A(n):(D=n.options,c=A(n.name)),p[c]={options:D,version:void 0}}),(await h(p)).forEach(({name:n,version:c})=>{p[n].version=c});let f=Object.keys(p),g=Object.keys(r).filter(n=>n.includes("storybook")&&!f.includes(n)).reduce((n,c)=>({...n,[c]:{version:void 0}}),{});(await h(g)).forEach(({name:n,version:c})=>{g[n].version=c});let U=r.typescript?"typescript":"javascript",H=!!r["eslint-plugin-storybook"],v=ne(e),q=g[v.frameworkPackage]?.version||v.version;return{...o,...m,storybookVersion:q,language:U,storybookPackages:g,addons:p,hasStorybookEslint:H}},u,C=async e=>{if(u)return u;let{packageJson:t={}}=ee.sync({cwd:process.cwd(),normalize:!1})||{},o=(e||ae(t?.scripts?.storybook||"","-c","--config-dir"))??".storybook",r=re({configDir:o});return u=await ie({mainConfig:r,packageJson:t}),u};import fe from"isomorphic-unfetch";import le from"fetch-retry";import{nanoid as V}from"nanoid";import pe from"path";import{execSync as ye}from"child_process";import{getProjectRoot as me}from"@storybook/core-common";import{createHash as ce}from"crypto";var $=e=>{let t=ce("sha256");return t.update("storybook-telemetry-salt"),t.update(e),t.digest("hex")};var k,B=()=>{if(k)return k;let e;try{let t=me(),o=pe.relative(t,process.cwd()),r=ye("git config --local --get remote.origin.url",{timeout:1e3,stdio:"pipe"});e=`${String(r).trim()}${o}`,k=$(e)}catch{}return k};var ge="https://storybook.js.org/event-log",de=le(fe),b=[],ue=V();async function F(e,t={retryDelay:1e3,immediate:!1}){let{payload:o,metadata:r,...a}=e,s=t.stripMetadata?{}:{anonymousId:B(),inCI:Boolean(i.CI)},m=V(),p={...a,eventId:m,sessionId:ue,metadata:r,payload:o,context:s},y;try{y=de(ge,{method:"POST",body:JSON.stringify(p),headers:{"Content-Type":"application/json"},retries:3,retryOn:[503,504],retryDelay:f=>2**f*(typeof t?.retryDelay=="number"&&!Number.isNaN(t?.retryDelay)?t.retryDelay:1e3)}),b.push(y),t.immediate?await Promise.all(b):await y}catch{}finally{b=b.filter(f=>f!==y)}}import L from"chalk";import{cache as W}from"@storybook/core-common";var Y="telemetry-notification-date",l=console,_=async()=>{await W.get(Y,null)||(W.set(Y,Date.now()),l.log(),l.log(`${L.magenta.bold("attention")} => Storybook now collects completely anonymous telemetry regarding usage.`),l.log("This information is used to shape Storybook's roadmap and prioritize features."),l.log("You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:"),l.log(L.cyan("https://storybook.js.org/telemetry")),l.log())};var nt=async(e,t={},o={})=>{e!=="boot"&&await _();let r={eventType:e,payload:t};try{o?.stripMetadata||(r.metadata=await C(o?.configDir))}catch(a){r.payload.metadataErrorMessage=d(a).message,o?.enableCrashReports&&(r.payload.metadataError=d(a))}finally{let{error:a}=r.payload;a&&(r.payload.error=d(a)),(!r.payload.error||o?.enableCrashReports)&&(i?.STORYBOOK_TELEMETRY_DEBUG&&(z.info(`
2
- [telemetry]`),z.info(JSON.stringify(r,null,2))),await F(r,o))}};export{ie as computeStorybookMetadata,C as getStorybookMetadata,I as metaFrameworks,A as sanitizeAddonName,nt as telemetry};
1
+ var D=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,o)=>(typeof require!="undefined"?require:t)[o]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});import{logger as _}from"@storybook/client-logger";import X from"read-pkg-up";import{detect as Z,getNpmVersion as ee}from"detect-package-manager";import{loadMainConfig as te,getStorybookInfo as oe,getStorybookConfiguration as re,getProjectRoot as ne}from"@storybook/core-common";import q from"path";var b=async e=>{let t=Object.keys(e);return Promise.all(t.map(h))},h=async e=>{try{let t=await w(e);return{name:e,version:t.version}}catch{return{name:e,version:null}}},w=async e=>D(q.join(e,"package.json"));import P from"fs-extra";import x from"path";import{getProjectRoot as G}from"@storybook/core-common";var T={Nx:"nx.json",Turborepo:"turbo.json",Lerna:"lerna.json",Rush:"rush.json",Lage:"lage.config.json"},E=()=>{let e=G();if(!e)return;let o=Object.keys(T).find(a=>{let s=x.join(e,T[a]);return P.existsSync(s)});if(o)return o;if(!P.existsSync(x.join(e,"package.json")))return;if(P.readJsonSync(x.join(e,"package.json"))?.workspaces)return"Workspaces"};import{sep as R}from"path";function O(e){return e.replace(/[-[/{}()*+?.\\^$|]/g,"\\$&")}function S(e,t=R){if(!e)return e;let o=process.cwd().split(t);for(;o.length>1;){let r=o.join(t),a=new RegExp(O(r),"g");e=e.replace(a,"$SNIP");let s=o.join(t+t),y=new RegExp(O(s),"g");e=e.replace(y,"$SNIP"),o.pop()}return e}function g(e,t=R){e=JSON.parse(JSON.stringify(e,Object.getOwnPropertyNames(e)));let o=S(JSON.stringify(e),t);return JSON.parse(o)}var K=["html","react","svelte","vue3","preact","server","vue","web-components","angular","ember"],Q=["builder-webpack5","builder-vite"];function M(e,t){let{name:o="",version:r,dependencies:a,devDependencies:s,peerDependencies:y}=e,c={[o]:r,...a,...s,...y};return t.map(p=>`@storybook/${p}`).find(p=>c[p])}async function N(e){let{framework:t}=e;if(!t)return{};let o=typeof t=="string"?{name:t}:t,r=await w(o.name),a=M(r,Q),s=M(r,K);return{framework:o,builder:a,renderer:s}}var J={next:"Next","react-scripts":"CRA",gatsby:"Gatsby","@nuxtjs/storybook":"nuxt","@nrwl/storybook":"nx","@vue/cli-service":"vue-cli","@sveltejs/kit":"svelte-kit"},I=e=>S(e).replace(/\/dist\/.*/,"").replace(/\.[mc]?[tj]?s[x]?$/,"").replace(/\/register$/,"").replace(/\/manager$/,"").replace(/\/preset$/,""),ae=async({packageJson:e,mainConfig:t})=>{let o={generatedAt:new Date().getTime(),hasCustomBabel:!1,hasCustomWebpack:!1,hasStaticDirs:!1,hasStorybookEslint:!1,refCount:0},r={...e?.dependencies,...e?.devDependencies,...e?.peerDependencies},a=Object.keys(r).find(n=>!!J[n]);if(a){let{version:n}=await h(a);o.metaFramework={name:J[a],packageName:a,version:n}}let s=E();s&&(o.monorepo=s);try{let n=await Z({cwd:ne()}),i=await ee(n);o.packageManager={type:n,version:i}}catch{}o.hasCustomBabel=!!t.babel,o.hasCustomWebpack=!!t.webpackFinal,o.hasStaticDirs=!!t.staticDirs,t.typescript&&(o.typescriptOptions=t.typescript);let y=await N(t);t.refs&&(o.refCount=Object.keys(t.refs).length),t.features&&(o.features=t.features);let c={};t.addons&&t.addons.forEach(n=>{let i,v;typeof n=="string"?i=I(n):(v=n.options,i=I(n.name)),c[i]={options:v,version:void 0}}),(await b(c)).forEach(({name:n,version:i})=>{c[n].version=i});let m=Object.keys(c),l=Object.keys(r).filter(n=>n.includes("storybook")&&!m.includes(n)).reduce((n,i)=>({...n,[i]:{version:void 0}}),{});(await b(l)).forEach(({name:n,version:i})=>{l[n].version=i});let z=r.typescript?"typescript":"javascript",U=!!r["eslint-plugin-storybook"],j=oe(e),H=l[j.frameworkPackage]?.version||j.version;return{...o,...y,storybookVersion:H,language:z,storybookPackages:l,addons:c,hasStorybookEslint:U}},d,A=async e=>{if(d)return d;let{packageJson:t={}}=X.sync({cwd:process.cwd(),normalize:!1})||{},o=(e||re(t?.scripts?.storybook||"","-c","--config-dir"))??".storybook",r=te({configDir:o});return d=await ae({mainConfig:r,packageJson:t}),d};import ye from"isomorphic-unfetch";import me from"fetch-retry";import{nanoid as B}from"nanoid";import ie from"path";import{execSync as ce}from"child_process";import{getProjectRoot as pe}from"@storybook/core-common";import{createHash as se}from"crypto";var C=e=>{let t=se("sha256");return t.update("storybook-telemetry-salt"),t.update(e),t.digest("hex")};var u,$=()=>{if(u)return u;let e;try{let t=pe(),o=ie.relative(t,process.cwd()),r=ce("git config --local --get remote.origin.url",{timeout:1e3,stdio:"pipe"});e=`${String(r).trim()}${o}`,u=C(e)}catch{}return u};var fe="https://storybook.js.org/event-log",le=me(ye),k=[],ge=B();async function V(e,t={retryDelay:1e3,immediate:!1}){let{payload:o,metadata:r,...a}=e,s=t.stripMetadata?{}:{anonymousId:$(),inCI:Boolean(process.env.CI)},y=B(),c={...a,eventId:y,sessionId:ge,metadata:r,payload:o,context:s},p;try{p=le(fe,{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"},retries:3,retryOn:[503,504],retryDelay:m=>2**m*(typeof t?.retryDelay=="number"&&!Number.isNaN(t?.retryDelay)?t.retryDelay:1e3)}),k.push(p),t.immediate?await Promise.all(k):await p}catch{}finally{k=k.filter(m=>m!==p)}}import F from"chalk";import{cache as L}from"@storybook/core-common";var W="telemetry-notification-date",f=console,Y=async()=>{await L.get(W,null)||(L.set(W,Date.now()),f.log(),f.log(`${F.magenta.bold("attention")} => Storybook now collects completely anonymous telemetry regarding usage.`),f.log("This information is used to shape Storybook's roadmap and prioritize features."),f.log("You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:"),f.log(F.cyan("https://storybook.js.org/telemetry")),f.log())};var tt=async(e,t={},o={})=>{e!=="boot"&&await Y();let r={eventType:e,payload:t};try{o?.stripMetadata||(r.metadata=await A(o?.configDir))}catch(a){r.payload.metadataErrorMessage=g(a).message,o?.enableCrashReports&&(r.payload.metadataError=g(a))}finally{let{error:a}=r.payload;a&&(r.payload.error=g(a)),(!r.payload.error||o?.enableCrashReports)&&(process.env?.STORYBOOK_TELEMETRY_DEBUG&&(_.info(`
2
+ [telemetry]`),_.info(JSON.stringify(r,null,2))),await V(r,o))}};export{ae as computeStorybookMetadata,A as getStorybookMetadata,J as metaFrameworks,I as sanitizeAddonName,tt as telemetry};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/telemetry",
3
- "version": "7.0.0-alpha.48",
3
+ "version": "7.0.0-alpha.49",
4
4
  "description": "Telemetry logging for crash reports and usage statistics",
5
5
  "keywords": [
6
6
  "storybook"
@@ -42,8 +42,8 @@
42
42
  "prep": "../../../scripts/prepare/bundle.ts"
43
43
  },
44
44
  "dependencies": {
45
- "@storybook/client-logger": "7.0.0-alpha.48",
46
- "@storybook/core-common": "7.0.0-alpha.48",
45
+ "@storybook/client-logger": "7.0.0-alpha.49",
46
+ "@storybook/core-common": "7.0.0-alpha.49",
47
47
  "chalk": "^4.1.0",
48
48
  "detect-package-manager": "^2.0.1",
49
49
  "fetch-retry": "^5.0.2",
@@ -64,5 +64,5 @@
64
64
  ],
65
65
  "platform": "node"
66
66
  },
67
- "gitHead": "b58a29b785462f8a8b711b6bb2d7223fd6dc17fd"
67
+ "gitHead": "d7eb433300cac55d3c7256c8181eb6fd7a47b4c8"
68
68
  }