Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 1 addition & 3 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
{
"presets": [
"@babel/preset-env"
]
"presets": ["@babel/preset-env"]
}
19 changes: 19 additions & 0 deletions .claude/instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,20 @@ This is a **curated fork** of ExcelJS maintained by Protobi. This document conta
**ALWAYS ask for user review before committing code changes.**

Do NOT commit automatically, even if:

- Tests pass
- Code looks good
- Changes seem minor

**Workflow:**

1. Make changes
2. Show user what changed (git diff or summary)
3. **Wait for explicit approval**
4. Then commit and push

The user may want to:

- Review the changes
- Test manually
- Make additional edits
Expand All @@ -30,12 +33,14 @@ Only exception: purely documentary changes explicitly requested (and even then,
**EVERY commit must reference a GitHub issue.**

**Workflow:**

1. Before starting work, check if a relevant issue exists
2. If no issue exists, create one first describing the problem/feature
3. In commit messages, reference the issue using format: `Update #99 Description of change`
4. After committing, add a comment on the issue with the commit hash

**Commit Message Format:**

```
Update #4 Fix XML special character escaping in pivot tables

Expand All @@ -44,12 +49,14 @@ Detailed description of what was changed and why.
```

**Why:**

- Provides context and discussion history for every change
- Makes it easier to track what changes solved which problems
- Helps when reviewing git history or creating release notes
- Enables better collaboration and code review

**Creating Issues:**

```bash
# Create an issue
gh issue create --repo protobi/exceljs --title "Brief description" --body "Detailed description"
Expand All @@ -74,12 +81,14 @@ Use semantic versioning with pre-release identifier:
```

**Rules:**

- Base version matches upstream (e.g., `4.4.0` from exceljs/exceljs)
- Pre-release identifier is always `-protobi`
- Counter increments for each fork release (`.1`, `.2`, `.3`, etc.)
- When upstream releases new version (e.g., 4.5.0), reset counter: `4.5.0-protobi.1`

**Examples:**

```
4.4.0-protobi.1 ← First fork release based on upstream 4.4.0
4.4.0-protobi.2 ← Second fork release (still based on 4.4.0)
Expand All @@ -91,6 +100,7 @@ Use semantic versioning with pre-release identifier:
**Critical:** npm only picks up changes from git dependencies when `package.json` version changes.

In consuming projects using:

```json
"exceljs": "git+https://***@github.com/protobi/exceljs.git"
```
Expand All @@ -102,12 +112,14 @@ This has been verified through years of production use with Protobi packages.
### When to Bump Version

Bump version for:

- ✅ New features added to the fork
- ✅ Bug fixes in fork-specific code
- ✅ Adopted upstream PRs that add functionality
- ✅ Any change you want consuming projects to pick up

Do NOT bump for:

- ❌ Documentation-only changes (README, FORK.md, etc.)
- ❌ Internal tooling/CI changes
- ❌ Commits that will be reverted
Expand Down Expand Up @@ -191,12 +203,14 @@ git commit -m "Reset version for upstream PR"
### What Makes a Clean Upstream PR

Include:

- ✅ Feature code changes
- ✅ Tests for the feature
- ✅ Documentation (API docs, usage examples)
- ✅ package.json at upstream version (4.4.0)

Exclude:

- ❌ Fork identity in README (the note linking to FORK.md is okay)
- ❌ FORK.md file
- ❌ Fork-specific CONTRIBUTING.md content
Expand Down Expand Up @@ -235,6 +249,7 @@ git push origin master --tags
Use conventional commits for clarity:

**For fork releases:**

```
Release v4.4.0-protobi.2: Add feature X

Expand All @@ -244,6 +259,7 @@ Release v4.4.0-protobi.2: Add feature X
```

**For features:**

```
Add support for multiple pivot tables (#1)

Expand All @@ -252,6 +268,7 @@ Add support for multiple pivot tables (#1)
```

**For upstream PRs:**

```
Adopt upstream PR #2850: [Feature name]

Expand All @@ -274,6 +291,7 @@ If tests fail, fix them before releasing.
## Documentation Standards

When adding features:

1. **Code changes** - Implement the feature
2. **Tests** - Add comprehensive tests
3. **README.md** - Document API and usage with examples
Expand Down Expand Up @@ -318,6 +336,7 @@ git tag -l "v*-protobi*"
## Questions?

Refer to:

- [FORK.md](../FORK.md) - Complete fork documentation and workflows
- [CONTRIBUTING.md](../CONTRIBUTING.md) - Contribution guidelines
- This file - Version and PR management
Expand Down
7 changes: 4 additions & 3 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,13 @@
},
"rules": {
"arrow-parens": ["error", "as-needed"],
"import/extensions": ["off"],
"class-methods-use-this": ["off"],
"comma-dangle": ["error", {"arrays": "always-multiline", "objects": "always-multiline", "imports": "always-multiline", "exports": "always-multiline", "functions": "never"}],
"default-case": ["off"],
"func-names": ["off", "never"],
"global-require": ["off"],
"max-len": ["error", {"code": 120, "ignoreComments": true, "ignoreStrings": true}],
"max-len": ["error", {"code": 120, "ignoreComments": true, "ignoreStrings": true, "ignoreTemplateLiterals": true}],
"no-console": ["error", { "allow": ["warn"] }],
"no-continue": ["off"],
"no-mixed-operators": ["error", {"allowSamePrecedence": true}],
Expand All @@ -41,9 +42,9 @@
"prefer-destructuring": ["warn", {"array": false, "object": true}],
"prefer-object-spread": ["off"],
"prefer-rest-params": ["off"],
"quotes": ["error", "single"],
"quotes": ["error", "single", {"avoidEscape": true}],
"semi": ["error", "always"],
"space-before-function-paren": ["error", {"anonymous": "never", "named": "never", "asyncArrow": "always"}],
"space-before-function-paren": ["error", {"anonymous": "ignore", "named": "never", "asyncArrow": "always"}],
"strict": ["off"]
}
}
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ expect(ws.getCell('A1').value).to.equal(7);

<!-- A clear and concise description of what you expected to happen. -->


## Possible solution (optional, but very helpful):

```javascript
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: 💬 Questions / Help
title: '[Q] PLEASE USE DISCUSSIONS'
label: ':speech_balloon: Question'
about: https://github.com/exceljs/exceljs/discussions/categories/q-a
about: https://github.com/exceljs/exceljs/discussions/categories/q-a
---

## 💬 Questions and Help
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/asset-size.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
fetch-depth: 0
- uses: chrysanthos/simple-asset-size-reporter@1.0.2
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
repo-token: '${{ secrets.GITHUB_TOKEN }}'
files: '["dist/*.js"]'
with-same: "false"
build-assets: "npm run install-build"
with-same: 'false'
build-assets: 'npm run install-build'
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Tests

on:
push:
branches: [ master ]
branches: [master]
pull_request:
branches: [ '**' ]
branches: ['**']

jobs:
test:
Expand Down
2 changes: 1 addition & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"bracketSpacing": false,
"printWidth": 100,
"trailingComma": "all",
"trailingComma": "es5",
"arrowParens": "avoid",
"singleQuote": true
}
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
- 2885
- 2885
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ npm run test:coverage
## Questions?

Open an issue! But remember:

- This fork serves our production needs first
- We can't provide general Excel library support
- Response times may vary based on our workload
Expand Down
Loading