@relative-ci/rollup-plugin 5.3.0-alpha.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/README.md ADDED
@@ -0,0 +1,32 @@
1
+ <a href="https://relative-ci.com">
2
+ <img alt="RelativeCI" src="https://raw.githubusercontent.com/relative-ci/agent/master/assets/relative-ci--logo.png" width="96" />
3
+ </a>
4
+
5
+ # RelativeCI Rollup/Vite/Rolldown plugin agent
6
+
7
+ > Send bundle stats and CI build information to [RelativeCI](https://relative-ci.com?utm_source=github&utm_medium=agent).
8
+
9
+ To get started, follow [RelativeCI Setup guide for rollup-plugin](https://relative-ci.com/documentation/setup?utm_source=github&utm_medium=agent).
10
+
11
+ [![npm](https://img.shields.io/npm/v/@relative-ci/rollup-plugin.svg)](https://www.npmjs.com/package/@relative-ci/rollup-plugin)
12
+ [![node version](https://img.shields.io/node/v/@relative-ci/rollup-plugin.svg)](https://www.npmjs.com/package/@relative-ci/rollup-plugin)
13
+ [![Socket Badge](https://socket.dev/api/badge/npm/package/@relative-ci/rollup-plugin)](https://socket.dev/npm/package/@relative-ci/rollup-plugin)
14
+ [![ci](https://github.com/relative-ci/agent/actions/workflows/ci.yml/badge.svg)](https://github.com/relative-ci/agent/actions/workflows/ci.yml)
15
+ [![CodeQL](https://github.com/relative-ci/agent/actions/workflows/codeql.yml/badge.svg)](https://github.com/relative-ci/agent/actions/workflows/codeql.yml)
16
+
17
+ ## Other packages
18
+
19
+ ### [`@relative-ci/cli`](https://github.com/relative-ci/agent/tree/master/packages/cli)
20
+
21
+ [![npm](https://img.shields.io/npm/v/@relative-ci/cli.svg)](https://www.npmjs.com/package/@relative-ci/cli)
22
+ [![node version](https://img.shields.io/node/v/@relative-ci/cli.svg)](https://www.npmjs.com/package/@relative-ci/cli)
23
+ [![Socket Badge](https://socket.dev/api/badge/npm/package/@relative-ci/cli)](https://socket.dev/npm/package/@relative-ci/cli)
24
+ [![ci](https://github.com/relative-ci/agent/actions/workflows/ci.yml/badge.svg)](https://github.com/relative-ci/agent/actions/workflows/ci.yml)
25
+ [![CodeQL](https://github.com/relative-ci/agent/actions/workflows/codeql.yml/badge.svg)](https://github.com/relative-ci/agent/actions/workflows/codeql.yml)
26
+
27
+ To get started, follow [RelativeCI Setup guide for CLI](https://relative-ci.com/documentation/setup/agent/cli?utm_source=github&utm_medium=agent).
28
+
29
+ ## Other agents
30
+
31
+ - [GitHub action](https://github.com/relative-ci/cli-action)
32
+ - [CircleCI orbit (soon)](https://github.com/relative-ci/roadmap/issues/46)
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var plugin = require('./plugin.js');
4
+
5
+
6
+
7
+ module.exports = plugin.relativeCiAgent;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,79 @@
1
+ 'use strict';
2
+
3
+ var _ = require('lodash');
4
+ var extractStats = require('rollup-plugin-stats/extract');
5
+ var transform = require('rollup-plugin-webpack-stats/transform');
6
+ var core = require('@relative-ci/core');
7
+ var loadEnv = require('@relative-ci/core/env');
8
+ var ingest = require('@relative-ci/core/ingest');
9
+
10
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ var ___default = /*#__PURE__*/_interopDefault(_);
13
+ var extractStats__default = /*#__PURE__*/_interopDefault(extractStats);
14
+ var loadEnv__default = /*#__PURE__*/_interopDefault(loadEnv);
15
+ var ingest__default = /*#__PURE__*/_interopDefault(ingest);
16
+
17
+ const PLUGIN_NAME = 'RelativeCiAgent';
18
+ const DEFAULT_OPTIONS = {
19
+ enabled: loadEnv.isCi(),
20
+ failOnError: false,
21
+ includeCommitMessage: true,
22
+ payloadFilepath: undefined,
23
+ compress: false,
24
+ stats: {
25
+ assets: true,
26
+ chunks: true,
27
+ modules: true,
28
+ },
29
+ };
30
+ const relativeCiAgent = (userOptions = {}) => ({
31
+ name: PLUGIN_NAME,
32
+ async generateBundle(__, bundle) {
33
+ const options = ___default.default.merge({}, DEFAULT_OPTIONS, userOptions);
34
+ core.debug(options);
35
+ const { enabled, failOnError, includeCommitMessage, stats: statsOptions, ...agentOptions } = options;
36
+ // Skip if not enabled
37
+ if (!enabled) {
38
+ core.debug(`${PLUGIN_NAME} is disabled, skip sending data`);
39
+ return;
40
+ }
41
+ const logger = {
42
+ log: console.log, // eslint-disable-line no-console
43
+ info: this.info,
44
+ warn: this.warn,
45
+ error: this.error,
46
+ debug: this.debug,
47
+ };
48
+ // 1. Extract bundle stats from rollup/vite/rolldown
49
+ const { moduleOriginalSize, transform: transform$1, ...extractStatsOptions } = statsOptions;
50
+ const bundleStats = extractStats__default.default(bundle, {
51
+ source: true, // extract stats source to calculate module size
52
+ ...extractStatsOptions,
53
+ });
54
+ // 2. Transform bundle stats to supported format
55
+ const bundleWebpackStats = transform.bundleToWebpackStats(bundleStats, { moduleOriginalSize, transform: transform$1 });
56
+ // 3. Ingest data
57
+ // catch error to prevent process failure on error
58
+ try {
59
+ core.validateWebpackStats(bundleWebpackStats);
60
+ const envParams = await loadEnv__default.default({ agentType: 'rollup-plugin' }, { includeCommitMessage }, logger);
61
+ const artifactsData = core.filterArtifacts([
62
+ { key: core.SOURCE_WEBPACK_STATS, data: bundleWebpackStats },
63
+ ]);
64
+ const response = await ingest__default.default(artifactsData, envParams, agentOptions, logger);
65
+ core.logResponse(response);
66
+ }
67
+ catch (pluginError) {
68
+ const error = pluginError instanceof Error ? pluginError : String(pluginError);
69
+ if (failOnError) {
70
+ this.error(error);
71
+ return;
72
+ }
73
+ this.warn(error);
74
+ }
75
+ },
76
+ });
77
+
78
+ exports.relativeCiAgent = relativeCiAgent;
79
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sources":["../../../src/plugin.ts"],"sourcesContent":[null],"names":["isCi","_","debug","transform","extractStats","bundleToWebpackStats","validateWebpackStats","loadEnv","filterArtifacts","SOURCE_WEBPACK_STATS","ingest","logResponse"],"mappings":";;;;;;;;;;;;;;;;AAoBA,MAAM,WAAW,GAAG,iBAAiB;AAoBrC,MAAM,eAAe,GAAG;IACtB,OAAO,EAAEA,YAAI,EAAE;AACf,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,KAAK,EAAE;AACL,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,OAAO,EAAE,IAAI;AACd,KAAA;CACF;AAEM,MAAM,eAAe,GAAG,CAAC,cAAsC,EAAE,MAAc;AACpF,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,MAAM,cAAc,CAAC,EAAE,EAAE,MAAM,EAAA;AAC7B,QAAA,MAAM,OAAO,GAAGC,kBAAC,CAAC,KAAK,CAAC,EAAE,EAAE,eAAe,EAAE,WAAW,CAA2B;QAEnFC,UAAK,CAAC,OAAO,CAAC;AAEd,QAAA,MAAM,EACJ,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,KAAK,EAAE,YAAY,EACnB,GAAG,YAAY,EAChB,GAAG,OAAO;;QAGX,IAAI,CAAC,OAAO,EAAE;AACZ,YAAAA,UAAK,CAAC,CAAA,EAAG,WAAW,CAAA,+BAAA,CAAiC,CAAC;YACtD;QACF;AAEA,QAAA,MAAM,MAAM,GAAW;AACrB,YAAA,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB;;QAGD,MAAM,EAAE,kBAAkB,aAAEC,WAAS,EAAE,GAAG,mBAAmB,EAAE,GAAG,YAAY;AAE9E,QAAA,MAAM,WAAW,GAAGC,6BAAY,CAAC,MAAM,EAAE;YACvC,MAAM,EAAE,IAAI;AACZ,YAAA,GAAG,mBAAmB;AACvB,SAAA,CAAC;;AAGF,QAAA,MAAM,kBAAkB,GAAGC,8BAAoB,CAAC,WAAW,EAAE,EAAE,kBAAkB,aAAEF,WAAS,EAAE,CAAC;;;AAI/F,QAAA,IAAI;YACFG,yBAAoB,CAAC,kBAAkB,CAAC;AAExC,YAAA,MAAM,SAAS,GAAG,MAAMC,wBAAO,CAC7B,EAAE,SAAS,EAAE,eAAe,EAAE,EAC9B,EAAE,oBAAoB,EAAE,EACxB,MAAM,CACP;YACD,MAAM,aAAa,GAAGC,oBAAe,CAAC;AACpC,gBAAA,EAAE,GAAG,EAAEC,yBAAoB,EAAE,IAAI,EAAE,kBAAkB,EAAE;AACxD,aAAA,CAAC;AACF,YAAA,MAAM,QAAQ,GAAG,MAAMC,uBAAM,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;YAE7EC,gBAAW,CAAC,QAAQ,CAAC;QACvB;QAAE,OAAO,WAAoB,EAAE;AAC7B,YAAA,MAAM,KAAK,GAAG,WAAW,YAAY,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YAE9E,IAAI,WAAW,EAAE;AACf,gBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBACjB;YACF;AAEA,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAClB;IACF,CAAC;AACF,CAAA;;;;"}
@@ -0,0 +1,6 @@
1
+ import { relativeCiAgent } from './plugin.js';
2
+
3
+
4
+
5
+ export { relativeCiAgent as default };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,70 @@
1
+ import _ from 'lodash';
2
+ import extractStats from 'rollup-plugin-stats/extract';
3
+ import { bundleToWebpackStats } from 'rollup-plugin-webpack-stats/transform';
4
+ import { debug, validateWebpackStats, filterArtifacts, SOURCE_WEBPACK_STATS, logResponse } from '@relative-ci/core';
5
+ import loadEnv, { isCi } from '@relative-ci/core/env';
6
+ import ingest from '@relative-ci/core/ingest';
7
+
8
+ const PLUGIN_NAME = 'RelativeCiAgent';
9
+ const DEFAULT_OPTIONS = {
10
+ enabled: isCi(),
11
+ failOnError: false,
12
+ includeCommitMessage: true,
13
+ payloadFilepath: undefined,
14
+ compress: false,
15
+ stats: {
16
+ assets: true,
17
+ chunks: true,
18
+ modules: true,
19
+ },
20
+ };
21
+ const relativeCiAgent = (userOptions = {}) => ({
22
+ name: PLUGIN_NAME,
23
+ async generateBundle(__, bundle) {
24
+ const options = _.merge({}, DEFAULT_OPTIONS, userOptions);
25
+ debug(options);
26
+ const { enabled, failOnError, includeCommitMessage, stats: statsOptions, ...agentOptions } = options;
27
+ // Skip if not enabled
28
+ if (!enabled) {
29
+ debug(`${PLUGIN_NAME} is disabled, skip sending data`);
30
+ return;
31
+ }
32
+ const logger = {
33
+ log: console.log, // eslint-disable-line no-console
34
+ info: this.info,
35
+ warn: this.warn,
36
+ error: this.error,
37
+ debug: this.debug,
38
+ };
39
+ // 1. Extract bundle stats from rollup/vite/rolldown
40
+ const { moduleOriginalSize, transform, ...extractStatsOptions } = statsOptions;
41
+ const bundleStats = extractStats(bundle, {
42
+ source: true, // extract stats source to calculate module size
43
+ ...extractStatsOptions,
44
+ });
45
+ // 2. Transform bundle stats to supported format
46
+ const bundleWebpackStats = bundleToWebpackStats(bundleStats, { moduleOriginalSize, transform });
47
+ // 3. Ingest data
48
+ // catch error to prevent process failure on error
49
+ try {
50
+ validateWebpackStats(bundleWebpackStats);
51
+ const envParams = await loadEnv({ agentType: 'rollup-plugin' }, { includeCommitMessage }, logger);
52
+ const artifactsData = filterArtifacts([
53
+ { key: SOURCE_WEBPACK_STATS, data: bundleWebpackStats },
54
+ ]);
55
+ const response = await ingest(artifactsData, envParams, agentOptions, logger);
56
+ logResponse(response);
57
+ }
58
+ catch (pluginError) {
59
+ const error = pluginError instanceof Error ? pluginError : String(pluginError);
60
+ if (failOnError) {
61
+ this.error(error);
62
+ return;
63
+ }
64
+ this.warn(error);
65
+ }
66
+ },
67
+ });
68
+
69
+ export { relativeCiAgent };
70
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sources":["../../../src/plugin.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAoBA,MAAM,WAAW,GAAG,iBAAiB;AAoBrC,MAAM,eAAe,GAAG;IACtB,OAAO,EAAE,IAAI,EAAE;AACf,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,KAAK,EAAE;AACL,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,OAAO,EAAE,IAAI;AACd,KAAA;CACF;AAEM,MAAM,eAAe,GAAG,CAAC,cAAsC,EAAE,MAAc;AACpF,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,MAAM,cAAc,CAAC,EAAE,EAAE,MAAM,EAAA;AAC7B,QAAA,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,eAAe,EAAE,WAAW,CAA2B;QAEnF,KAAK,CAAC,OAAO,CAAC;AAEd,QAAA,MAAM,EACJ,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,KAAK,EAAE,YAAY,EACnB,GAAG,YAAY,EAChB,GAAG,OAAO;;QAGX,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,KAAK,CAAC,CAAA,EAAG,WAAW,CAAA,+BAAA,CAAiC,CAAC;YACtD;QACF;AAEA,QAAA,MAAM,MAAM,GAAW;AACrB,YAAA,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB;;QAGD,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG,mBAAmB,EAAE,GAAG,YAAY;AAE9E,QAAA,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE;YACvC,MAAM,EAAE,IAAI;AACZ,YAAA,GAAG,mBAAmB;AACvB,SAAA,CAAC;;AAGF,QAAA,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC;;;AAI/F,QAAA,IAAI;YACF,oBAAoB,CAAC,kBAAkB,CAAC;AAExC,YAAA,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,EAAE,SAAS,EAAE,eAAe,EAAE,EAC9B,EAAE,oBAAoB,EAAE,EACxB,MAAM,CACP;YACD,MAAM,aAAa,GAAG,eAAe,CAAC;AACpC,gBAAA,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,kBAAkB,EAAE;AACxD,aAAA,CAAC;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;YAE7E,WAAW,CAAC,QAAQ,CAAC;QACvB;QAAE,OAAO,WAAoB,EAAE;AAC7B,YAAA,MAAM,KAAK,GAAG,WAAW,YAAY,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YAE9E,IAAI,WAAW,EAAE;AACf,gBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBACjB;YACF;AAEA,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAClB;IACF,CAAC;AACF,CAAA;;;;"}
@@ -0,0 +1,2 @@
1
+ import { relativeCiAgent } from './plugin';
2
+ export default relativeCiAgent;
@@ -0,0 +1,23 @@
1
+ import { type StatsOptions } from 'rollup-plugin-stats/extract';
2
+ import type { BundleTransformOptions } from 'rollup-plugin-webpack-stats/transform';
3
+ import { type PluginConfig } from '@relative-ci/core';
4
+ import type { Plugin } from './types';
5
+ type RelativeCiAgentOptions = {
6
+ /**
7
+ * Plugin is enabled - sends data to RelativeCI
8
+ * @default env-ci isCi value
9
+ */
10
+ enabled?: boolean;
11
+ /**
12
+ * Throw error when validation or ingestion fails
13
+ * @default {false}
14
+ */
15
+ failOnError?: boolean;
16
+ /**
17
+ * Rollup/Vite/Rolldown stats options
18
+ * @default assets, chunks, modules
19
+ */
20
+ stats?: Omit<StatsOptions, 'source'> & BundleTransformOptions;
21
+ } & PluginConfig;
22
+ export declare const relativeCiAgent: (userOptions?: RelativeCiAgentOptions) => Plugin;
23
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { OutputOptions as RollupOutputOptions, Plugin as RollupPlugin } from 'rollup';
2
+ import type { Plugin as VitePlugin } from 'vite';
3
+ export type Plugin = VitePlugin & RollupPlugin;
4
+ export type OutputOptions = RollupOutputOptions;
package/package.json ADDED
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "@relative-ci/rollup-plugin",
3
+ "version": "5.3.0-alpha.0",
4
+ "description": "Rollup/Vite/Rolldown plugin that sends bundle stats and CI build information to RelativeCI",
5
+ "keywords": [
6
+ "rollup",
7
+ "rollup-plugin",
8
+ "vite",
9
+ "vite-plugin",
10
+ "rolldown",
11
+ "rolldown-plugin",
12
+ "bundle-size",
13
+ "bundle-analyzer",
14
+ "bundle-stats",
15
+ "stats",
16
+ "bundle",
17
+ "size",
18
+ "assets",
19
+ "chunks",
20
+ "modules"
21
+ ],
22
+ "repository": "https://github.com/relative-ci/agent",
23
+ "bugs": {
24
+ "url": "https://github.com/relative-ci/agent/issues"
25
+ },
26
+ "homepage": "https://relative-ci.com/documentation/setup/agent/webpack-plugin",
27
+ "license": "MIT",
28
+ "author": {
29
+ "name": "Viorel Cojocaru",
30
+ "email": "vio@relative-ci.com",
31
+ "url": "https://relative-ci.com"
32
+ },
33
+ "engines": {
34
+ "node": ">= 18.0.0"
35
+ },
36
+ "main": "./lib/cjs/index.js",
37
+ "module": "./lib/esm/index.js",
38
+ "types": "./lib/types/index.d.ts",
39
+ "scripts": {
40
+ "build": "npm run clean && tsc && rollup -c && npm run build-type",
41
+ "build-type": "echo '{\"type\":\"commonjs\"}' > lib/cjs/package.json && echo '{\"type\":\"module\"}' > lib/esm/package.json",
42
+ "clean": "rimraf ./lib",
43
+ "clean-deps": "rimraf ./test/webpack/*/node_modules ./node_modules",
44
+ "lint": "eslint .",
45
+ "test": "vitest src --passWithNoTests --run"
46
+ },
47
+ "devDependencies": {
48
+ "@rollup/plugin-commonjs": "29.0.0",
49
+ "@rollup/plugin-node-resolve": "16.0.3",
50
+ "@rollup/plugin-replace": "6.0.3",
51
+ "@rollup/plugin-typescript": "12.3.0",
52
+ "@tsconfig/node18": "^18.2.4",
53
+ "@types/lodash": "4.17.21",
54
+ "memory-fs": "0.5.0",
55
+ "rimraf": "6.1.2",
56
+ "rollup": "4.54.0",
57
+ "rollup-plugin-node-externals": "8.1.2",
58
+ "typescript": "5.9.3",
59
+ "vite": "7.3.0",
60
+ "vitest": "4.0.16"
61
+ },
62
+ "dependencies": {
63
+ "@relative-ci/core": "5.3.0-alpha.0",
64
+ "lodash": "4.17.23",
65
+ "rollup-plugin-stats": "1.5.6",
66
+ "rollup-plugin-webpack-stats": "2.1.11"
67
+ },
68
+ "peerDependencies": {
69
+ "rolldown": "^1.0.0-beta.0",
70
+ "rollup": "^3.0.0 || ^4.0.0",
71
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
72
+ },
73
+ "peerDependenciesMeta": {
74
+ "rolldown": {
75
+ "optional": true
76
+ },
77
+ "rollup": {
78
+ "optional": true
79
+ },
80
+ "vite": {
81
+ "optional": true
82
+ }
83
+ }
84
+ }
package/typings.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export {}; // make the file a module, to get rid of the warning
2
+
3
+ declare global {
4
+ const AGENT_VERSION: string;
5
+ }
6
+