Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
27e4d6c
Add Python and TypeScript SDKs with workflows, update gitignore and R…
Copilot Mar 30, 2026
f70bf2b
devcontainer: move C# config into .devcontainer/csharp/
Copilot Mar 30, 2026
58e42aa
devcontainer: add Python devcontainer in .devcontainer/python/
Copilot Mar 30, 2026
6ae1e53
devcontainer: add TypeScript devcontainer in .devcontainer/typescript/
Copilot Mar 30, 2026
6f8f829
devcontainer: update README to document the 3 devcontainer configurat…
Copilot Mar 30, 2026
7d16202
ci: add explicit permissions blocks to all new workflows
Copilot Mar 30, 2026
5ee2e1c
remove Python SDK, workflows, devcontainer and related docs
Copilot Apr 1, 2026
5af0db0
refactor: split expressions into individual files, rename to *Express…
Copilot Apr 1, 2026
0c60ab5
refactor: rename compound filters (And/Or/Not drop Expression suffix)…
Copilot Apr 1, 2026
86ebed0
refactor: drop Expression suffix from all IFilter classes, sync file …
Copilot Apr 1, 2026
9ee0d2d
fix: address SonarCloud quality gate issues in TypeScript SDK
Claude Apr 1, 2026
2958f16
refactor: update parser and tests to support new range syntax and imp…
candoumbe Apr 8, 2026
43ef00e
chore: update devcontainer configuration, package dependencies, and a…
candoumbe Apr 8, 2026
a42b6d3
refactor: enhance range parsing and add support for comma-separated A…
candoumbe Apr 9, 2026
f178812
ref(tests): expand assertions and variables
candoumbe Apr 9, 2026
0812318
feat: add FilterLogic and FilterOptions for customizable filter parsing
candoumbe Apr 9, 2026
b377ce6
chore(config): add Jest configuration for TypeScript tests and update…
candoumbe Apr 9, 2026
ef644e5
refactor(docs): update FilterOptions documentation
candoumbe Apr 9, 2026
95a2b80
fix(tests): update FilterOptions tests to use '&'
candoumbe Apr 9, 2026
69542c3
feat(devcontainer): add zsh plugins for enhanced shell functionality
candoumbe Apr 9, 2026
00b8862
feat(editorconfig): add .editconfig
candoumbe Apr 9, 2026
a524959
refactor(typescript): improve expression handling and add support for…
candoumbe Apr 9, 2026
02867f8
feat(filters): add OneOfFilter and enhance FilterBuilder with new con…
candoumbe Apr 11, 2026
9480711
feat(parser): enhance parseAndExpression to support grouped filters a…
candoumbe Apr 11, 2026
a26b222
fix(serializers): add OneOfFilter support in fromDict logic handling
candoumbe Apr 11, 2026
4de4007
feat: replace hand-written parser with Chevrotain-based implementation
Copilot Apr 11, 2026
b18efc7
refactor: rename DataFilterParser to InternalFilterParser for clarity
Copilot Apr 11, 2026
d739891
fix: single-exit in primaryExpr ACTION + add Arrange/Act/Assert to bu…
Copilot Apr 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "DataFilters",
"name": "DataFilters (C#)",
"image": "mcr.microsoft.com/devcontainers/dotnet:10.0",
"features": {
"ghcr.io/devcontainers/features/git:1": {},
Expand Down Expand Up @@ -29,7 +29,7 @@
}
}
},
"postCreateCommand": "./.devcontainer/scripts/post-create.sh",
"postStartCommand": "./.devcontainer/scripts/post-start.sh",
"postCreateCommand": "./.devcontainer/csharp/scripts/post-create.sh",
"postStartCommand": "./.devcontainer/csharp/scripts/post-start.sh",
"remoteUser": "vscode"
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,25 @@

# Helper function for formatted output
log_info() {
echo -e "${BLUE}ℹ️ $1${NC}"

Check warning on line 13 in .devcontainer/csharp/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V7BlZJpE-0qMi72u&open=AZ0-V7BlZJpE-0qMi72u&pullRequest=574
}

log_success() {

Check warning on line 16 in .devcontainer/csharp/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V7BlZJpE-0qMi72v&open=AZ0-V7BlZJpE-0qMi72v&pullRequest=574
echo -e "${GREEN}✅ $1${NC}"

Check warning on line 17 in .devcontainer/csharp/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V7BlZJpE-0qMi72w&open=AZ0-V7BlZJpE-0qMi72w&pullRequest=574
}

