@stack-spot/ai-chat-widget 1.0.0-dev.1768314799914 → 1.0.0-dev.1768324592890

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.
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "@stack-spot/ai-chat-widget",
3
- "version": "1.0.0-dev.1768314799914",
4
- "date": "Tue Jan 13 2026 14:33:24 GMT+0000 (Coordinated Universal Time)",
3
+ "version": "1.0.0-dev.1768324592890",
4
+ "date": "Tue Jan 13 2026 17:16:36 GMT+0000 (Coordinated Universal Time)",
5
5
  "dependencies": [
6
6
  {
7
7
  "name": "@stack-spot/app-metadata",
8
8
  "version": "1.0.1"
9
9
  },
10
+ {
11
+ "name": "@stack-spot/build-tools",
12
+ "version": "1.1.0"
13
+ },
10
14
  {
11
15
  "name": "@types/lodash",
12
16
  "version": "4.17.9"
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@stack-spot/ai-chat-widget",
3
- "version": "1.0.0-dev.1768314799914",
3
+ "version": "1.0.0-dev.1768324592890",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
8
- "build": "node scripts/package-override.js --revert=false && rimraf dist && pnpm generate:metadata && tsc --noEmitOnError && tsc-esm-fix --target='dist' && cpy src/layout.css dist --flat && cpy src/assets/**/*.png dist/assets",
8
+ "build": "pnpm package-override --revert=false && rimraf dist && pnpm generate:metadata && tsc --noEmitOnError && tsc-esm-fix --target='dist' && cpy src/layout.css dist --flat && cpy src/assets/**/*.png dist/assets",
9
9
  "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
10
10
  "generate:metadata": "pnpm app-metadata --lockfile ../../pnpm-lock.yaml --path packages/widget"
11
11
  },
@@ -26,6 +26,7 @@
26
26
  },
27
27
  "devDependencies": {
28
28
  "@stack-spot/app-metadata": "1.0.1",
29
+ "@stack-spot/build-tools": "1.1.0",
29
30
  "@types/lodash": "^4.14.202",
30
31
  "@types/react": "^18.2.37",
31
32
  "@types/react-dom": "^18.2.15",
package/package.stg.json CHANGED
@@ -1,4 +1,3 @@
1
1
  {
2
- "name": "@stack-spot/ai-chat-widget-stg",
3
- "version": "1.0.0-{timestamp}"
2
+ "version": "1.0.0-stg.{timestamp}"
4
3
  }
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "@stack-spot/ai-chat-widget",
3
- "version": "1.0.0-dev.1768314799914",
4
- "date": "Tue Jan 13 2026 14:33:24 GMT+0000 (Coordinated Universal Time)",
3
+ "version": "1.0.0-dev.1768324592890",
4
+ "date": "Tue Jan 13 2026 17:16:36 GMT+0000 (Coordinated Universal Time)",
5
5
  "dependencies": [
6
6
  {
7
7
  "name": "@stack-spot/app-metadata",
8
8
  "version": "1.0.1"
9
9
  },
10
+ {
11
+ "name": "@stack-spot/build-tools",
12
+ "version": "1.1.0"
13
+ },
10
14
  {
11
15
  "name": "@types/lodash",
12
16
  "version": "4.17.9"
@@ -1,105 +0,0 @@
1
- /* eslint-disable no-console */
2
- import { exec } from 'child_process'
3
- import { access, constants, readFile, writeFile } from 'fs/promises'
4
-
5
- const variables = {
6
- timestamp: () => new Date().getTime(),
7
- }
8
-
9
- function merge(a, b) {
10
- if (a === null || typeof a !== 'object') return b
11
- if (Array.isArray(a) && Array.isArray(b)) return [...a, ...b]
12
- const result = { ...a }
13
- for (const key in b) {
14
- if (typeof b === 'object') result[key] = merge(result[key], b[key])
15
- else result[key] = b[key]
16
- }
17
- return result
18
- }
19
-
20
- function replaceVariables(data) {
21
- if (typeof data === 'string') {
22
- return data.replace(/\{([\w_]+)\}/g, (match, varname) => varname in variables ? `${variables[varname]()}` : match)
23
- }
24
- if (Array.isArray(data)) {
25
- return data.map(replaceVariables)
26
- }
27
- if (data && typeof data === 'object') {
28
- const result = {}
29
- for (const key in data) {
30
- result[key] = replaceVariables(data[key])
31
- }
32
- return result
33
- }
34
- return data
35
- }
36
-
37
- async function isEnvValid(env) {
38
- if (!env) return false
39
- try {
40
- await access(`package.${env}.json`, constants.F_OK)
41
- return true
42
- } catch (err) {
43
- console.log(err)
44
- return false
45
- }
46
- }
47
-
48
- async function readPackage(suffix) {
49
- const packageString = await readFile(`package${suffix ? `.${suffix}` : ''}.json`, { encoding: 'utf-8' })
50
- return [JSON.parse(packageString), packageString]
51
- }
52
-
53
- async function getEnv() {
54
- const fromCmd = process.argv.join(' ').match(/--env=(\w+)/)?.[1]
55
- if (fromCmd) return fromCmd.trim()
56
- try {
57
- const fromBranchName = await asyncExec('git rev-parse --abbrev-ref HEAD')
58
- return fromBranchName.trim()
59
- } catch {
60
- return undefined
61
- }
62
- }
63
-
64
- function getShouldRevert() {
65
- return !/--revert=false/.test(process.argv.join(' '))
66
- }
67
-
68
- async function prepare(env) {
69
- const [pckg, originalPckg] = await readPackage()
70
- const [envPckg] = await readPackage(env)
71
- const resultingPackage = replaceVariables(merge(pckg, envPckg))
72
- await writeFile('package.json', JSON.stringify(resultingPackage, null, 2), { encoding: 'utf-8' })
73
- return [originalPckg, resultingPackage]
74
- }
75
-
76
- function asyncExec(cmd, dir) {
77
- return new Promise((resolve, reject) => exec(cmd, { cwd: dir }, (error, stdout, stderr) => {
78
- if (error) reject(`${error.message}\n\n${stdout}\n\n${stderr}`)
79
- else resolve(stdout)
80
- }))
81
- }
82
-
83
- async function revert(packageBackup) {
84
- await writeFile('package.json', packageBackup, { encoding: 'utf-8' })
85
- }
86
-
87
- async function start() {
88
- const env = await getEnv()
89
- if (!(await isEnvValid(env))) {
90
- console.log('No overrides set for environment:', env)
91
- return
92
- }
93
- const shouldRevert = getShouldRevert()
94
- console.log(`Overriding dependencies for ${env}...`)
95
- const [packageBackup] = await prepare(env)
96
- try {
97
- console.log('Installing overridden dependencies...')
98
- await asyncExec('pnpm i')
99
- console.log('Done.')
100
- } finally {
101
- if (shouldRevert) await revert(packageBackup)
102
- }
103
- }
104
-
105
- start()