@js-utils-kit/env 1.3.0 → 1.4.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/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- let e=require(`@js-utils-kit/types`),t=require(`node:process`);function n(){switch(process.env.NODE_ENV){case e.Environment.PROD:return e.Environment.PROD;case e.Environment.DEV:return e.Environment.DEV;case e.Environment.TEST:return e.Environment.TEST;default:return e.Environment.UNKNOWN}}const r=`AC_APPCIRCLE.AGOLA_GIT_REF.APPCENTER_BUILD_ID.APPVEYOR.bamboo_planKey.BITBUCKET_COMMIT.BITRISE_IO.BUDDY_WORKSPACE_ID.BUILD_ID.BUILD_NUMBER.BUILDER_OUTPUT.BUILDKITE.CF_BUILD_ID.CF_PAGES.CI.CI_XCODE_PROJECT.CIRCLECI.CIRRUS_CI.CM_BUILD_ID.CODEBUILD_BUILD_ARN.CONTINUOUS_INTEGRATION.DRONE.DSARI.EARTHLY_CI.EAS_BUILD.GERRIT_PROJECT.GITEA_ACTIONS.GITHUB_ACTIONS.GITLAB_CI.GO_PIPELINE_LABEL.HARNESS_BUILD_ID.HUDSON_URL.JENKINS_URL.LAYERCI.MAGNUM.NETLIFY.NEVERCODE.NODE.NOW_BUILDER.PROW_JOB_ID.RELEASE_BUILD_ID.RENDER.RUN_ID.SAILCI.SCREWDRIVER.SEMAPHORE.STRIDER.TASK_ID.TEAMCITY_VERSION.TF_BUILD.TRAVIS.VELA.VERCEL.WORKERS_CI.XCS`.split(`.`).some(e=>e in t.env&&t.env[e]!=null&&t.env[e]!==`0`&&t.env[e].toLowerCase()!==`false`)||typeof t.env.CI_NAME==`string`&&[`codeship`,`sourcehut`,`woodpecker`].includes(t.env.CI_NAME.toLowerCase());exports.getRunTimeEnvironment=n,exports.isCI=r;
1
+ let e=require(`@js-utils-kit/types`),t=require(`node:process`);function n(){switch(process.env.NODE_ENV){case e.Environment.PROD:return e.Environment.PROD;case e.Environment.DEV:return e.Environment.DEV;case e.Environment.TEST:return e.Environment.TEST;default:return e.Environment.UNKNOWN}}const r=`AC_APPCIRCLE.AGOLA_GIT_REF.APPCENTER_BUILD_ID.APPVEYOR.bamboo_planKey.BITBUCKET_COMMIT.BITRISE_IO.BUDDY_WORKSPACE_ID.BUILD_ID.BUILD_NUMBER.BUILDER_OUTPUT.BUILDKITE.CF_BUILD_ID.CF_PAGES.CI_XCODE_PROJECT.CIRCLECI.CIRRUS_CI.CM_BUILD_ID.CODEBUILD_BUILD_ARN.DRONE.DSARI.EARTHLY_CI.EAS_BUILD.GERRIT_PROJECT.GITEA_ACTIONS.GITHUB_ACTIONS.GITLAB_CI.GO_PIPELINE_LABEL.HARNESS_BUILD_ID.HUDSON_URL.JENKINS_URL.LAYERCI.MAGNUM.NETLIFY.NEVERCODE.NOW_BUILDER.PROW_JOB_ID.RELEASE_BUILD_ID.RENDER.RUN_ID.SAILCI.SCREWDRIVER.SEMAPHORE.STRIDER.TASK_ID.TEAMCITY_VERSION.TF_BUILD.TRAVIS.VELA.VERCEL.WORKERS_CI.XCS`.split(`.`),i=[`CI`,`CONTINUOUS_INTEGRATION`],a=[`codeship`,`sourcehut`,`woodpecker`],o=e=>{let n=t.env[e]??t.env[e.toUpperCase()]??t.env[e.toLowerCase()];return n!=null&&n!==`0`&&n.toLowerCase()!==`false`},s=r.some(o),c=s||i.some(o)&&(s||typeof t.env.CI_NAME==`string`&&a.includes(t.env.CI_NAME.toLowerCase()));exports.getRunTimeEnvironment=n,exports.isCI=c;
package/dist/index.d.cts CHANGED
@@ -20,9 +20,16 @@ declare function getRunTimeEnvironment(): Environment;
20
20
  /**
21
21
  * Determines whether the current runtime environment is a Continuous Integration (CI) environment.
22
22
  *
23
- * Detection is performed by:
24
- * 1. Checking for known CI-specific environment variables
25
- * 2. Checking value-based CI identifiers via `CI_NAME`
23
+ * Detection is conservative to avoid false positives in local development.
24
+ * It works as follows:
25
+ *
26
+ * 1. Immediately returns `true` if a known CI provider environment variable is present
27
+ * (e.g. GitHub Actions, GitLab CI, CircleCI, etc.).
28
+ * 2. If only generic CI flags (such as `CI` or `CONTINUOUS_INTEGRATION`) are present,
29
+ * they are considered valid **only when** backed by a real CI provider signal
30
+ * or a known `CI_NAME` identifier.
31
+ *
32
+ * This prevents tools like `npx`, npm, or local shells from incorrectly causing CI detection while preserving correct behavior in real CI environments.
26
33
  *
27
34
  * @example
28
35
  * ```ts
@@ -31,7 +38,7 @@ declare function getRunTimeEnvironment(): Environment;
31
38
  * }
32
39
  * ```
33
40
  *
34
- * @returns `true` if running inside a CI environment
41
+ * @returns `true` if running inside a CI environment, otherwise `false`.
35
42
  */