log_warning() {

Check warning on line 20 in .devcontainer/csharp/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V7BmZJpE-0qMi72x&open=AZ0-V7BmZJpE-0qMi72x&pullRequest=574
echo -e "${YELLOW}⚠️ $1${NC}"

Check warning on line 21 in .devcontainer/csharp/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V7BmZJpE-0qMi72y&open=AZ0-V7BmZJpE-0qMi72y&pullRequest=574
}

log_error() {

Check warning on line 24 in .devcontainer/csharp/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V7BmZJpE-0qMi72z&open=AZ0-V7BmZJpE-0qMi72z&pullRequest=574
echo -e "${RED}❌ $1${NC}"

Check warning on line 25 in .devcontainer/csharp/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V7BmZJpE-0qMi720&open=AZ0-V7BmZJpE-0qMi720&pullRequest=574
}

# Main configuration section
log_info "=========================================="
log_info "DataFilters DevContainer Post-Create Setup"
log_info "=========================================="
log_info "=============================================="
log_info "DataFilters (C#) DevContainer Post-Create Setup"
log_info "=============================================="

# Update package manager
log_info "Updating package manager..."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,20 @@
NC='\033[0m' # No Color

# Helper function for formatted output
log_info() {

Check warning on line 12 in .devcontainer/csharp/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V6--ZJpE-0qMi72h&open=AZ0-V6--ZJpE-0qMi72h&pullRequest=574
echo -e "${BLUE}ℹ️ $1${NC}"

Check warning on line 13 in .devcontainer/csharp/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V6--ZJpE-0qMi72i&open=AZ0-V6--ZJpE-0qMi72i&pullRequest=574
}

log_success() {

Check warning on line 16 in .devcontainer/csharp/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V6--ZJpE-0qMi72j&open=AZ0-V6--ZJpE-0qMi72j&pullRequest=574
echo -e "${GREEN}✅ $1${NC}"

Check warning on line 17 in .devcontainer/csharp/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V6--ZJpE-0qMi72k&open=AZ0-V6--ZJpE-0qMi72k&pullRequest=574
}

log_warning() {

Check warning on line 20 in .devcontainer/csharp/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V6--ZJpE-0qMi72l&open=AZ0-V6--ZJpE-0qMi72l&pullRequest=574
echo -e "${YELLOW}⚠️ $1${NC}"

Check warning on line 21 in .devcontainer/csharp/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V6--ZJpE-0qMi72m&open=AZ0-V6--ZJpE-0qMi72m&pullRequest=574
}

log_error() {

Check warning on line 24 in .devcontainer/csharp/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V6--ZJpE-0qMi72n&open=AZ0-V6--ZJpE-0qMi72n&pullRequest=574
echo -e "${RED}❌ $1${NC}"

Check warning on line 25 in .devcontainer/csharp/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V6--ZJpE-0qMi72o&open=AZ0-V6--ZJpE-0qMi72o&pullRequest=574
}

# Function to handle installation errors
Expand All @@ -42,14 +42,14 @@
}

# Function to check if command exists
command_exists() {

Check warning on line 45 in .devcontainer/csharp/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V6--ZJpE-0qMi72p&open=AZ0-V6--ZJpE-0qMi72p&pullRequest=574
command -v "$1" >/dev/null 2>&1

Check warning on line 46 in .devcontainer/csharp/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V6--ZJpE-0qMi72q&open=AZ0-V6--ZJpE-0qMi72q&pullRequest=574
}

# Main configuration section
log_info "=========================================="
log_info "DataFilters DevContainer Post-Start Setup"
log_info "=========================================="
log_info "=============================================="
log_info "DataFilters (C#) DevContainer Post-Start Setup"
log_info "=============================================="

# Update package manager
log_info "Updating package manager..."
Expand Down Expand Up @@ -107,7 +107,7 @@
log_success "NuGet packages restored and build completed."

# Check if Squad is already initialized in the workspace
if [ -d ".squad" ]; then

Check failure on line 110 in .devcontainer/csharp/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Use '[[' instead of '[' for conditional tests. The '[[' construct is safer and more feature-rich.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-V6--ZJpE-0qMi72r&open=AZ0-V6--ZJpE-0qMi72r&pullRequest=574
log_success "Squad is already initialized in this workspace."
else
log_info "Squad is not yet initialized."
Expand Down
103 changes: 0 additions & 103 deletions .devcontainer/scripts/README.md

This file was deleted.

