Compare commits

..

13 Commits

Author SHA1 Message Date
Steve Gravrock
d9023b1fde Bump version to 7.0.0-pre.0
Some checks failed
Test in latest available Safari / build (push) Has been cancelled
2026-02-22 14:08:32 -08:00
Steve Gravrock
27319fd6ae Merge branch 'main' into 7.0 2026-02-22 10:13:11 -08:00
Steve Gravrock
d230b0500d Test against 5.0 branch of jasmine-browser-runner 2026-02-21 12:57:26 -08:00
Steve Gravrock
c6520763d8 Re-add version() to Node module exports 2026-02-21 12:12:54 -08:00
Steve Gravrock
e087ebc419 Merge branch 'main' into 7.0 2026-02-21 11:19:51 -08:00
Steve Gravrock
63ac7da082 Prevent monkey patching
This doesn't affect globals (describe, it, expect, etc). Those belong to
the user and Jasmine doesn't depend on them.
2026-02-16 20:30:29 -08:00
Steve Gravrock
281c0d1ee8 Convert ParallelReportDispatcher to an ES6 class
ParallelReportDispatcher itself doesn't gain anything from this, but
it'll allow monkey patching prevention to be implemented and tested
more uniformly.
2026-02-16 16:36:06 -08:00
Steve Gravrock
8bb325628f Depend on 7.0 branch of -npm 2026-02-16 16:35:23 -08:00
Steve Gravrock
ff0699035f Merge branch 'main' into 7.0 2026-02-16 07:28:22 -08:00
Steve Gravrock
f12f4395f0 Redesigned moudule system
* Top level private APIs (e.g. jasmine.private.whatever) are no longer
  exposed
* jasmineRequire is no longer exposed
* core is self-booting
* Globals are automatically created in browsers. (They can subsequently
  be removed by user code if desired.)
* Globals are *not* automatically created in Node. An installGlobals
  function is exported instead. The jasmine package calls installGlobals
  unless configured not to do so.
* In Node, the same instance is returned each time jasmine-core is
  imported. A reset function is exported. It effectively resets all state
  by discarding the env and creating a new one. This allows mulitple
  sequential runs within the same process to be independent of each
  other, but does not allow multiple concurrent runs. (That probably never
  worked anyway.)

Fixes #2094
2026-02-15 20:16:45 -08:00
Steve Gravrock
03006080d4 rm deprecated jsApiReporter 2025-11-28 09:53:15 -08:00
Steve Gravrock
876de65803 rm monkey patch warnings 2025-11-28 09:53:15 -08:00
Steve Gravrock
8b3c4ce3b4 Remove HtmlReporter, HtmlSpecFilter, and supporting internal code 2025-11-28 09:53:15 -08:00
3220 changed files with 5085 additions and 1189536 deletions

View File

@@ -3,9 +3,6 @@
version: 2.1
orbs:
win: circleci/windows@5.0.0
executors:
node24:
docker:
@@ -50,31 +47,6 @@ jobs:
steps:
- attach_workspace:
at: .
- run:
name: Report Node and NPM versions
command: echo "Using Node $(node --version) and NPM $(npm --version)"
- run:
name: Run tests
command: npm test
test_win:
executor:
name: win/default
shell: bash.exe
steps:
- checkout
- run:
name: Install Node.js
command: nvm install 20.0.0 && nvm use 20.0.0
- run:
name: Report Node and NPM versions
command: echo "Using Node $(node --version) and NPM $(npm --version)"
- run:
name: Install dependencies
command: npm install
- run:
name: Build
command: npm run build
- run:
name: Run tests
command: npm test
@@ -87,9 +59,6 @@ jobs:
steps:
- attach_workspace:
at: .
- run:
name: Report Node and NPM versions
command: echo "Using Node $(node --version) and NPM $(npm --version)"
- run:
name: Run tests in parallel
command: npm run test:parallel
@@ -132,25 +101,47 @@ workflows:
push:
jobs:
- build:
matrix:
parameters:
executor: [node20, node22, node24]
executor: node24
name: build_node_24
- build:
executor: node22
name: build_node_22
- build:
executor: node20
name: build_node_20
- test_node:
matrix:
parameters:
executor: [node20, node22, node24]
executor: node22
name: test_node_22
requires:
- build-<< matrix.executor >>
- build_node_22
- test_node:
executor: node20
name: test_node_20
requires:
- build_node_20
- test_parallel:
matrix:
parameters:
executor: [node20, node22, node24]
executor: node24
name: test_parallel_node_24
requires:
- build-<< matrix.executor >>
- build_node_24
- test_parallel:
executor: node22
name: test_parallel_node_22
requires:
- build_node_22
- test_parallel:
executor: node20
name: test_parallel_node_20
requires:
- build_node_20
- test_parallel:
executor: node20
name: test_parallel_node_20
requires:
- build_node_20
- test_browsers:
requires:
- build-node20
- build_node_20
filters:
branches:
ignore: /pull\/.*/ # Don't run on pull requests.
- test_win