36
43
  declare const isCI: boolean;
37
44
  //#endregion
package/dist/index.d.mts CHANGED
@@ -20,9 +20,16 @@ declare function getRunTimeEnvironment(): Environment;
20
20
  /**
21
21
  * Determines whether the current runtime environment is a Continuous Integration (CI) environment.
22
22
  *
23
- * Detection is performed by:
24
- * 1. Checking for known CI-specific environment variables
25
- * 2. Checking value-based CI identifiers via `CI_NAME`
23
+ * Detection is conservative to avoid false positives in local development.
24
+ * It works as follows:
25
+ *
26
+ * 1. Immediately returns `true` if a known CI provider environment variable is present
27
+ * (e.g. GitHub Actions, GitLab CI, CircleCI, etc.).
28
+ * 2. If only generic CI flags (such as `CI` or `CONTINUOUS_INTEGRATION`) are present,
29
+ * they are considered valid **only when** backed by a real CI provider signal
30
+ * or a known `CI_NAME` identifier.
31
+ *
32
+ * This prevents tools like `npx`, npm, or local shells from incorrectly causing CI detection while preserving correct behavior in real CI environments.
26
33
  *
27
34
  * @example
28
35
  * ```ts
@@ -31,7 +38,7 @@ declare function getRunTimeEnvironment(): Environment;
31
38
  * }
32
39
  * ```
33
40
  *
34
- * @returns `true` if running inside a CI environment
41
+ * @returns `true` if running inside a CI environment, otherwise `false`.
35
42
  */
36
43
  declare const isCI: boolean;
37
44
  //#endregion
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{Environment as e}from"@js-utils-kit/types";import{env as t}from"node:process";function n(){switch(process.env.NODE_ENV){case e.PROD:return e.PROD;case e.DEV:return e.DEV;case e.TEST:return e.TEST;default:return e.UNKNOWN}}const r=`AC_APPCIRCLE.AGOLA_GIT_REF.APPCENTER_BUILD_ID.APPVEYOR.bamboo_planKey.BITBUCKET_COMMIT.BITRISE_IO.BUDDY_WORKSPACE_ID.BUILD_ID.BUILD_NUMBER.BUILDER_OUTPUT.BUILDKITE.CF_BUILD_ID.CF_PAGES.CI.CI_XCODE_PROJECT.CIRCLECI.CIRRUS_CI.CM_BUILD_ID.CODEBUILD_BUILD_ARN.CONTINUOUS_INTEGRATION.DRONE.DSARI.EARTHLY_CI.EAS_BUILD.GERRIT_PROJECT.GITEA_ACTIONS.GITHUB_ACTIONS.GITLAB_CI.GO_PIPELINE_LABEL.HARNESS_BUILD_ID.HUDSON_URL.JENKINS_URL.LAYERCI.MAGNUM.NETLIFY.NEVERCODE.NODE.NOW_BUILDER.PROW_JOB_ID.RELEASE_BUILD_ID.RENDER.RUN_ID.SAILCI.SCREWDRIVER.SEMAPHORE.STRIDER.TASK_ID.TEAMCITY_VERSION.TF_BUILD.TRAVIS.VELA.VERCEL.WORKERS_CI.XCS`.split(`.`).some(e=>e in t&&t[e]!=null&&t[e]!==`0`&&t[e].toLowerCase()!==`false`)||typeof t.CI_NAME==`string`&&[`codeship`,`sourcehut`,`woodpecker`].includes(t.CI_NAME.toLowerCase());export{n as getRunTimeEnvironment,r as isCI};
1
+ import{Environment as e}from"@js-utils-kit/types";import{env as t}from"node:process";function n(){switch(process.env.NODE_ENV){case e.PROD:return e.PROD;case e.DEV:return e.DEV;case e.TEST:return e.TEST;default:return e.UNKNOWN}}const r=`AC_APPCIRCLE.AGOLA_GIT_REF.APPCENTER_BUILD_ID.APPVEYOR.bamboo_planKey.BITBUCKET_COMMIT.BITRISE_IO.BUDDY_WORKSPACE_ID.BUILD_ID.BUILD_NUMBER.BUILDER_OUTPUT.BUILDKITE.CF_BUILD_ID.CF_PAGES.CI_XCODE_PROJECT.CIRCLECI.CIRRUS_CI.CM_BUILD_ID.CODEBUILD_BUILD_ARN.DRONE.DSARI.EARTHLY_CI.EAS_BUILD.GERRIT_PROJECT.GITEA_ACTIONS.GITHUB_ACTIONS.GITLAB_CI.GO_PIPELINE_LABEL.HARNESS_BUILD_ID.HUDSON_URL.JENKINS_URL.LAYERCI.MAGNUM.NETLIFY.NEVERCODE.NOW_BUILDER.PROW_JOB_ID.RELEASE_BUILD_ID.RENDER.RUN_ID.SAILCI.SCREWDRIVER.SEMAPHORE.STRIDER.TASK_ID.TEAMCITY_VERSION.TF_BUILD.TRAVIS.VELA.VERCEL.WORKERS_CI.XCS`.split(`.`),i=[`CI`,`CONTINUOUS_INTEGRATION`],a=[`codeship`,`sourcehut`,`woodpecker`],o=e=>{let n=t[e]??t[e.toUpperCase()]??t[e.toLowerCase()];return n!=null&&n!==`0`&&n.toLowerCase()!==`false`},s=r.some(o),c=s||i.some(o)&&(s||typeof t.CI_NAME==`string`&&a.includes(t.CI_NAME.toLowerCase()));export{n as getRunTimeEnvironment,c as isCI};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@js-utils-kit/env",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "Environment utilities",
5
5
  "private": false,
6
6
  "license": "MIT",
@@ -35,7 +35,7 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@js-utils-kit/types": "1.2.0"
38
+ "@js-utils-kit/types": "1.3.0"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "tsdown",