42 changes: 42 additions & 0 deletions .devcontainer/typescript/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"name": "DataFilters (TypeScript)",
"image": "mcr.microsoft.com/devcontainers/javascript-node:20",
"features": {
"ghcr.io/devcontainers/features/git:1": {},
"ghcr.io/devcontainers/features/github-cli:1": {},
"ghcr.io/devcontainers/features/copilot-cli": {},
"ghcr.io/nils-geistmann/devcontainers-features/zsh": {
"plugins": "git npm gh git-prompt branch"
},
"ghcr.io/devcontainers-extra/features/jest": {}
},
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"ms-vscode.vscode-typescript-next",
"Orta.vscode-jest",
"editorconfig.editorconfig",
"github.copilot-chat",
"GitHub.vscode-pull-request-github",
"bierner.markdown-mermaid",
"DavidAnson.vscode-markdownlint"
],
"settings": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"ts.preferences.importModuleSpecifier": "relative",
"eslint.workingDirectories": ["src/typescript"],
"jest.jestCommandLine": "npx jest",
"jest.rootPath": "src/typescript",
"dev.containers.dockerPath": "podman"
}
}
},
"postCreateCommand": "zsh ./.devcontainer/typescript/scripts/post-create.sh",
"postStartCommand": "zsh ./.devcontainer/typescript/scripts/post-start.sh"
}
68 changes: 68 additions & 0 deletions .devcontainer/typescript/scripts/post-create.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
#!/bin/bash
set -e

# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

log_info() {

Check warning on line 11 in .devcontainer/typescript/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRc32pYty83esYFa&open=AZ0-WRc32pYty83esYFa&pullRequest=574
echo -e "${BLUE}ℹ️ $1${NC}"

Check warning on line 12 in .devcontainer/typescript/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRc32pYty83esYFb&open=AZ0-WRc32pYty83esYFb&pullRequest=574
}

log_success() {

Check warning on line 15 in .devcontainer/typescript/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRc32pYty83esYFc&open=AZ0-WRc32pYty83esYFc&pullRequest=574
echo -e "${GREEN}✅ $1${NC}"

Check warning on line 16 in .devcontainer/typescript/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRc32pYty83esYFd&open=AZ0-WRc32pYty83esYFd&pullRequest=574
}

log_warning() {

Check warning on line 19 in .devcontainer/typescript/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRc32pYty83esYFe&open=AZ0-WRc32pYty83esYFe&pullRequest=574
echo -e "${YELLOW}⚠️ $1${NC}"

Check warning on line 20 in .devcontainer/typescript/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRc32pYty83esYFf&open=AZ0-WRc32pYty83esYFf&pullRequest=574
}

log_error() {

Check warning on line 23 in .devcontainer/typescript/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRc32pYty83esYFg&open=AZ0-WRc32pYty83esYFg&pullRequest=574
echo -e "${RED}❌ $1${NC}"

Check warning on line 24 in .devcontainer/typescript/scripts/post-create.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRc32pYty83esYFh&open=AZ0-WRc32pYty83esYFh&pullRequest=574
}

log_info "==================================================="
log_info "DataFilters (TypeScript) DevContainer Post-Create Setup"
log_info "==================================================="

# Update package manager
log_info "Updating package manager..."
sudo apt-get update > /dev/null 2>&1
log_success "Package manager updated."

log_info "Node.js version: $(node -v)"
log_info "npm version: $(npm -v)"

# Install xdg-utils for opening links in the default browser
log_info "Installing xdg-utils..."
sudo apt-get install -y xdg-utils > /dev/null 2>&1
log_success "xdg-utils installed successfully."

# Install TypeScript project dependencies
log_info "Installing TypeScript project dependencies..."
cd src/typescript
npm ci > /dev/null 2>&1
cd ../..
log_success "TypeScript dependencies installed."

# Install squad CLI globally
log_info "Installing squad CLI globally..."
npm install -g @bradygaster/squad-cli > /dev/null 2>&1
log_success "squad CLI installed successfully."

log_info "Initialize squad configuration..."
squad init
log_success "squad CLI initialized successfully."

log_info ""
log_success "Post-create setup complete!"
log_info ""
log_info "Additional setup will run on container start (post-start)."
log_info "This includes:"
log_info " • GitHub CLI checks"
log_info " • TypeScript dependency checks"
log_info " • Squad configuration checks"
log_info ""
110 changes: 110 additions & 0 deletions .devcontainer/typescript/scripts/post-start.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
#!/bin/bash
set -e

# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

