Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
bfb46c1
Update README.md
ViktarStarastsenka Sep 12, 2024
2dd7f80
Bugfix/be/release 2.68.0 (#4441) (#4447)
Mar 26, 2025
1ae7ec2
Updating main after the 2.66.0 release (#4445)
Mar 26, 2025
8ed768d
Bump @babel/runtime from 7.26.0 to 7.27.0
dependabot[bot] Mar 26, 2025
5c5cdca
RI-6905: hide db controls begind three dots button (#4439)
dantovska Mar 26, 2025
67b00af
RI-6910: hide cloud ads (#4421)
seth-riedel Mar 26, 2025
24c25b5
Bump tar-fs from 2.1.1 to 2.1.2 in /redisinsight
dependabot[bot] Mar 28, 2025
38d20f0
RI-6968: Send the number of keys in the Viewed Browser Page event (#4…
seth-riedel Mar 31, 2025
802f3af
fix failing cloudAds unit tests (#4464)
KrumTy Apr 1, 2025
6c25aab
RI-6945: DEV: Prerequisites (#4466)
pawelangelow Apr 2, 2025
b18191f
Merge branch 'main' into release/2.68.0
Apr 2, 2025
1cdd4cb
Merge pull request #4470 from RedisInsight/release/2.68.0
Apr 3, 2025
e37f30f
RI-7026: Add JSON key -> Create free db dialog (#4473)
dantovska Apr 3, 2025
5efed74
RI-6910: Enterprise build (#4472)
seth-riedel Apr 4, 2025
04583ba
RI-6384: add tags for databases (API+UI) (#4419)
KrumTy Apr 7, 2025
24caa36
RI-6952: Change length label to top-level values for ReJSONs (#4469)
pawelangelow Apr 7, 2025
edbae8d
RI-6966: fix explain visualisation error
pd-redis Apr 9, 2025
0ed93e0
RI-6878: Sanitize ssh tunnel error messages (#4485)
dantovska Apr 9, 2025
6622d91
RI-6384: fix tags crash in build (#4489)
KrumTy Apr 9, 2025
2034de3
Merge pull request #3821 from RedisInsight/ViktarStarastsenka-patch-5
Apr 10, 2025
3167f37
RI-6700: disable auto updates for enterprise builds (#4487)
KrumTy Apr 10, 2025
05314a5
Feature/ri 6756 upgrade nest and class transformer (#4402)
ArtemHoruzhenko Apr 14, 2025
9afd768
RI-6951: Confirm ReJSON key override (#4483)
pawelangelow Apr 15, 2025
c86eafe
RI-6910: fix cloud ads build env (#4497)
KrumTy Apr 15, 2025
8892d00
if add key panel is closed by clicking cancel, do not pass the key na…
dantovska Apr 16, 2025
db36cea
RI-6865: copilot multiline input
pd-redis Apr 16, 2025
fe7b8af
RI-6945: Introduce Monaco editor for editing ReJSONs (#4467)
pawelangelow Apr 16, 2025
87e6558
RI-6384: limit tag's key and value lengths (#4499)
KrumTy Apr 16, 2025
6405c6b
RI-7034: disable db tags management based on config (#4502)
KrumTy Apr 16, 2025
247c4d1
RI-6384: add unique tag validation errors (#4504)
KrumTy Apr 16, 2025
894e879
RI-6964: Add link to Redis Insight desktop (#4490)
dantovska Apr 17, 2025
293cd8f
Dev: Apply eslint & prettier suggestions (#4500)
pawelangelow Apr 17, 2025
8ea36af
RI-6904: show/hide databases list columns (#4457)
dantovska Apr 22, 2025
8fa27c5
RI-6756 bump api prod deps (#4505)
ArtemHoruzhenko Apr 22, 2025
7bb1863
Update CODEOWNERS (#4512)
Apr 22, 2025
90a09f5
RI-6756 fix deps (#4513)
ArtemHoruzhenko Apr 22, 2025
8f92fb8
RI-7076: Use legacy ReJSON path (#4514)
pawelangelow Apr 23, 2025
52d274b
RI-6992: fix databases list sorting and filtering issue (#4516)
KrumTy Apr 23, 2025
a8d2573
RI-6756 fix express 5 static routing (#4519)
ArtemHoruzhenko Apr 24, 2025
8dd78f4
RI-6384: import tags from Redis Software cluster dbs (#4515)
KrumTy Apr 24, 2025
6734ffd
RI-6945: Reset editor to default every time a ReJSON is open (#4522)
pawelangelow Apr 25, 2025
24c250e
RI-7004: outside click detector (#4520)
pd-redis Apr 28, 2025
e13f8fd
Merge pull request #4456 from RedisInsight/dependabot/npm_and_yarn/re…
Apr 28, 2025
2c89ce9
Merge pull request #4450 from RedisInsight/dependabot/npm_and_yarn/ba…
Apr 28, 2025
b9d7b1e
RI-7112 Password can not be empty if it has had a string in the field…
Apr 28, 2025
c788bcd
Merge pull request #4526 from RedisInsight/be/bugfix/RI-7112-Password…
Apr 28, 2025
b72b182
RI-7002: list components
pd-redis Apr 29, 2025
6098063
DEV: Fix lockfile (#4528)
pawelangelow Apr 29, 2025
a3e1906
RI-7020 add new build type in telemetry (#4523)
ArtemHoruzhenko Apr 29, 2025
ede5ed1
RI-6950: Fetch whole json when Monaco editor is selected (#4527)
pawelangelow Apr 29, 2025
8a700ff
Bump formidable from 3.5.1 to 3.5.4 in /tests/e2e (#4531)
dependabot[bot] Apr 30, 2025
bc6059f
RI-6921: Don't fetch raw JSONs when their length is above threshold (…
pawelangelow Apr 30, 2025
7b241ec
Bump vite from 6.3.2 to 6.3.4 in /redisinsight/ui/src/packages (#4533)
dependabot[bot] May 2, 2025
f0b8208
RI-7015: Enable ChangeEditorTypeButton on envDependent flag (#4529)
pawelangelow May 2, 2025
b2d5b6e
Bump vite from 5.4.18 to 5.4.19 (#4535)
dependabot[bot] May 2, 2025
f3aa992
Update README.md
ViktarStarastsenka May 2, 2025
ede978a
Merge pull request #4536 from RedisInsight/ViktarStarastsenka-patch-5
ViktarStarastsenka May 2, 2025
36f811d
add additional info to getRedisNodeGeneralInfo
pd-redis May 5, 2025
70fb469
refactor calls to api in instances.ts, add instancesService.ts, add i…
pd-redis May 5, 2025
c78474d
updated tests
pd-redis May 5, 2025
ba483e4
fix double onClick handling
pd-redis May 5, 2025
3817486
RI-7081: database connection failed is sent multiple times
pd-redis May 7, 2025
ef336cd
RI-7001: replace horizontal rule (#4517)
dantovska May 8, 2025
47d631d
RI-7005: page and page body
pd-redis May 9, 2025
07e2fb0
RI-7094: Recalculate provider on db connect (#4542)
dantovska May 9, 2025
b3b1657
RI-6998: flex components
pd-redis May 12, 2025
2e7e920
Feature/ri 6205 enhance logs (#4521)
ArtemHoruzhenko May 12, 2025
f4f8447
fix import path for layout LoadingContent component (#4545)
KrumTy May 13, 2025
ebe125a
RI-6690
May 13, 2025
15f8278
Merge pull request #4547 from RedisInsight/main
May 13, 2025
2d9ffee
RI-6690 testing debian updates
May 14, 2025
6ca4629
Merge branch 'RI-6690-testing-debian-updates' of https://github.com/R…
May 14, 2025
5dd21f2
remove unneded fragment and add missing flex grow property so columns…
dantovska May 14, 2025
42c816e
Save and load theme using settings api (#4433)
yashschandra May 14, 2025
7b11b98
RI-6690 - added update handler to try and fix the flow
May 14, 2025
6e597db
RI-6690
May 14, 2025
03dc5a1
RI-6690
May 14, 2025
1d199d8
RI-6690
May 14, 2025
5e29a9e
RI-6690
May 14, 2025
48e4f0c
fix: electron build app type check (#4550)
KrumTy May 14, 2025
d4e3ef8
RI-6690 - symlink approach
May 14, 2025
02c6578
RI-6690 sandbox issue
May 14, 2025
4478824
remove unneded fragment and add missing flex grow property so columns…
dantovska May 14, 2025
6ee5940
RI-6690 - testing bash script wrapper for handling spaces
May 14, 2025
da71606
RI-6690 added tracing
May 14, 2025
d30e405
RI-6690 improved logging
May 14, 2025
23ee64d
RI-7115: change enterprise build version prefix (#4551)
KrumTy May 14, 2025
66b1712
RI-6690
May 14, 2025
cc10716
Merge branch 'main' of https://github.com/RedisInsight/RedisInsight i…
May 14, 2025
3780337
RI-6690
May 14, 2025
dd2590b
RI-6690
May 14, 2025
dc0d59c
RI-6690
May 14, 2025
0083659
RI-6690
May 14, 2025
48c2ab8
RI-6690 simpler script
May 14, 2025
c0cb041
RI-6690 even simpler script
May 14, 2025
2a8e924
RI-6690 alternative spot for the launcher
May 14, 2025
459b72b
RI-6953: Send telemetry events for ReJSON used editor (#4537)
pawelangelow May 14, 2025
b4f88c8
RI-6690 trying alternative approach to scripting - back to the basics
May 14, 2025
f399c9e
RI-6690 trying fallback + timeout
May 14, 2025
6d91057
RI-6690 brute forcing with sudo
May 14, 2025
3e7390e
RI-6690 alternative skipping logic for the after install script, test…
May 15, 2025
eab2f40
RI-6690 - version bump test
May 15, 2025
da2f541
RI-6690 splitting the script into different scenarios
May 15, 2025
c724728
RI-6690 testing different script approach
May 15, 2025
d44b1f4
RI-6690 version bump for testing
May 15, 2025
ae03bd5
RI-6690 executible fix
May 15, 2025
816d001
RI-6690 - auto update testing
May 15, 2025
bef26b0
RI-6690 reverted back to the proper version
May 15, 2025
cc7e8d4
RI-6690 reverted back to the proper version
May 15, 2025
b65574d
Merge pull request #4554 from RedisInsight/RI-6690-testing-debian-upd…
May 15, 2025
58177c7
add "Enforce Branch Name Rules" workflow (#4553)
KrumTy May 16, 2025
4aca70a
RI-7129: fix Enterprise s3 upload path
KrumTy May 19, 2025
84c25c2
RI-7129: upload Enterprise statics for test builds only
KrumTy May 19, 2025
285c913
RI-7129: remove vendor plugins for Enterprise builds
KrumTy May 19, 2025
af05519
version bump
KIvanow May 19, 2025
497b2e5
Merge pull request #4559 from RedisInsight/RI-0000---version-bump
May 19, 2025
d3a1fc3
Merge pull request #4560 from RedisInsight/bugfix/RI-7129/enterprise-…
May 19, 2025
21148bf
RI-7138: fix suggested tag values (#4565)
KrumTy May 20, 2025
b298468
RI-7139: Fix json editor styles (#4566)
pawelangelow May 20, 2025
03dbc0f
RI-7137: Support Big integers in Monaco editor (#4563)
pawelangelow May 20, 2025
643edea
Merge branch 'release/2.70.0' into fe/feature/RI-7106-additiona-data-…
pd-redis May 22, 2025
e7a6eb5
fix InstancePage.spec.tsx
pd-redis May 22, 2025
ab41382
fix database-info.provider.spec.ts
pd-redis May 23, 2025
17298ba
added RedisDatabaseStatsDto
pd-redis May 23, 2025
75e59ac
Merge pull request #4539 from RedisInsight/fe/feature/RI-7106-additio…
May 23, 2025
6257a35
RI-7141 add db number to env
ArtemHoruzhenko May 27, 2025
3100e73
RI-7145 fix db id undefined state
ArtemHoruzhenko May 27, 2025
9abe1fc
RI-7145 fix /db/info ITests
ArtemHoruzhenko May 27, 2025
820edf7
RI-7145 fix /db/info ITests for cluster
ArtemHoruzhenko May 27, 2025
1690af0
RI-7145 fix /db/info ITests for cluster
ArtemHoruzhenko May 27, 2025
5ac6a67
Merge pull request #4581 from RedisInsight/bugfix/RI-7145-fix-pre-set…
May 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,4 @@ module.exports = {
createDefaultProgram: true,
},
ignorePatterns: ['redisinsight/ui', 'redisinsight/api'],
}
};
4 changes: 1 addition & 3 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
# Add reviewers for the most sensitive folders
/.github/ viktar.starastsenka@redis.com artem.horuzhenko@redis.com kristiyan.ivanov@redis.com pavel.angelov@redis.com petar.dzhambazov@redis.com
/redisinsight/api/config/features-config.json viktar.starastsenka@redis.com artem.horuzhenko@redis.com kristiyan.ivanov@redis.com pavel.angelov@redis.com petar.dzhambazov@redis.com
* krum.tyukenov@redis.com pavel.angelov@redis.com dijana.antovska@redis.com artem.horuzhenko@redis.com petar.dzhambazov@redis.com kristiyan.ivanov@redis.com
8 changes: 1 addition & 7 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,19 @@
---
name: Bug report
about: Create a report to help us improve
title: "[Bug]:"
title: '[Bug]:'
labels: bug
assignees: ''

---

**Preconditions** (Any important steps we need to know)


**Steps to reproduce** (How to reproduce what you found step by step)


**Actual behavior** (A short description of what you found)


**Expected behavior** (A short description of what you expected to find)


**Screenshots** (Paste or drag-and-drop a screenshot or a link to a recording)


**Additional context** (Operating system, version of Redis Insight, Redis database version, Redis module version, database type, connection type, logs, or any other information)
6 changes: 1 addition & 5 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
---
name: Feature request
about: Request a feature or submit an idea
title: "[Feature Request]:"
title: '[Feature Request]:'
labels: feature
assignees: ''

---

**Problem description** (Describe the problem you would like to solve with this feature request or suggested idea).


**How often do you encounter this problem** (Describe how frequently this problem occurs).


**Alternatives considered** (Describe any alternative features or products you've considered).


**Additional information** (Add any other context or details here).
1 change: 0 additions & 1 deletion .github/actions/deploy-test-reports/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ inputs:
runs:
using: 'composite'
steps:

- name: Get current date
id: date
uses: ./.github/actions/get-current-date
Expand Down
13 changes: 6 additions & 7 deletions .github/actions/get-current-date/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,9 @@ outputs:
runs:
using: 'composite'
steps:
- name: Get current date
id: date
shell: bash
run: |
DATE=$(date +'%Y-%m-%d')
echo "date=$DATE" >> $GITHUB_OUTPUT

- name: Get current date
id: date
shell: bash
run: |
DATE=$(date +'%Y-%m-%d')
echo "date=$DATE" >> $GITHUB_OUTPUT
6 changes: 3 additions & 3 deletions .github/actions/install-all-build-libs/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@ name: Install all libraries action
description: Install all libraries and dependencies
inputs:
skip-electron-deps:
description: Skip install electron dependencies
description: Skip install electron dependencies
default: '0'
required: false

skip-backend-deps:
description: Skip install backend dependencies
description: Skip install backend dependencies
default: '0'
required: false

skip-postinstall:
description: Skip postinstall
description: Skip postinstall
default: '0'
required: false

Expand Down
1 change: 0 additions & 1 deletion .github/actions/install-apple-certs/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,3 @@ runs:
security import certs/mac-installer.p12 -k $KEYCHAIN -P "$CSC_MAC_INSTALLER_PASSWORD" -T /usr/bin/codesign -T /usr/bin/productbuild
security set-key-partition-list -S apple-tool:,apple: -s -k mysecretpassword $KEYCHAIN
security list-keychain -d user -s $KEYCHAIN

33 changes: 16 additions & 17 deletions .github/actions/remove-artifacts/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,20 @@ name: Remove all artifacts
runs:
using: 'composite'
steps:
- name: Merge artifacts by pattern
id: merge-artifacts
uses: actions/upload-artifact/merge@v4
with:
name: remove-artifacts
pattern: '*'
delete-merged: true

- name: Delete merged artifact
uses: actions/github-script@v7
with:
script: |
github.rest.actions.deleteArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: ${{ steps.merge-artifacts.outputs.artifact-id }}
});
- name: Merge artifacts by pattern
id: merge-artifacts
uses: actions/upload-artifact/merge@v4
with:
name: remove-artifacts
pattern: '*'
delete-merged: true

- name: Delete merged artifact
uses: actions/github-script@v7
with:
script: |
github.rest.actions.deleteArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: ${{ steps.merge-artifacts.outputs.artifact-id }}
});
3 changes: 3 additions & 0 deletions .github/build/build_modules.sh
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@ APP_PACKAGE_JSON_PATH="./redisinsight/package.json"
# Extract dependencies from the app package.json
BINARY_PACKAGES=$(jq -r '.dependencies | keys[]' "$APP_PACKAGE_JSON_PATH" | jq -R -s -c 'split("\n")[:-1]')

# Keep class transformer external for minified builds since it is not bundled
BINARY_PACKAGES=$(echo "$BINARY_PACKAGES" | jq '. + ["class-transformer"]')

echo "Binary packages to exclude during minify: $BINARY_PACKAGES"

# Modify the package.json to keep only binary prod dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/build/release-docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
set -e

HELP="Args:
-v - Semver (2.66.0)
-v - Semver (2.70.0)
-d - Build image repository (Ex: -d redisinsight)
-r - Target repository (Ex: -r redis/redisinsight)
"
Expand Down
36 changes: 20 additions & 16 deletions .github/deps-audit-report.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
const fs = require('fs');
const { exec } = require("child_process");
const { exec } = require('child_process');

const FILENAME = process.env.FILENAME;
const DEPS = process.env.DEPS || '';
const file = `${FILENAME}`;
const outputFile = `slack.${FILENAME}`;

function generateSlackMessage (summary) {
function generateSlackMessage(summary) {
const message = {
text: `DEPS AUDIT: *${DEPS}* result (Branch: *${process.env.GITHUB_REF_NAME}*)` +
text:
`DEPS AUDIT: *${DEPS}* result (Branch: *${process.env.GITHUB_REF_NAME}*)` +
`\nScanned ${summary.totalDependencies} dependencies` +
`\n<https://github.com/RedisInsight/RedisInsight/actions/runs/${process.env.GITHUB_RUN_ID}|View on Github Actions>`,
attachments: [],
Expand Down Expand Up @@ -50,12 +51,10 @@ function generateSlackMessage (summary) {
});
}
} else {
message.attachments.push(
{
title: 'No vulnerabilities found',
color: 'good'
}
);
message.attachments.push({
title: 'No vulnerabilities found',
color: 'good',
});
}

return message;
Expand All @@ -68,16 +67,21 @@ async function main() {
return reject(error);
}
resolve(stdout);
})
})
});
});

const { data: summary } = JSON.parse(`${lastAuditLine}`);
const vulnerabilities = summary?.vulnerabilities || {};
summary.totalVulnerabilities = Object.values(vulnerabilities).reduce((totalVulnerabilities, val) => totalVulnerabilities + val)
fs.writeFileSync(outputFile, JSON.stringify({
channel: process.env.SLACK_AUDIT_REPORT_CHANNEL,
...generateSlackMessage(summary),
}));
summary.totalVulnerabilities = Object.values(vulnerabilities).reduce(
(totalVulnerabilities, val) => totalVulnerabilities + val,
);
fs.writeFileSync(
outputFile,
JSON.stringify({
channel: process.env.SLACK_AUDIT_REPORT_CHANNEL,
...generateSlackMessage(summary),
}),
);
}

main();
73 changes: 48 additions & 25 deletions .github/deps-licenses-report.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ const summaryFilePath = `./${licenseFolderName}/summary.csv`;
const allData = [];
let csvFiles = [];


// Main function
async function main() {
const folderPath = './';
Expand All @@ -29,8 +28,8 @@ async function main() {
try {
await Promise.all(packageJsons.map(runLicenseCheck));
console.log('All csv files was generated');
await generateSummary()
await sendLicensesToGoogleSheet()
await generateSummary();
await sendLicensesToGoogleSheet();
} catch (error) {
console.error('An error occurred:', error);
process.exit(1);
Expand All @@ -43,7 +42,13 @@ main();
function findPackageJsonFiles(folderPath) {
const packageJsonPaths = [];
const packageJsonName = 'package.json';
const excludeFolders = ['dist', 'node_modules', 'static', 'electron', 'redisgraph'];
const excludeFolders = [
'dist',
'node_modules',
'static',
'electron',
'redisgraph',
];

// Recursive function to search for package.json files
function searchForPackageJson(currentPath) {
Expand All @@ -56,7 +61,9 @@ function findPackageJsonFiles(folderPath) {
if (stats.isDirectory() && !excludeFolders.includes(file)) {
searchForPackageJson(filePath);
} else if (file === packageJsonName) {
packageJsonPaths.push(`./${filePath.slice(0, -packageJsonName.length - 1)}`);
packageJsonPaths.push(
`./${filePath.slice(0, -packageJsonName.length - 1)}`,
);
}
}
}
Expand All @@ -72,32 +79,36 @@ async function runLicenseCheck(path) {
const COMMANDS = [
`license-checker --start ${path} --csv --out ./${licenseFolderName}/${name}_prod.csv --production`,
`license-checker --start ${path} --csv --out ./${licenseFolderName}/${name}_dev.csv --development`,
]

return await Promise.all(COMMANDS.map((command) => {
const [cmd, ...args] = command.split(' ');
return new Promise((resolve, reject) => {
execFile(cmd, args, (error, stdout, stderr) => {
if (error) {
console.error(`Failed command: ${command}, error:`, stderr);
reject(error);
}
resolve();
];

return await Promise.all(
COMMANDS.map((command) => {
const [cmd, ...args] = command.split(' ');
return new Promise((resolve, reject) => {
execFile(cmd, args, (error, stdout, stderr) => {
if (error) {
console.error(`Failed command: ${command}, error:`, stderr);
reject(error);
}
resolve();
});
});
});
}));
}),
);
}

async function sendLicensesToGoogleSheet() {
try {
const serviceAccountKey = JSON.parse(fs.readFileSync('./gasKey.json', 'utf-8'));
const serviceAccountKey = JSON.parse(
fs.readFileSync('./gasKey.json', 'utf-8'),
);

// Set up JWT client
const jwtClient = new google.auth.JWT(
serviceAccountKey.client_email,
null,
serviceAccountKey.private_key,
['https://www.googleapis.com/auth/spreadsheets']
['https://www.googleapis.com/auth/spreadsheets'],
);

const sheets = google.sheets('v4');
Expand All @@ -122,7 +133,9 @@ async function sendLicensesToGoogleSheet() {
spreadsheetId,
});

const sheet = response.data.sheets.find((sheet) => sheet.properties.title === sheetName);
const sheet = response.data.sheets.find(
(sheet) => sheet.properties.title === sheetName,
);
if (sheet) {
// Clear contents of the sheet starting from cell A2
await sheets.spreadsheets.values.clear({
Expand All @@ -135,11 +148,18 @@ async function sendLicensesToGoogleSheet() {
await sheets.spreadsheets.batchUpdate({
auth: jwtClient,
spreadsheetId,
resource: set({}, 'requests[0].addSheet.properties.title', sheetName),
resource: set(
{},
'requests[0].addSheet.properties.title',
sheetName,
),
});
}
} catch (error) {
console.error(`Error checking/creating sheet for ${sheetName}:`, error);
console.error(
`Error checking/creating sheet for ${sheetName}:`,
error,
);
}

try {
Expand All @@ -163,7 +183,7 @@ async function sendLicensesToGoogleSheet() {
console.error(`Error inserting data for ${sheetName}:`, err);
}
});
});
});
} catch (error) {
console.error('Error loading service account key:', error);
}
Expand Down Expand Up @@ -236,7 +256,10 @@ const stringifyPromise = (data) => {
};

async function generateSummary() {
csvFiles = fs.readdirSync(licenseFolderName).filter(file => file.endsWith('.csv')).sort();
csvFiles = fs
.readdirSync(licenseFolderName)
.filter((file) => file.endsWith('.csv'))
.sort();

for (const file of csvFiles) {
try {
Expand Down
Loading
Loading