Socket
Socket
Sign inDemoInstall

@storybook/telemetry

Package Overview
Dependencies
Maintainers
29
Versions
843
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@storybook/telemetry - npm Package Compare versions

Comparing version 7.0.0-alpha.54 to 7.0.0-alpha.55

81

dist/index.d.ts

@@ -726,2 +726,40 @@ import { FileSystemCache } from 'file-system-cache';

interface StoriesSpecifier {
/**
* When auto-titling, what to prefix all generated titles with (default: '')
*/
titlePrefix?: string;
/**
* Where to start looking for story files
*/
directory: string;
/**
* What does the filename of a story file look like?
* (a glob, relative to directory, no leading `./`)
* If unset, we use `** / *.@(mdx|stories.@(mdx|tsx|ts|jsx|js))` (no spaces)
*/
files?: string;
}
type StoriesEntry = string | StoriesSpecifier;
interface IndexerOptions {
makeTitle: (userTitle?: string) => string;
}
interface IndexedStory {
id: string;
name: string;
tags?: Tag[];
parameters?: Parameters;
}
interface IndexedCSFFile {
meta: {
title?: string;
tags?: Tag[];
};
stories: IndexedStory[];
}
interface StoryIndexer {
test: RegExp;
indexer: (fileName: string, options: IndexerOptions) => Promise<IndexedCSFFile>;
}
interface Options$1 {

@@ -784,3 +822,3 @@ allowRegExp: boolean;

apply(extension: 'entries', config?: [], args?: any): Promise<unknown>;
apply(extension: 'stories', config?: [], args?: any): Promise<CoreCommon_StoriesEntry[]>;
apply(extension: 'stories', config?: [], args?: any): Promise<StoriesEntry[]>;
apply(extension: 'managerEntries', config: [], args?: any): Promise<string[]>;

@@ -866,22 +904,2 @@ apply(extension: 'refs', config?: [], args?: any): Promise<unknown>;

type Options$2 = LoadOptions & StorybookConfigOptions & CLIOptions & BuilderOptions;
interface CoreCommon_IndexerOptions {
makeTitle: (userTitle?: string) => string;
}
interface CoreCommon_IndexedStory {
id: string;
name: string;
tags?: Tag[];
parameters?: Parameters;
}
interface CoreCommon_StoryIndex {
meta: {
title?: string;
tags?: Tag[];
};
stories: CoreCommon_IndexedStory[];
}
interface CoreCommon_StoryIndexer {
test: RegExp;
indexer: (fileName: string, options: CoreCommon_IndexerOptions) => Promise<CoreCommon_StoryIndex>;
}
/**

@@ -904,19 +922,2 @@ * Options for TypeScript usage within Storybook.

}
interface CoreCommon_StoriesSpecifier {
/**
* When auto-titling, what to prefix all generated titles with (default: '')
*/
titlePrefix?: string;
/**
* Where to start looking for story files
*/
directory: string;
/**
* What does the filename of a story file look like?
* (a glob, relative to directory, no leading `./`)
* If unset, we use `** / *.stories.@(mdx|tsx|ts|jsx|js)` (no spaces)
*/
files?: string;
}
type CoreCommon_StoriesEntry = string | CoreCommon_StoriesSpecifier;
type Preset = string | {

@@ -1020,3 +1021,3 @@ name: string;

*/
stories: CoreCommon_StoriesEntry[];
stories: StoriesEntry[];
/**

@@ -1055,3 +1056,3 @@ * Framework, e.g. '@storybook/react', required in v7

*/
storyIndexers?: (indexers: CoreCommon_StoryIndexer[], options: Options$2) => CoreCommon_StoryIndexer[];
storyIndexers?: (indexers: StoryIndexer[], options: Options$2) => StoryIndexer[];
/**

@@ -1058,0 +1059,0 @@ * Docs related features in index generation

@@ -1,2 +0,2 @@

"use strict";var ye=Object.create;var u=Object.defineProperty;var pe=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var fe=Object.getPrototypeOf,le=Object.prototype.hasOwnProperty;var de=(e,t)=>{for(var o in t)u(e,o,{get:t[o],enumerable:!0})},F=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of me(t))!le.call(e,n)&&n!==o&&u(e,n,{get:()=>t[n],enumerable:!(r=pe(t,n))||r.enumerable});return e};var p=(e,t,o)=>(o=e!=null?ye(fe(e)):{},F(t||!e||!e.__esModule?u(o,"default",{value:e,enumerable:!0}):o,e)),ge=e=>F(u({},"__esModule",{value:!0}),e);var xe={};de(xe,{computeStorybookMetadata:()=>q,getStorybookMetadata:()=>M,metaFrameworks:()=>O,sanitizeAddonName:()=>R,telemetry:()=>Pe});module.exports=ge(xe);var C=require("@storybook/client-logger");var J=p(require("read-pkg-up")),P=require("detect-package-manager"),m=require("@storybook/core-common");var L=p(require("path")),j=async e=>{let t=Object.keys(e);return Promise.all(t.map(v))},v=async e=>{try{let t=await D(e);return{name:e,version:t.version}}catch{return{name:e,version:null}}},D=async e=>require(L.default.join(e,"package.json"));var k=p(require("fs-extra")),b=p(require("path")),Y=require("@storybook/core-common"),W={Nx:"nx.json",Turborepo:"turbo.json",Lerna:"lerna.json",Rush:"rush.json",Lage:"lage.config.json"},_=()=>{let e=(0,Y.getProjectRoot)();if(!e)return;let o=Object.keys(W).find(n=>{let s=b.default.join(e,W[n]);return k.default.existsSync(s)});if(o)return o;if(!k.default.existsSync(b.default.join(e,"package.json")))return;let r=k.default.readJsonSync(b.default.join(e,"package.json"));if(r!=null&&r.workspaces)return"Workspaces"};var T=require("path");function z(e){return e.replace(/[-[/{}()*+?.\\^$|]/g,"\\$&")}function E(e,t=T.sep){if(!e)return e;let o=process.cwd().split(t);for(;o.length>1;){let r=o.join(t),n=new RegExp(z(r),"g");e=e.replace(n,"$SNIP");let s=o.join(t+t),f=new RegExp(z(s),"g");e=e.replace(f,"$SNIP"),o.pop()}return e}function h(e,t=T.sep){e=JSON.parse(JSON.stringify(e,Object.getOwnPropertyNames(e)));let o=E(JSON.stringify(e),t);return JSON.parse(o)}var ue=["html","react","svelte","vue3","preact","server","vue","web-components","angular","ember"],ke=["builder-webpack5","builder-vite"];function U(e,t){let{name:o="",version:r,dependencies:n,devDependencies:s,peerDependencies:f}=e,c={[o]:r,...n,...s,...f};return t.map(y=>`@storybook/${y}`).find(y=>c[y])}async function H(e){let{framework:t}=e;if(!t)return{};let o=typeof t=="string"?{name:t}:t,r=await D(o.name),n=U(r,ke),s=U(r,ue);return{framework:o,builder:n,renderer:s}}var O={next:"Next","react-scripts":"CRA",gatsby:"Gatsby","@nuxtjs/storybook":"nuxt","@nrwl/storybook":"nx","@vue/cli-service":"vue-cli","@sveltejs/kit":"svelte-kit"},R=e=>E(e).replace(/\/dist\/.*/,"").replace(/\.[mc]?[tj]?s[x]?$/,"").replace(/\/register$/,"").replace(/\/manager$/,"").replace(/\/preset$/,""),q=async({packageJson:e,mainConfig:t})=>{var B;let o={generatedAt:new Date().getTime(),hasCustomBabel:!1,hasCustomWebpack:!1,hasStaticDirs:!1,hasStorybookEslint:!1,refCount:0},r={...e==null?void 0:e.dependencies,...e==null?void 0:e.devDependencies,...e==null?void 0:e.peerDependencies},n=Object.keys(r).find(a=>!!O[a]);if(n){let{version:a}=await v(n);o.metaFramework={name:O[n],packageName:n,version:a}}let s=_();s&&(o.monorepo=s);try{let a=await(0,P.detect)({cwd:(0,m.getProjectRoot)()}),i=await(0,P.getNpmVersion)(a);o.packageManager={type:a,version:i}}catch{}o.hasCustomBabel=!!t.babel,o.hasCustomWebpack=!!t.webpackFinal,o.hasStaticDirs=!!t.staticDirs,t.typescript&&(o.typescriptOptions=t.typescript);let f=await H(t);t.refs&&(o.refCount=Object.keys(t.refs).length),t.features&&(o.features=t.features);let c={};t.addons&&t.addons.forEach(a=>{let i,V;typeof a=="string"?i=R(a):(V=a.options,i=R(a.name)),c[i]={options:V,version:void 0}}),(await j(c)).forEach(({name:a,version:i})=>{c[a].version=i});let l=Object.keys(c),g=Object.keys(r).filter(a=>a.includes("storybook")&&!l.includes(a)).reduce((a,i)=>({...a,[i]:{version:void 0}}),{});(await j(g)).forEach(({name:a,version:i})=>{g[a].version=i});let se=r.typescript?"typescript":"javascript",ie=!!r["eslint-plugin-storybook"],$=(0,m.getStorybookInfo)(e),ce=((B=g[$.frameworkPackage])==null?void 0:B.version)||$.version;return{...o,...f,storybookVersion:ce,language:se,storybookPackages:g,addons:c,hasStorybookEslint:ie}},w,M=async e=>{var n;if(w)return w;let{packageJson:t={}}=J.default.sync({cwd:process.cwd(),normalize:!1})||{},o=(e||(0,m.getStorybookConfiguration)(((n=t==null?void 0:t.scripts)==null?void 0:n.storybook)||"","-c","--config-dir"))??".storybook",r=(0,m.loadMainConfig)({configDir:o});return w=await q({mainConfig:r,packageJson:t}),w};var te=p(require("isomorphic-unfetch")),oe=p(require("fetch-retry")),N=require("nanoid");var Q=p(require("path")),X=require("child_process"),Z=require("@storybook/core-common");var G=require("crypto"),K=e=>{let t=(0,G.createHash)("sha256");return t.update("storybook-telemetry-salt"),t.update(e),t.digest("hex")};var x,ee=()=>{if(x)return x;let e;try{let t=(0,Z.getProjectRoot)(),o=Q.default.relative(t,process.cwd()),r=(0,X.execSync)("git config --local --get remote.origin.url",{timeout:1e3,stdio:"pipe"});e=`${String(r).trim()}${o}`,x=K(e)}catch{}return x};var be="https://storybook.js.org/event-log",he=(0,oe.default)(te.default),S=[],we=(0,N.nanoid)();async function re(e,t={retryDelay:1e3,immediate:!1}){let{payload:o,metadata:r,...n}=e,s=t.stripMetadata?{}:{anonymousId:ee(),inCI:Boolean(process.env.CI)},f=(0,N.nanoid)(),c={...n,eventId:f,sessionId:we,metadata:r,payload:o,context:s},y;try{y=he(be,{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"},retries:3,retryOn:[503,504],retryDelay:l=>2**l*(typeof(t==null?void 0:t.retryDelay)=="number"&&!Number.isNaN(t==null?void 0:t.retryDelay)?t.retryDelay:1e3)}),S.push(y),t.immediate?await Promise.all(S):await y}catch{}finally{S=S.filter(l=>l!==y)}}var I=p(require("chalk")),A=require("@storybook/core-common"),ne="telemetry-notification-date",d=console,ae=async()=>{await A.cache.get(ne,null)||(A.cache.set(ne,Date.now()),d.log(),d.log(`${I.default.magenta.bold("attention")} => Storybook now collects completely anonymous telemetry regarding usage.`),d.log("This information is used to shape Storybook's roadmap and prioritize features."),d.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:"),d.log(I.default.cyan("https://storybook.js.org/telemetry")),d.log())};var Pe=async(e,t={},o={})=>{var n;e!=="boot"&&await ae();let r={eventType:e,payload:t};try{o!=null&&o.stripMetadata||(r.metadata=await M(o==null?void 0:o.configDir))}catch(s){r.payload.metadataErrorMessage=h(s).message,o!=null&&o.enableCrashReports&&(r.payload.metadataError=h(s))}finally{let{error:s}=r.payload;s&&(r.payload.error=h(s)),(!r.payload.error||(o==null?void 0:o.enableCrashReports))&&((n=process.env)!=null&&n.STORYBOOK_TELEMETRY_DEBUG&&(C.logger.info(`
[telemetry]`),C.logger.info(JSON.stringify(r,null,2))),await re(r,o))}};0&&(module.exports={computeStorybookMetadata,getStorybookMetadata,metaFrameworks,sanitizeAddonName,telemetry});
"use strict";var ye=Object.create;var u=Object.defineProperty;var pe=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var fe=Object.getPrototypeOf,le=Object.prototype.hasOwnProperty;var de=(e,t)=>{for(var o in t)u(e,o,{get:t[o],enumerable:!0})},L=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of me(t))!le.call(e,n)&&n!==o&&u(e,n,{get:()=>t[n],enumerable:!(r=pe(t,n))||r.enumerable});return e};var p=(e,t,o)=>(o=e!=null?ye(fe(e)):{},L(t||!e||!e.__esModule?u(o,"default",{value:e,enumerable:!0}):o,e)),ge=e=>L(u({},"__esModule",{value:!0}),e);var Se={};de(Se,{computeStorybookMetadata:()=>K,getStorybookMetadata:()=>M,metaFrameworks:()=>O,sanitizeAddonName:()=>R,telemetry:()=>Pe});module.exports=ge(Se);var B=require("@storybook/client-logger");var J=p(require("read-pkg-up")),P=require("detect-package-manager"),m=require("@storybook/core-common");var F=p(require("path")),j=async e=>{let t=Object.keys(e);return Promise.all(t.map(v))},v=async e=>{try{let t=await D(e);return{name:e,version:t.version}}catch{return{name:e,version:null}}},D=async e=>require(F.default.join(e,"package.json"));var k=p(require("fs-extra")),b=p(require("path")),_=require("@storybook/core-common"),Y={Nx:"nx.json",Turborepo:"turbo.json",Lerna:"lerna.json",Rush:"rush.json",Lage:"lage.config.json"},W=()=>{let e=(0,_.getProjectRoot)();if(!e)return;let o=Object.keys(Y).find(n=>{let s=b.default.join(e,Y[n]);return k.default.existsSync(s)});if(o)return o;if(!k.default.existsSync(b.default.join(e,"package.json")))return;let r=k.default.readJsonSync(b.default.join(e,"package.json"));if(r!=null&&r.workspaces)return"Workspaces"};var T=require("path");function z(e){return e.replace(/[-[/{}()*+?.\\^$|]/g,"\\$&")}function E(e,t=T.sep){if(!e)return e;let o=process.cwd().split(t);for(;o.length>1;){let r=o.join(t),n=new RegExp(z(r),"g");e=e.replace(n,"$SNIP");let s=o.join(t+t),f=new RegExp(z(s),"g");e=e.replace(f,"$SNIP"),o.pop()}return e}function h(e,t=T.sep){e=JSON.parse(JSON.stringify(e,Object.getOwnPropertyNames(e)));let o=E(JSON.stringify(e),t);return JSON.parse(o)}var ue=["html","react","svelte","vue3","preact","server","vue","web-components","angular","ember"],ke=["builder-webpack5","builder-vite"];function U(e,t){let{name:o="",version:r,dependencies:n,devDependencies:s,peerDependencies:f}=e,c={[o]:r,...n,...s,...f};return t.map(y=>`@storybook/${y}`).find(y=>c[y])}async function H(e){let{framework:t}=e;if(!t)return{};let o=typeof t=="string"?{name:t}:t,r=await D(o.name),n=U(r,ke),s=U(r,ue);return{framework:o,builder:n,renderer:s}}var O={next:"Next","react-scripts":"CRA",gatsby:"Gatsby","@nuxtjs/storybook":"nuxt","@nrwl/storybook":"nx","@vue/cli-service":"vue-cli","@sveltejs/kit":"svelte-kit"},R=e=>E(e).replace(/\/dist\/.*/,"").replace(/\.[mc]?[tj]?s[x]?$/,"").replace(/\/register$/,"").replace(/\/manager$/,"").replace(/\/preset$/,""),K=async({packageJson:e,mainConfig:t})=>{var $;let o={generatedAt:new Date().getTime(),hasCustomBabel:!1,hasCustomWebpack:!1,hasStaticDirs:!1,hasStorybookEslint:!1,refCount:0},r={...e==null?void 0:e.dependencies,...e==null?void 0:e.devDependencies,...e==null?void 0:e.peerDependencies},n=Object.keys(r).find(a=>!!O[a]);if(n){let{version:a}=await v(n);o.metaFramework={name:O[n],packageName:n,version:a}}let s=W();s&&(o.monorepo=s);try{let a=await(0,P.detect)({cwd:(0,m.getProjectRoot)()}),i=await(0,P.getNpmVersion)(a);o.packageManager={type:a,version:i}}catch{}o.hasCustomBabel=!!t.babel,o.hasCustomWebpack=!!t.webpackFinal,o.hasStaticDirs=!!t.staticDirs,t.typescript&&(o.typescriptOptions=t.typescript);let f=await H(t);t.refs&&(o.refCount=Object.keys(t.refs).length),t.features&&(o.features=t.features);let c={};t.addons&&t.addons.forEach(a=>{let i,V;typeof a=="string"?i=R(a):(V=a.options,i=R(a.name)),c[i]={options:V,version:void 0}}),(await j(c)).forEach(({name:a,version:i})=>{c[a].version=i});let l=Object.keys(c),g=Object.keys(r).filter(a=>a.includes("storybook")&&!l.includes(a)).reduce((a,i)=>({...a,[i]:{version:void 0}}),{});(await j(g)).forEach(({name:a,version:i})=>{g[a].version=i});let se=r.typescript?"typescript":"javascript",ie=!!r["eslint-plugin-storybook"],C=(0,m.getStorybookInfo)(e),ce=(($=g[C.frameworkPackage])==null?void 0:$.version)||C.version;return{...o,...f,storybookVersion:ce,language:se,storybookPackages:g,addons:c,hasStorybookEslint:ie}},w,M=async e=>{var n;if(w)return w;let{packageJson:t={}}=J.default.sync({cwd:process.cwd(),normalize:!1})||{},o=(e||(0,m.getStorybookConfiguration)(((n=t==null?void 0:t.scripts)==null?void 0:n.storybook)||"","-c","--config-dir"))??".storybook",r=(0,m.loadMainConfig)({configDir:o});return w=await K({mainConfig:r,packageJson:t}),w};var te=p(require("isomorphic-unfetch")),oe=p(require("fetch-retry")),N=require("nanoid");var Q=p(require("path")),X=require("child_process"),Z=require("@storybook/core-common");var q=require("crypto"),G=e=>{let t=(0,q.createHash)("sha256");return t.update("storybook-telemetry-salt"),t.update(e),t.digest("hex")};var S,ee=()=>{if(S)return S;let e;try{let t=(0,Z.getProjectRoot)(),o=Q.default.relative(t,process.cwd()),r=(0,X.execSync)("git config --local --get remote.origin.url",{timeout:1e3,stdio:"pipe"});e=`${String(r).trim()}${o}`,S=G(e)}catch{}return S};var be=process.env.STORYBOOK_TELEMETRY_URL||"https://storybook.js.org/event-log",he=(0,oe.default)(te.default),x=[],we=(0,N.nanoid)();async function re(e,t={retryDelay:1e3,immediate:!1}){let{payload:o,metadata:r,...n}=e,s=t.stripMetadata?{}:{anonymousId:ee(),inCI:Boolean(process.env.CI)},f=(0,N.nanoid)(),c={...n,eventId:f,sessionId:we,metadata:r,payload:o,context:s},y;try{y=he(be,{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"},retries:3,retryOn:[503,504],retryDelay:l=>2**l*(typeof(t==null?void 0:t.retryDelay)=="number"&&!Number.isNaN(t==null?void 0:t.retryDelay)?t.retryDelay:1e3)}),x.push(y),t.immediate?await Promise.all(x):await y}catch{}finally{x=x.filter(l=>l!==y)}}var I=p(require("chalk")),A=require("@storybook/core-common"),ne="telemetry-notification-date",d=console,ae=async()=>{await A.cache.get(ne,null)||(A.cache.set(ne,Date.now()),d.log(),d.log(`${I.default.magenta.bold("attention")} => Storybook now collects completely anonymous telemetry regarding usage.`),d.log("This information is used to shape Storybook's roadmap and prioritize features."),d.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:"),d.log(I.default.cyan("https://storybook.js.org/telemetry")),d.log())};var Pe=async(e,t={},o={})=>{var n;e!=="boot"&&await ae();let r={eventType:e,payload:t};try{o!=null&&o.stripMetadata||(r.metadata=await M(o==null?void 0:o.configDir))}catch(s){r.payload.metadataErrorMessage=h(s).message,o!=null&&o.enableCrashReports&&(r.payload.metadataError=h(s))}finally{let{error:s}=r.payload;s&&(r.payload.error=h(s)),(!r.payload.error||(o==null?void 0:o.enableCrashReports))&&((n=process.env)!=null&&n.STORYBOOK_TELEMETRY_DEBUG&&(B.logger.info(`
[telemetry]`),B.logger.info(JSON.stringify(r,null,2))),await re(r,o))}};0&&(module.exports={computeStorybookMetadata,getStorybookMetadata,metaFrameworks,sanitizeAddonName,telemetry});
{
"name": "@storybook/telemetry",
"version": "7.0.0-alpha.54",
"version": "7.0.0-alpha.55",
"description": "Telemetry logging for crash reports and usage statistics",

@@ -45,4 +45,4 @@ "keywords": [

"dependencies": {
"@storybook/client-logger": "7.0.0-alpha.54",
"@storybook/core-common": "7.0.0-alpha.54",
"@storybook/client-logger": "7.0.0-alpha.55",
"@storybook/core-common": "7.0.0-alpha.55",
"chalk": "^4.1.0",

@@ -68,3 +68,3 @@ "detect-package-manager": "^2.0.1",

},
"gitHead": "91177d4e27daec556a24ae6223c3cbe17a998d9b"
"gitHead": "55cd2ab63d1f897de59e2471d2f916f7d2c13546"
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc