UNPKG

@37bytes/vite-build-time-environment

Version:

Vite plugin for integrating build-time environment variables like Git branch and commit hash.

1 lines 2.41 kB
{"version":3,"file":"index.cjs","names":[],"sources":["../src/buildTimeEnvironmentSupport.ts"],"sourcesContent":["import { type Plugin } from 'vite';\n\ninterface Aliases {\n VERSION_FIELD_NAME?: string;\n BRANCH_FIELD_NAME?: string;\n COMMIT_HASH_FIELD_NAME?: string;\n}\n\ninterface Params {\n packageName: string;\n packageVersion: string;\n aliases?: Aliases;\n}\n\nconst buildTimeIdentifiersPlugin = ({ packageName, packageVersion, aliases }: Params): Plugin => {\n if (!packageName) {\n throw new Error('packageName cannot be falsy');\n }\n\n if (!packageVersion) {\n throw new Error('packageVersion cannot be falsy');\n }\n\n return {\n name: '@37bytes/vite-build-time-environment',\n config: (config) => {\n const version = process.env[aliases?.VERSION_FIELD_NAME ?? 'VERSION'];\n const branch = process.env[aliases?.BRANCH_FIELD_NAME ?? 'BRANCH'] || '[unknown git branch]';\n const commitHash = process.env[aliases?.COMMIT_HASH_FIELD_NAME ?? 'COMMIT_HASH'] || '[unknown commit hash]';\n\n const releaseName = `${packageName}@${packageVersion}${version ? `+${version}` : ''}`;\n\n config.define = {\n ...config.define,\n\n PACKAGE_INFO_FIELD_NAME: JSON.stringify(packageName),\n PACKAGE_INFO_FIELD_VERSION: JSON.stringify(packageVersion),\n\n BUILD_TIME_VARIABLES_VERSION: JSON.stringify(version || '[unknown build version]'),\n BUILD_TIME_VARIABLES_BRANCH: JSON.stringify(branch),\n BUILD_TIME_VARIABLES_COMMIT_HASH: JSON.stringify(commitHash),\n\n BUILD_TIME_VARIABLES_RELEASE_NAME: JSON.stringify(releaseName)\n };\n }\n };\n};\n\nexport default buildTimeIdentifiersPlugin;\n"],"mappings":";;;;AAcA,MAAM,8BAA8B,EAAE,aAAa,gBAAgB,cAA8B;AAC7F,KAAI,CAAC,YACD,OAAM,IAAI,MAAM,8BAA8B;AAGlD,KAAI,CAAC,eACD,OAAM,IAAI,MAAM,iCAAiC;AAGrD,QAAO;EACH,MAAM;EACN,SAAS,WAAW;GAChB,MAAM,UAAU,QAAQ,IAAI,SAAS,sBAAsB;GAC3D,MAAM,SAAS,QAAQ,IAAI,SAAS,qBAAqB,aAAa;GACtE,MAAM,aAAa,QAAQ,IAAI,SAAS,0BAA0B,kBAAkB;GAEpF,MAAM,cAAc,GAAG,YAAY,GAAG,iBAAiB,UAAU,IAAI,YAAY;AAEjF,UAAO,SAAS;IACZ,GAAG,OAAO;IAEV,yBAAyB,KAAK,UAAU,YAAY;IACpD,4BAA4B,KAAK,UAAU,eAAe;IAE1D,8BAA8B,KAAK,UAAU,WAAW,0BAA0B;IAClF,6BAA6B,KAAK,UAAU,OAAO;IACnD,kCAAkC,KAAK,UAAU,WAAW;IAE5D,mCAAmC,KAAK,UAAU,YAAY;IACjE;;EAER"}