7
.gitattributes vendored
View File

@@ -1,7 +1,2 @@
* text=auto eol=lf
*.png filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.mov filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.docx filter=lfs diff=lfs merge=lfs -text
*.png -text

View File

@@ -41,13 +41,11 @@ Jasmine tests itself. The files in `lib` are loaded first, defining the referenc
The tests should always use `jasmineUnderTest` to refer to the objects and functions that are being tested. But the tests can use functions on `jasmine` as needed. _Be careful how you structure any new test code_. Copy the patterns you see in the existing code - this ensures that the code you're testing is not leaking into the `jasmine` reference and vice-versa.
### `boot0.js` and `boot1.js`
### `boot.js`
These files file does all of the setup necessary for Jasmine to work in a
browser. They load all of the code, create an `Env`, attach the global
functions, and build the reporter. It also sets up the execution of the
`Env` - for browsers this is in `window.onload`. While the default in `lib`
is appropriate for browsers, projects may wish to customize this file.
This file does all the setup necessary for Jasmine to work in a browser. While
the default in `lib`is appropriate for most uses, users may wish to customize
this file.
### Compatibility

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,48 +0,0 @@
# Jasmine Core Development Notes
## Architecture
- This is the main jasmine-core repository, a JavaScript BDD testing framework
- **Directory structure**:
- `src/` - source code
- `src/core/` - environment-agnostic core functionality
- `src/html/` - browser-specific code
- `src/boot/` - boot files for browser setup
- `spec/` - tests, mirrors the src directory structure
- `lib/` - compiled distribution files (built, not checked in modified)
## Key Development Commands
- `npm install` - install dependencies
- `npm test` - run all tests in Node.js + lint + prettier check
- `npm run test:parallel` - run tests in parallel
- `npm run build` - build distribution to `/lib`
- `npm run cleanup` - auto-fix prettier errors
- `npm run serve` - serve tests for browser testing at http://localhost:8888
- `JASMINE_BROWSER=<name> npm run ci` - run browser tests via Selenium
## Before submitting PR
1. Run tests in Node.js AND browsers: `npm test` and `npm run serve`
2. Fix any eslint/prettier errors: `npm run cleanup`
3. Build `lib/` with `npm run build` and re-test
4. Revert changes to built files in `lib/` - maintainers will rebuild when merging
## Testing Conventions
- Jasmine self-tests: `lib/jasmine-core.js` provides `jasmine` (runner), `src/` provides `jasmineUnderTest` (code under test)
- Always use `jasmineUnderTest` for objects/functions being tested
## Coding Conventions
- Single quotes, semicolons required
- Curly braces required for all control statements
- ECMA 2022 syntax, commonjs modules
- Core code must stay environment-agnostic:
- Keep browser-specific code in `src/html/`
- Degrade gracefully when environment-specific features aren't available
## Supported Environments
- Node: 20, 22, 24
- Browsers: Safari 26+, Chrome/Firefox/Edge (evergreen)

View File

@@ -32,7 +32,7 @@ Microsoft Edge) as well as Node.
| Node | 20, 22, 24 |
| Safari | 26* |
| Chrome | Evergreen |
| Firefox | Evergreen, 140 |
| Firefox | Evergreen, 102*, 115*, 128*, 140 |
| Edge | Evergreen |
For evergreen browsers, each version of Jasmine is tested against the version of the browser that is available to us

View File

@@ -1,28 +0,0 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# tauri
/src-tauri/target
/src-tauri/Cargo.lock
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

View File

@@ -1,13 +0,0 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>藝術家作品集</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>

View File

@@ -1,20 +0,0 @@
{
"name": "artist-website",
"version": "1.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"tauri": "tauri"
},
"dependencies": {
"vue": "^3.4.0"
},
"devDependencies": {
"@tauri-apps/api": "^1.5.0",
"@tauri-apps/cli": "^1.5.0",
"@vitejs/plugin-vue": "^5.0.0",
"vite": "^5.0.0"
}
}

Some files were not shown because too many files have changed in this diff Show More