Skip to content

Commit 812ce67

Browse files
authored
Merge branch 'dev' into claude/issue-546-20250807-1706
2 parents 3970060 + f3bb781 commit 812ce67

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+37853
-2307
lines changed

.github/workflows/claude-code-review.yml

Lines changed: 0 additions & 78 deletions
This file was deleted.

.github/workflows/claude.yml

Lines changed: 0 additions & 64 deletions
This file was deleted.

.github/workflows/codeql.yml

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
name: Analyze
1414
runs-on: ubuntu-latest
1515
permissions:
16-
actions: read
16+
actions: write
1717
contents: read
1818
security-events: write
1919

@@ -23,19 +23,40 @@ jobs:
2323
language: [ javascript ]
2424

2525
steps:
26-
- name: Checkout
27-
uses: actions/checkout@v3
26+
# checkout@v5
27+
- name: Checkout repository
28+
uses: jonobr1/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
2829

30+
# setup-node@v5
31+
- name: Set up Node.js
32+
uses: jonobr1/setup-node@a0853c24544627f65ddf259abe73b1d18a591444
33+
with:
34+
node-version: '20' # Use latest LTS
35+
36+
# cache@v4
37+
- name: Cache node modules
38+
uses: jonobr1/cache@0400d5f644dc74513175e3cd8d07132dd4860809
39+
with:
40+
path: |
41+
node_modules
42+
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
43+
44+
- name: Install dependencies
45+
run: npm ci
46+
47+
# codeql-action/init@v3
2948
- name: Initialize CodeQL
30-
uses: github/codeql-action/init@v2
49+
uses: jonobr1/codeql-action/init@192325c86100d080feab897ff886c34abd4c83a3
3150
with:
3251
languages: ${{ matrix.language }}
33-
queries: +security-and-quality
52+
queries: security-and-quality
3453

54+
# codeql-action/autobuild@v3
3555
- name: Autobuild
36-
uses: github/codeql-action/autobuild@v2
56+
uses: jonobr1/codeql-action/autobuild@192325c86100d080feab897ff886c34abd4c83a3
3757

58+
# codeql-action/analyze@v3
3859
- name: Perform CodeQL Analysis
39-
uses: github/codeql-action/analyze@v2
60+
uses: jonobr1/codeql-action/analyze@192325c86100d080feab897ff886c34abd4c83a3
4061
with:
4162
category: "/language:${{ matrix.language }}"

.github/workflows/lint.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ jobs:
44
build:
55
runs-on: ubuntu-latest
66
steps:
7-
- uses: actions/[email protected]
7+
# checkout@v5
8+
- uses: jonobr1/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
89
- name: Install modules
910
run: npm install
1011
- name: Run ESLint

.gitignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ node_modules
33
junk/
44
*.log
55
docs.json
6-
package-lock.json
76
dist
8-
.idea
7+
.idea
8+
.codacy
9+
10+
#Ignore vscode AI rules
11+
.github/instructions/codacy.instructions.md

CLAUDE.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,11 @@ The Two class provides factory methods for creating and adding objects to the sc
8383
- Tests located in `tests/` directory
8484
- Test suites in `tests/suite/` organized by functionality
8585
- HTML test runners: `tests/index.html`, `tests/noWebGL.html`
86-
- TypeScript tests in `tests/typescript/`
86+
- TypeScript compilation tests in `tests/typescript/` with `index.ts` that imports and uses Two.js API
8787

8888
### Running Tests
89-
No automated test runner specified - tests are run manually via HTML files in browser.
89+
- Manual browser testing via HTML files: `tests/index.html` and `tests/noWebGL.html`
90+
- TypeScript compilation testing: `cd tests/typescript && npx tsc index.ts` to verify types work correctly
9091

9192
## Key Files to Understand
9293