log_info() {

Check warning on line 11 in .devcontainer/typescript/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRej2pYty83esYFj&open=AZ0-WRej2pYty83esYFj&pullRequest=574
echo -e "${BLUE}ℹ️ $1${NC}"

Check warning on line 12 in .devcontainer/typescript/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRej2pYty83esYFk&open=AZ0-WRej2pYty83esYFk&pullRequest=574
}

log_success() {

Check warning on line 15 in .devcontainer/typescript/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRej2pYty83esYFl&open=AZ0-WRej2pYty83esYFl&pullRequest=574
echo -e "${GREEN}✅ $1${NC}"

Check warning on line 16 in .devcontainer/typescript/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRej2pYty83esYFm&open=AZ0-WRej2pYty83esYFm&pullRequest=574
}

log_warning() {

Check warning on line 19 in .devcontainer/typescript/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRej2pYty83esYFn&open=AZ0-WRej2pYty83esYFn&pullRequest=574
echo -e "${YELLOW}⚠️ $1${NC}"

Check warning on line 20 in .devcontainer/typescript/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Assign this positional parameter to a local variable.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRej2pYty83esYFo&open=AZ0-WRej2pYty83esYFo&pullRequest=574
}

log_error() {

Check warning on line 23 in .devcontainer/typescript/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add an explicit return statement at the end of the function.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRej2pYty83esYFp&open=AZ0-WRej2pYty83esYFp&pullRequest=574
echo -e "${RED}❌ $1${NC}"
}

command_exists() {
command -v "$1" >/dev/null 2>&1
}

log_info "==================================================="
log_info "DataFilters (TypeScript) DevContainer Post-Start Setup"
log_info "==================================================="

# Update package manager
log_info "Updating package manager..."
sudo apt-get update > /dev/null 2>&1
log_success "Package manager updated."

# Install GitHub CLI if not present
if ! command_exists gh; then
log_info "Installing GitHub CLI (gh)..."
if sudo apt-get install -y gh > /dev/null 2>&1; then
log_success "GitHub CLI installed successfully."
else
log_warning "Could not install GitHub CLI. Some Squad features may be limited."
fi
else
log_success "GitHub CLI already installed."
fi

# Update npm to latest version
log_info "Updating npm to latest version..."
npm install --ignore-scripts -g npm@latest > /dev/null 2>&1
log_success "npm updated."

# Ensure TypeScript dependencies are up to date
log_info "Ensuring TypeScript project dependencies are up to date..."
cd src/typescript
npm ci > /dev/null 2>&1
cd ../..
log_success "TypeScript dependencies up to date."

# Ensure squad CLI is installed or updated
if command_exists squad; then
log_info "Updating squad CLI to latest version..."
npm install --ignore-scripts -g @bradygaster/squad-cli@latest > /dev/null 2>&1
log_success "squad CLI updated to latest version."
else
log_info "Installing squad CLI..."
npm install --ignore-scripts -g @bradygaster/squad-cli > /dev/null 2>&1
log_success "squad CLI installed successfully."
fi

# Check if Squad is already initialized in the workspace
if [ -d ".squad" ]; then

Check failure on line 76 in .devcontainer/typescript/scripts/post-start.sh

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Use '[[' instead of '[' for conditional tests. The '[[' construct is safer and more feature-rich.

See more on https://sonarcloud.io/project/issues?id=candoumbe_DataFilters&issues=AZ0-WRej2pYty83esYFt&open=AZ0-WRej2pYty83esYFt&pullRequest=574
log_success "Squad is already initialized in this workspace."
else
log_info "Squad is not yet initialized."
log_info ""
log_info "To set up your Squad team, run:"
log_info " squad init"
fi

# Check GitHub authentication status
log_info ""
log_info "Checking GitHub authentication status..."
if gh auth status > /dev/null 2>&1; then
log_success "You are authenticated with GitHub."
GH_USERNAME=$(gh api user -q '.login' 2>/dev/null || echo "unknown")
log_info "Logged in as: $GH_USERNAME"
else
log_warning "You are not authenticated with GitHub."
log_info "To authenticate, run: gh auth login"
fi

log_info ""
log_info "========================================"
log_success "Post-start setup complete!"
log_info "========================================"
log_info ""
log_info "Build the TypeScript project:"
log_info " cd src/typescript && npm run build"
log_info ""
log_info "Run TypeScript tests:"
log_info " cd src/typescript && npm test"
log_info ""
log_info "Run linter:"
log_info " cd src/typescript && npm run lint"
log_info ""
Loading
Loading