@storybook/telemetry 7.0.0-alpha.41 → 7.0.0-alpha.43
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/index.d.ts +8 -2
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ declare const monorepoConfigs: {
|
|
|
10
10
|
};
|
|
11
11
|
declare type MonorepoType = keyof typeof monorepoConfigs | 'Workspaces' | undefined;
|
|
12
12
|
|
|
13
|
-
declare type EventType = '
|
|
13
|
+
declare type EventType = 'boot' | 'dev' | 'build' | 'upgrade' | 'init' | 'error' | 'error-metadata';
|
|
14
14
|
interface Dependency {
|
|
15
15
|
version: string | undefined;
|
|
16
16
|
}
|
|
@@ -57,6 +57,12 @@ interface Options {
|
|
|
57
57
|
immediate: boolean;
|
|
58
58
|
configDir?: string;
|
|
59
59
|
enableCrashReports?: boolean;
|
|
60
|
+
stripMetadata?: boolean;
|
|
61
|
+
}
|
|
62
|
+
interface TelemetryData {
|
|
63
|
+
eventType: EventType;
|
|
64
|
+
payload: Payload;
|
|
65
|
+
metadata?: StorybookMetadata;
|
|
60
66
|
}
|
|
61
67
|
|
|
62
68
|
declare const metaFrameworks: Record<string, string>;
|
|
@@ -69,4 +75,4 @@ declare const getStorybookMetadata: (_configDir?: string | undefined) => Promise
|
|
|
69
75
|
|
|
70
76
|
declare const telemetry: (eventType: EventType, payload?: Payload, options?: Partial<Options>) => Promise<void>;
|
|
71
77
|
|
|
72
|
-
export { computeStorybookMetadata, getStorybookMetadata, metaFrameworks, sanitizeAddonName, telemetry };
|
|
78
|
+
export { Dependency, EventType, Options, Payload, StorybookAddon, StorybookMetadata, TelemetryData, computeStorybookMetadata, getStorybookMetadata, metaFrameworks, sanitizeAddonName, telemetry };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
[telemetry]`),
|
|
1
|
+
"use strict";var se=Object.create;var d=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var ye=Object.getPrototypeOf,pe=Object.prototype.hasOwnProperty;var me=(e,t)=>{for(var r in t)d(e,r,{get:t[r],enumerable:!0})},C=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of ce(t))!pe.call(e,a)&&a!==r&&d(e,a,{get:()=>t[a],enumerable:!(n=ie(t,a))||n.enumerable});return e};var p=(e,t,r)=>(r=e!=null?se(ye(e)):{},C(t||!e||!e.__esModule?d(r,"default",{value:e,enumerable:!0}):r,e)),le=e=>C(d({},"__esModule",{value:!0}),e);var be={};me(be,{computeStorybookMetadata:()=>U,getStorybookMetadata:()=>E,metaFrameworks:()=>T,sanitizeAddonName:()=>D,telemetry:()=>ke});module.exports=le(be);var I=require("@storybook/client-logger");var z=p(require("read-pkg-up")),h=require("detect-package-manager"),m=require("@storybook/core-common");var F=p(require("path")),x=async e=>{let t=Object.keys(e);return Promise.all(t.map(S))},S=async e=>{try{let t=require(F.default.join(e,"package.json"));return{name:e,version:t.version}}catch{return{name:e,version:null}}};var u=p(require("fs-extra")),g=p(require("path")),W=require("@storybook/core-common"),L={Nx:"nx.json",Turborepo:"turbo.json",Lerna:"lerna.json",Rush:"rush.json",Lage:"lage.config.json"},Y=()=>{let e=(0,W.getProjectRoot)();if(!e)return;let r=Object.keys(L).find(a=>{let s=g.default.join(e,L[a]);return u.default.existsSync(s)});if(r)return r;if(!u.default.existsSync(g.default.join(e,"package.json")))return;let n=u.default.readJsonSync(g.default.join(e,"package.json"));if(n!=null&&n.workspaces)return"Workspaces"};var v=require("path");function _(e){return e.replace(/[-[/{}()*+?.\\^$|]/g,"\\$&")}function O(e,t=v.sep){if(!e)return e;let r=process.cwd().split(t);for(;r.length>1;){let n=r.join(t),a=new RegExp(_(n),"g");e=e.replace(a,"$SNIP");let s=r.join(t+t),c=new RegExp(_(s),"g");e=e.replace(c,"$SNIP"),r.pop()}return e}function k(e,t=v.sep){e=JSON.parse(JSON.stringify(e,Object.getOwnPropertyNames(e)));let r=O(JSON.stringify(e),t);return JSON.parse(r)}var T={next:"Next","react-scripts":"CRA",gatsby:"Gatsby","@nuxtjs/storybook":"nuxt","@nrwl/storybook":"nx","@vue/cli-service":"vue-cli","@sveltejs/kit":"svelte-kit"},fe=e=>{let t=["angular","ember","html","preact","react","server","svelte","vue","vue3","webComponents"].map(r=>`${r}Options`);for(let r of t)if(r in e)return e[r]},D=e=>O(e).replace(/\/dist\/.*/,"").replace(/\.[mc]?[tj]?s[x]?$/,"").replace(/\/register$/,"").replace(/\/manager$/,"").replace(/\/preset$/,""),U=async({packageJson:e,mainConfig:t})=>{var $,V;let r={generatedAt:new Date().getTime(),builder:{name:"webpack5"},hasCustomBabel:!1,hasCustomWebpack:!1,hasStaticDirs:!1,hasStorybookEslint:!1,refCount:0},n={...e==null?void 0:e.dependencies,...e==null?void 0:e.devDependencies,...e==null?void 0:e.peerDependencies},a=Object.keys(n).find(o=>!!T[o]);if(a){let{version:o}=await S(a);r.metaFramework={name:T[a],packageName:a,version:o}}let s=Y();s&&(r.monorepo=s);try{let o=await(0,h.detect)({cwd:(0,m.getProjectRoot)()}),i=await(0,h.getNpmVersion)(o);r.packageManager={type:o,version:i}}catch{}if(r.hasCustomBabel=!!t.babel,r.hasCustomWebpack=!!t.webpackFinal,r.hasStaticDirs=!!t.staticDirs,t.typescript&&(r.typescriptOptions=t.typescript),($=t.core)!=null&&$.builder){let{builder:o}=t.core;r.builder={name:typeof o=="string"?o:o.name,options:typeof o=="string"?void 0:(o==null?void 0:o.options)??void 0}}t.refs&&(r.refCount=Object.keys(t.refs).length),t.features&&(r.features=t.features);let c={};t.addons&&t.addons.forEach(o=>{let i,B;typeof o=="string"?i=D(o):(B=o.options,i=D(o.name)),c[i]={options:B,version:void 0}}),(await x(c)).forEach(({name:o,version:i})=>{c[o].version=i});let l=Object.keys(c),y=Object.keys(n).filter(o=>o.includes("storybook")&&!l.includes(o)).reduce((o,i)=>({...o,[i]:{version:void 0}}),{});(await x(y)).forEach(({name:o,version:i})=>{y[o].version=i});let oe=n.typescript?"typescript":"javascript",ne=!!n["eslint-plugin-storybook"],j=(0,m.getStorybookInfo)(e),ae=((V=y[j.frameworkPackage])==null?void 0:V.version)||j.version;return{...r,storybookVersion:ae,language:oe,storybookPackages:y,framework:{name:j.framework,options:fe(t)},addons:c,hasStorybookEslint:ne}},b,E=async e=>{var a;if(b)return b;let{packageJson:t={}}=z.default.sync({cwd:process.cwd(),normalize:!1})||{},r=(e||(0,m.getStorybookConfiguration)(((a=t==null?void 0:t.scripts)==null?void 0:a.storybook)||"","-c","--config-dir"))??".storybook",n=(0,m.loadMainConfig)({configDir:r});return b=await U({mainConfig:n,packageJson:t}),b};var Z=p(require("isomorphic-unfetch")),J=p(require("fetch-retry")),R=require("nanoid");var G=p(require("path")),K=require("child_process"),Q=require("@storybook/core-common");var H=require("crypto"),q=e=>{let t=(0,H.createHash)("sha256");return t.update("storybook-telemetry-salt"),t.update(e),t.digest("hex")};var P,X=()=>{if(P)return P;let e;try{let t=(0,Q.getProjectRoot)(),r=G.default.relative(t,process.cwd()),n=(0,K.execSync)("git config --local --get remote.origin.url",{timeout:1e3,stdio:"pipe"});e=`${String(n).trim()}${r}`,P=q(e)}catch{}return P};var de="https://storybook.js.org/event-log",ue=(0,J.default)(Z.default),w=[],ge=(0,R.nanoid)();async function ee(e,t={retryDelay:1e3,immediate:!1}){let{payload:r,metadata:n,...a}=e,s=t.stripMetadata?{}:{anonymousId:X(),inCI:process.env.CI==="true"},c=(0,R.nanoid)(),A={...a,eventId:c,sessionId:ge,metadata:n,payload:r,context:s},l;try{l=ue(de,{method:"POST",body:JSON.stringify(A),headers:{"Content-Type":"application/json"},retries:3,retryOn:[503,504],retryDelay:y=>2**y*(typeof(t==null?void 0:t.retryDelay)=="number"&&!Number.isNaN(t==null?void 0:t.retryDelay)?t.retryDelay:1e3)}),w.push(l),t.immediate?await Promise.all(w):await l}catch{}finally{w=w.filter(y=>y!==l)}}var M=p(require("chalk")),N=require("@storybook/core-common"),te="telemetry-notification-date",f=console,re=async()=>{await N.cache.get(te,null)||(N.cache.set(te,Date.now()),f.log(),f.log(`${M.default.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(M.default.cyan("https://storybook.js.org/telemetry")),f.log())};var ke=async(e,t={},r={})=>{var a;await re();let n={eventType:e,payload:t};try{r!=null&&r.stripMetadata||(n.metadata=await E(r==null?void 0:r.configDir))}catch(s){n.payload.metadataErrorMessage=k(s).message,r!=null&&r.enableCrashReports&&(n.payload.metadataError=k(s))}finally{let{error:s}=n.payload;s&&(n.payload.error=k(s)),(!n.payload.error||(r==null?void 0:r.enableCrashReports))&&((a=process.env)!=null&&a.STORYBOOK_TELEMETRY_DEBUG&&(I.logger.info(`
|
|
2
|
+
[telemetry]`),I.logger.info(JSON.stringify(n,null,2))),await ee(n,r))}};0&&(module.exports={computeStorybookMetadata,getStorybookMetadata,metaFrameworks,sanitizeAddonName,telemetry});
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
2
|
-
[telemetry]`),
|
|
1
|
+
var v=(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 L}from"@storybook/client-logger";import q from"read-pkg-up";import{detect as G,getNpmVersion as K}from"detect-package-manager";import{loadMainConfig as Q,getStorybookInfo as X,getStorybookConfiguration as Z,getProjectRoot as ee}from"@storybook/core-common";import U from"path";var b=async e=>{let t=Object.keys(e);return Promise.all(t.map(h))},h=async e=>{try{let t=v(U.join(e,"package.json"));return{name:e,version:t.version}}catch{return{name:e,version:null}}};import P from"fs-extra";import w from"path";import{getProjectRoot as H}from"@storybook/core-common";var O={Nx:"nx.json",Turborepo:"turbo.json",Lerna:"lerna.json",Rush:"rush.json",Lage:"lage.config.json"},T=()=>{let e=H();if(!e)return;let o=Object.keys(O).find(a=>{let y=w.join(e,O[a]);return P.existsSync(y)});if(o)return o;if(!P.existsSync(w.join(e,"package.json")))return;if(P.readJsonSync(w.join(e,"package.json"))?.workspaces)return"Workspaces"};import{sep as E}from"path";function D(e){return e.replace(/[-[/{}()*+?.\\^$|]/g,"\\$&")}function j(e,t=E){if(!e)return e;let o=process.cwd().split(t);for(;o.length>1;){let n=o.join(t),a=new RegExp(D(n),"g");e=e.replace(a,"$SNIP");let y=o.join(t+t),c=new RegExp(D(y),"g");e=e.replace(c,"$SNIP"),o.pop()}return e}function f(e,t=E){e=JSON.parse(JSON.stringify(e,Object.getOwnPropertyNames(e)));let o=j(JSON.stringify(e),t);return JSON.parse(o)}var R={next:"Next","react-scripts":"CRA",gatsby:"Gatsby","@nuxtjs/storybook":"nuxt","@nrwl/storybook":"nx","@vue/cli-service":"vue-cli","@sveltejs/kit":"svelte-kit"},te=e=>{let t=["angular","ember","html","preact","react","server","svelte","vue","vue3","webComponents"].map(o=>`${o}Options`);for(let o of t)if(o in e)return e[o]},M=e=>j(e).replace(/\/dist\/.*/,"").replace(/\.[mc]?[tj]?s[x]?$/,"").replace(/\/register$/,"").replace(/\/manager$/,"").replace(/\/preset$/,""),oe=async({packageJson:e,mainConfig:t})=>{let o={generatedAt:new Date().getTime(),builder:{name:"webpack5"},hasCustomBabel:!1,hasCustomWebpack:!1,hasStaticDirs:!1,hasStorybookEslint:!1,refCount:0},n={...e?.dependencies,...e?.devDependencies,...e?.peerDependencies},a=Object.keys(n).find(r=>!!R[r]);if(a){let{version:r}=await h(a);o.metaFramework={name:R[a],packageName:a,version:r}}let y=T();y&&(o.monorepo=y);try{let r=await G({cwd:ee()}),s=await K(r);o.packageManager={type:r,version:s}}catch{}if(o.hasCustomBabel=!!t.babel,o.hasCustomWebpack=!!t.webpackFinal,o.hasStaticDirs=!!t.staticDirs,t.typescript&&(o.typescriptOptions=t.typescript),t.core?.builder){let{builder:r}=t.core;o.builder={name:typeof r=="string"?r:r.name,options:typeof r=="string"?void 0:r?.options??void 0}}t.refs&&(o.refCount=Object.keys(t.refs).length),t.features&&(o.features=t.features);let c={};t.addons&&t.addons.forEach(r=>{let s,S;typeof r=="string"?s=M(r):(S=r.options,s=M(r.name)),c[s]={options:S,version:void 0}}),(await b(c)).forEach(({name:r,version:s})=>{c[r].version=s});let m=Object.keys(c),p=Object.keys(n).filter(r=>r.includes("storybook")&&!m.includes(r)).reduce((r,s)=>({...r,[s]:{version:void 0}}),{});(await b(p)).forEach(({name:r,version:s})=>{p[r].version=s});let W=n.typescript?"typescript":"javascript",Y=!!n["eslint-plugin-storybook"],k=X(e),_=p[k.frameworkPackage]?.version||k.version;return{...o,storybookVersion:_,language:W,storybookPackages:p,framework:{name:k.framework,options:te(t)},addons:c,hasStorybookEslint:Y}},d,N=async e=>{if(d)return d;let{packageJson:t={}}=q.sync({cwd:process.cwd(),normalize:!1})||{},o=(e||Z(t?.scripts?.storybook||"","-c","--config-dir"))??".storybook",n=Q({configDir:o});return d=await oe({mainConfig:n,packageJson:t}),d};import ie from"isomorphic-unfetch";import ce from"fetch-retry";import{nanoid as J}from"nanoid";import ne from"path";import{execSync as ae}from"child_process";import{getProjectRoot as se}from"@storybook/core-common";import{createHash as re}from"crypto";var I=e=>{let t=re("sha256");return t.update("storybook-telemetry-salt"),t.update(e),t.digest("hex")};var g,A=()=>{if(g)return g;let e;try{let t=se(),o=ne.relative(t,process.cwd()),n=ae("git config --local --get remote.origin.url",{timeout:1e3,stdio:"pipe"});e=`${String(n).trim()}${o}`,g=I(e)}catch{}return g};var pe="https://storybook.js.org/event-log",ye=ce(ie),u=[],me=J();async function $(e,t={retryDelay:1e3,immediate:!1}){let{payload:o,metadata:n,...a}=e,y=t.stripMetadata?{}:{anonymousId:A(),inCI:i.CI==="true"},c=J(),x={...a,eventId:c,sessionId:me,metadata:n,payload:o,context:y},m;try{m=ye(pe,{method:"POST",body:JSON.stringify(x),headers:{"Content-Type":"application/json"},retries:3,retryOn:[503,504],retryDelay:p=>2**p*(typeof t?.retryDelay=="number"&&!Number.isNaN(t?.retryDelay)?t.retryDelay:1e3)}),u.push(m),t.immediate?await Promise.all(u):await m}catch{}finally{u=u.filter(p=>p!==m)}}import V from"chalk";import{cache as B}from"@storybook/core-common";var C="telemetry-notification-date",l=console,F=async()=>{await B.get(C,null)||(B.set(C,Date.now()),l.log(),l.log(`${V.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(V.cyan("https://storybook.js.org/telemetry")),l.log())};var Qe=async(e,t={},o={})=>{await F();let n={eventType:e,payload:t};try{o?.stripMetadata||(n.metadata=await N(o?.configDir))}catch(a){n.payload.metadataErrorMessage=f(a).message,o?.enableCrashReports&&(n.payload.metadataError=f(a))}finally{let{error:a}=n.payload;a&&(n.payload.error=f(a)),(!n.payload.error||o?.enableCrashReports)&&(i?.STORYBOOK_TELEMETRY_DEBUG&&(L.info(`
|
|
2
|
+
[telemetry]`),L.info(JSON.stringify(n,null,2))),await $(n,o))}};export{oe as computeStorybookMetadata,N as getStorybookMetadata,R as metaFrameworks,M as sanitizeAddonName,Qe as telemetry};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/telemetry",
|
|
3
|
-
"version": "7.0.0-alpha.
|
|
3
|
+
"version": "7.0.0-alpha.43",
|
|
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.
|
|
46
|
-
"@storybook/core-common": "7.0.0-alpha.
|
|
45
|
+
"@storybook/client-logger": "7.0.0-alpha.43",
|
|
46
|
+
"@storybook/core-common": "7.0.0-alpha.43",
|
|
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": "
|
|
67
|
+
"gitHead": "f801c26f7bdcbfeeeca6706c0854d130bfb2f38b"
|
|
68
68
|
}
|