@@ -146,8 +147,8 @@ Designed for modern browsers with ES6+ support. Uses feature detection for rende
146147
- Open `tests/index.html` in browser for manual testing
147148
- Test new features across Canvas, SVG, and WebGL renderers
148149
- Check `tests/noWebGL.html` for fallback scenarios
149-
- TypeScript tests in `tests/typescript/` should compile without errors
150-
- No automated test runner - manual browser testing required
150+
- TypeScript compilation tests: Run `cd tests/typescript && npx tsc index.ts` to verify TypeScript definitions work correctly
151+
- Manual browser testing required - no automated test runner
151152

152153
## File Organization Rules
153154

@@ -174,7 +175,6 @@ Designed for modern browsers with ES6+ support. Uses feature detection for rende
174175
- Browser: UMD build for direct script inclusion
175176

176177
### Nota Bene
177-
- There aren't any linting commands
178-
- All the tests run in the browser
179-
- There are no TypeScript tests
180-
- Let the developer check these manually instead of trying to run commands
178+
- All visual tests run in the browser via HTML files
179+
- TypeScript tests verify that the type definitions work correctly by compiling sample code – this is work in progress
180+
- Manual testing approach - no automated test runners or CI integration

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
5555
## Enforcement
5656

5757
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58-
reported by contacting the project team at [email protected]. All
58+
reported by contacting the project team at inquiries+two.js@jono.fyi. All
5959
complaints will be reviewed and investigated and will result in a response that
6060
is deemed necessary and appropriate to the circumstances. The project team is
6161
obligated to maintain confidentiality with regard to the reporter of an incident.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
A two-dimensional drawing api meant for modern browsers. It is renderer agnostic enabling the same api to render in multiple contexts: webgl, canvas2d, and svg.
88

9-
[Home](http://two.js.org/)[Releases](https://github.com/jonobr1/two.js/releases)[Examples](http://two.js.org/examples/)[Documentation](https://two.js.org/docs/two/) • [Change Log](https://github.com/jonobr1/two.js/tree/dev/wiki/changelog)[Help](https://github.com/jonobr1/two.js/issues/new/choose)
9+
[Home](http://two.js.org/)[Releases](https://github.com/jonobr1/two.js/releases)[Examples](http://two.js.org/examples/)[Documentation](https://two.js.org/docs/two/) • [Changelog](https://github.com/jonobr1/two.js/tree/dev/wiki/changelog)[Help](https://github.com/jonobr1/two.js/issues/new/choose)
1010

1111
## Usage
1212
Download the latest [minified library](https://raw.github.com/jonobr1/two.js/dev/build/two.min.js) and include it in your html.

SECURITY.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Security Policy
2+
3+
If you have discovered a security vulnerability in this project, please report it
4+
privately. **Do not disclose it as a public issue.** This gives us time to work with you to fix the issue before public exposure, reducing the chance that the exploit will be used before a patch is released.
5+
6+
**You may submit the report in the following ways:**
7+
8+
- Github users can privately report security advisories directly [here](https://github.com/jonobr1/two.js/security/advisories/new)
9+
10+
- Send an email to [[email protected]](mailto:[email protected]).
11+
12+
**Please provide the following information in your report:**
13+
14+
- The type of issue (e.g., buffer overflow, SQL injection, or cross-site scripting)
15+
- Full paths of source file(s) related to the manifestation of the issue
16+
- The location of the affected source code (tag/branch/commit or direct URL)
17+
- Any special configuration required to reproduce the issue
18+
- Step-by-step instructions to reproduce the issue
19+
- Proof-of-concept or exploit code (if possible)
20+
- Impact of the issue, including how an attacker might exploit the issue
21+
22+
This project is maintained by volunteers on a reasonable-effort basis. As such, we ask that you give us 90 days to work on a fix before public exposure.
23+
24+
---
25+
26+
_Two.js conforms to this [Incident Response Plan](https://two.js.org/incident-response-plan) in moments of security risks._

0 commit comments

Comments
 (0)