extension 4.0.29-next.0 → 4.0.30

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/cli.cjs CHANGED
@@ -6268,15 +6268,55 @@ var __webpack_modules__ = {
6268
6268
  }
6269
6269
  return null;
6270
6270
  }
6271
+ function isInsideGitWorkTree(startDir) {
6272
+ const home = (()=>{
6273
+ try {
6274
+ return external_node_path_default().resolve(external_node_os_default().homedir());
6275
+ } catch {
6276
+ return '';
6277
+ }
6278
+ })();
6279
+ let current = external_node_path_default().resolve(startDir);
6280
+ for(let i = 0; i < 100; i++){
6281
+ if (home && current === home) break;
6282
+ try {
6283
+ if (external_node_fs_default().existsSync(external_node_path_default().join(current, '.git'))) return true;
6284
+ } catch {}
6285
+ const parent = external_node_path_default().dirname(current);
6286
+ if (parent === current) break;
6287
+ current = parent;
6288
+ }
6289
+ return false;
6290
+ }
6291
+ function machineScopedId(rawId) {
6292
+ let salt = '';
6293
+ try {
6294
+ salt = `${external_node_os_default().hostname()}|${external_node_os_default().userInfo().username}`;
6295
+ } catch {
6296
+ salt = String(external_node_os_default().hostname?.() || '');
6297
+ }
6298
+ const digest = external_node_crypto_default().createHash('sha256').update(`${rawId}|${salt}`).digest('hex');
6299
+ return [
6300
+ digest.slice(0, 8),
6301
+ digest.slice(8, 12),
6302
+ digest.slice(12, 16),
6303
+ digest.slice(16, 20),
6304
+ digest.slice(20, 32)
6305
+ ].join('-');
6306
+ }
6271
6307
  function loadOrCreateId(file) {
6308
+ const inWorkTree = isInsideGitWorkTree(external_node_path_default().dirname(file));
6272
6309
  try {
6273
- if (external_node_fs_default().existsSync(file)) return external_node_fs_default().readFileSync(file, 'utf8').trim();
6310
+ if (external_node_fs_default().existsSync(file)) {
6311
+ const stored = external_node_fs_default().readFileSync(file, 'utf8').trim();
6312
+ return inWorkTree ? machineScopedId(stored) : stored;
6313
+ }
6274
6314
  } catch {}
6275
6315
  const id = external_node_crypto_default().randomUUID();
6276
6316
  if (ensureDir(external_node_path_default().dirname(file))) try {
6277
6317
  external_node_fs_default().writeFileSync(file, id, 'utf8');
6278
6318
  } catch {}
6279
- return id;
6319
+ return inWorkTree ? machineScopedId(id) : id;
6280
6320
  }
6281
6321
  function readConsentFile(file) {
6282
6322
  try {
@@ -6320,7 +6360,7 @@ var __webpack_modules__ = {
6320
6360
  enabled: false,
6321
6361
  source: 'ci'
6322
6362
  };
6323
- if ('enabled' === stored) return {
6363
+ if ('enabled' === stored && storage && !isInsideGitWorkTree(storage.telemetryDir)) return {
6324
6364
  enabled: true,
6325
6365
  source: 'config'
6326
6366
  };
@@ -6745,7 +6785,7 @@ var __webpack_modules__ = {
6745
6785
  'sidebar',
6746
6786
  'sidebar-antd',
6747
6787
  'sidebar-shadcn',
6748
- 'sidebar-monorepo-turbopack',
6788
+ 'sidebar-monorepo-turborepo',
6749
6789
  'ai-chatgpt',
6750
6790
  'ai-claude',
6751
6791
  'ai-gemini',
@@ -26,6 +26,8 @@ type TelemetryStorage = {
26
26
  export declare const DEFAULT_POSTHOG_KEY: string;
27
27
  export declare function isSourceCheckout(startDir?: string): boolean;
28
28
  export declare function resolveTelemetryStorage(): TelemetryStorage | null;
29
+ export declare function isInsideGitWorkTree(startDir: string): boolean;
30
+ export declare function loadOrCreateId(file: string): string;
29
31
  export declare function resolveTelemetryConsent(argv?: string[]): {
30
32
  enabled: boolean;
31
33
  source: TelemetrySource;
package/package.json CHANGED
@@ -38,7 +38,7 @@
38
38
  "extension": "./bin/extension.cjs"
39
39
  },
40
40
  "name": "extension",
41
- "version": "4.0.29-next.0",
41
+ "version": "4.0.30",
42
42
  "description": "The cross-browser extension framework. Build Chrome, Edge, Firefox, and Safari extensions with no build configuration.",
43
43
  "homepage": "https://extension.js.org/",
44
44
  "bugs": {
@@ -106,9 +106,9 @@
106
106
  "vivaldi-location2": "2.1.1",
107
107
  "waterfox-location": "2.1.1",
108
108
  "yandex-location": "2.1.1",
109
- "extension-create": "4.0.29-next.0",
110
- "extension-develop": "4.0.29-next.0",
111
- "extension-install": "4.0.29-next.0",
109
+ "extension-create": "4.0.30",
110
+ "extension-develop": "4.0.30",
111
+ "extension-install": "4.0.30",
112
112
  "commander": "^15.0.0",
113
113
  "pintor": "0.3.0",
114
114
  "semver": "^7.7.3",