bun-workspaces 1.6.0 → 1.7.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bun-workspaces",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "A monorepo management tool for Bun, with a CLI and API to enhance Bun's native workspaces.",
5
5
  "license": "MIT",
6
6
  "exports": {
@@ -15,6 +15,10 @@
15
15
  "./config": {
16
16
  "types": "./src/config/public.d.ts",
17
17
  "default": "./src/config/public.mjs"
18
+ },
19
+ "./script": {
20
+ "types": "./src/runScript/public.d.ts",
21
+ "default": "./src/runScript/public.mjs"
18
22
  }
19
23
  },
20
24
  "types": "./src/index.d.ts",
package/src/1108.mjs CHANGED
@@ -24,7 +24,14 @@ const SCRIPT_RUNTIME_METADATA_CONFIG = {
24
24
  envVarName: "BW_WORKSPACE_NAME",
25
25
  },
26
26
  };
27
- const getScriptRuntimeMetadataConfig = (key) =>
28
- SCRIPT_RUNTIME_METADATA_CONFIG[key];
27
+ const validateScriptRuntimeMetadataKey = (key) => {
28
+ if (!(key in SCRIPT_RUNTIME_METADATA_CONFIG)) {
29
+ throw new Error(`Invalid script runtime metadata key: ${key}`);
30
+ }
31
+ };
32
+ const getScriptRuntimeMetadataConfig = (key) => {
33
+ validateScriptRuntimeMetadataKey(key);
34
+ return SCRIPT_RUNTIME_METADATA_CONFIG[key];
35
+ };
29
36
 
30
37
  export { getScriptRuntimeMetadataConfig };
@@ -0,0 +1,40 @@
1
+ // Generated by dts-bundle-generator v9.5.1
2
+
3
+ declare const SCRIPT_RUNTIME_METADATA_CONFIG: {
4
+ readonly projectPath: {
5
+ readonly inlineName: "<projectPath>";
6
+ readonly envVarName: "BW_PROJECT_PATH";
7
+ };
8
+ readonly projectName: {
9
+ readonly inlineName: "<projectName>";
10
+ readonly envVarName: "BW_PROJECT_NAME";
11
+ };
12
+ readonly workspacePath: {
13
+ readonly inlineName: "<workspacePath>";
14
+ readonly envVarName: "BW_WORKSPACE_PATH";
15
+ };
16
+ readonly workspaceRelativePath: {
17
+ readonly inlineName: "<workspaceRelativePath>";
18
+ readonly envVarName: "BW_WORKSPACE_RELATIVE_PATH";
19
+ };
20
+ readonly scriptName: {
21
+ readonly inlineName: "<scriptName>";
22
+ readonly envVarName: "BW_SCRIPT_NAME";
23
+ };
24
+ readonly workspaceName: {
25
+ readonly inlineName: "<workspaceName>";
26
+ readonly envVarName: "BW_WORKSPACE_NAME";
27
+ };
28
+ };
29
+ export type ScriptRuntimeMetadataKey =
30
+ keyof typeof SCRIPT_RUNTIME_METADATA_CONFIG;
31
+ /**
32
+ * This is a utility to run from a workspace's script that was called via `bun-workspaces`.
33
+ *
34
+ * It gets the value of some metadata value about the project, workspace, or script that was invoked.
35
+ */
36
+ export declare const getWorkspaceScriptMetadata: (
37
+ key: ScriptRuntimeMetadataKey,
38
+ ) => string;
39
+
40
+ export {};
@@ -0,0 +1 @@
1
+ export { getWorkspaceScriptMetadata } from "./scriptRuntimeMetadata.mjs";
@@ -1,4 +1,4 @@
1
- import { IS_WINDOWS } from "../internal/core/index.mjs";
1
+ import { BunWorkspacesError, IS_WINDOWS } from "../internal/core/index.mjs";
2
2
  import { getScriptRuntimeMetadataConfig } from "../1108.mjs";
3
3
 
4
4
  const createScriptRuntimeEnvVars = (metadata) => {
@@ -39,5 +39,22 @@ const interpolateScriptRuntimeMetadata = (text, metadata, shell) => {
39
39
  return value;
40
40
  });
41
41
  };
42
+ /**
43
+ * This is a utility to run from a workspace's script that was called via `bun-workspaces`.
44
+ *
45
+ * It gets the value of some metadata value about the project, workspace, or script that was invoked.
46
+ */ const getWorkspaceScriptMetadata = (key) => {
47
+ const { envVarName } = getScriptRuntimeMetadataConfig(key);
48
+ if (!(envVarName in process.env)) {
49
+ throw new BunWorkspacesError(
50
+ `getScriptMetadata() called with key "${key}" but environment variable ${envVarName} is not set. getScriptMetadata() may not have been called in a workspace script running via bun-workspaces.`,
51
+ );
52
+ }
53
+ return process.env[envVarName];
54
+ };
42
55
 
43
- export { createScriptRuntimeEnvVars, interpolateScriptRuntimeMetadata };
56
+ export {
57
+ createScriptRuntimeEnvVars,
58
+ getWorkspaceScriptMetadata,
59
+ interpolateScriptRuntimeMetadata,
60
+ };