Skip to content

Commit b0e83cd

Browse files
committed
Merge upstream/main into main: adopt screen recording features, fix ReactMarkdown image prefix and required asterisk, keep local study configs in global.json, preserve slider label text; regenerate yarn.lock
2 parents 34c6066 + 797ee16 commit b0e83cd

215 files changed

Lines changed: 8426 additions & 2320 deletions

File tree

Some content is hidden

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

.github/workflows/release.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,14 @@ on:
77

88
jobs:
99
release:
10-
if: github.event.pull_request.merged
10+
if: github.event.pull_request.merged && startsWith(github.event.pull_request.title, 'v')
1111
runs-on: ubuntu-latest
1212
steps:
13+
- name: Ensure PR title matches vx.x.x
14+
run: |
15+
[[ "${{ github.event.pull_request.title }}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]
16+
shell: bash
17+
1318
- uses: actions/checkout@v3
1419
with:
1520
token: ${{ secrets.PAT }}

eslint.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export default [{
4040
},
4141

4242
parser: tsParser,
43-
ecmaVersion: 2022,
43+
ecmaVersion: 'latest',
4444
sourceType: 'module',
4545
},
4646

libraryDocGenerator.cjs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ ${libraryConfig.additionalDescription ? `## Additional Description\n\n${libraryC
5656
const librariesPath = path.join(__dirname, './public/libraries');
5757
const docsLibrariesPath = path.join(__dirname, './docsLibraries');
5858

59-
const libraries = fs.readdirSync(librariesPath);
59+
const libraries = fs.readdirSync(librariesPath)
60+
.filter(library => !library.startsWith('.') && !library.endsWith('.DS_Store'));
6061

6162
if (!fs.existsSync(docsLibrariesPath)) {
6263
fs.mkdirSync(docsLibrariesPath);

libraryExampleStudyGenerator.cjs

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const { exec } = require('child_process');
1515
const librariesPath = path.join(__dirname, './public/libraries');
1616
const publicPath = path.join(__dirname, './public');
1717

18+
1819
// Create example study config template
1920
const createExampleConfig = (libraryName) => ({
2021
$schema: 'https://raw.githubusercontent.com/revisit-studies/study/dev/src/parser/StudyConfigSchema.json',
@@ -49,10 +50,16 @@ const createExampleConfig = (libraryName) => ({
4950
});
5051

5152
// Process each library
52-
const libraries = fs.readdirSync(librariesPath);
53+
const libraries = fs.readdirSync(librariesPath)
54+
.filter(library => !library.startsWith('.') && !library.endsWith('.DS_Store'));
55+
5356
libraries.forEach((library) => {
5457
// Skip hidden folders and files, and libraries in skip list
55-
if (library.startsWith('.')) return;
58+
if (library.startsWith('.')) {
59+
// eslint-disable-next-line no-console
60+
console.log(`Skipping ${library} library`);
61+
return;
62+
}
5663

5764
const exampleFolderName = `library-${library}`;
5865
const examplePath = path.join(publicPath, exampleFolderName);
@@ -69,14 +76,15 @@ libraries.forEach((library) => {
6976
fs.mkdirSync(assetsPath);
7077
// eslint-disable-next-line no-console
7178
console.log(`Created ${exampleFolderName}/assets directory`);
79+
80+
// Create config.json
81+
const configPath = path.join(examplePath, 'config.json');
82+
const configContent = createExampleConfig(library);
83+
fs.writeFileSync(configPath, JSON.stringify(configContent, null, 2));
84+
// eslint-disable-next-line no-console
85+
console.log(`Created/Updated ${exampleFolderName}/config.json`);
7286
}
7387

74-
// Create config.json
75-
const configPath = path.join(examplePath, 'config.json');
76-
const configContent = createExampleConfig(library);
77-
fs.writeFileSync(configPath, JSON.stringify(configContent, null, 2));
78-
// eslint-disable-next-line no-console
79-
console.log(`Created/Updated ${exampleFolderName}/config.json`);
8088
});
8189

8290
// eslint-disable-next-line no-console

package.json

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,25 @@
2727
"@mantine/modals": "^7.10.1",
2828
"@mantine/notifications": "^7.12.0",
2929
"@quentinroy/latin-square": "^1.1.1",
30-
"@reduxjs/toolkit": "^2.5.0",
31-
"@supabase/supabase-js": "^2.50.3",
32-
"@tabler/icons-react": "^3.28.1",
30+
"@reduxjs/toolkit": "^2.9.0",
31+
"@supabase/supabase-js": "^2.57.4",
32+
"@tabler/icons-react": "^3.35.0",
3333
"@trrack/core": "^1.3.0",
3434
"@trrack/vis-react": "^1.5.0",
3535
"@types/crypto-js": "^4.2.2",
3636
"@types/hjson": "^2.4.6",
37-
"@types/lodash": "^4.17.14",
38-
"@types/node": "^22.10.7",
39-
"@visdesignlab/upset2-react": "^1.0.0-rc6",
37+
"@types/lodash": "^4.17.20",
38+
"@types/node": "^24.5.2",
39+
"@visdesignlab/upset2-react": "^1.0.0",
4040
"ajv": "^8.17.1",
4141
"arquero": "^5.4.0",
4242
"crypto-js": "^4.2.0",
4343
"d3": "^7.9.0",
44-
"dayjs": "^1.11.13",
44+
"dayjs": "^1.11.18",
4545
"eslint-config-airbnb": "^19.0.4",
4646
"firebase": "^11.2.0",
4747
"hjson": "^3.2.2",
48+
"jszip": "^3.10.1",
4849
"localforage": "^1.10.0",
4950
"lodash.debounce": "^4.0.8",
5051
"lodash.merge": "^4.6.2",
@@ -55,46 +56,46 @@
5556
"react-dom": "^18.3.1",
5657
"react-markdown": "^9.0.3",
5758
"react-redux": "^9.2.0",
58-
"react-router": "^7.5.2",
59+
"react-router": "^7.9.1",
5960
"react-timer-hook": "^3.0.8",
6061
"react-vega": "^7.6.0",
6162
"rehype-raw": "^7.0.0",
62-
"remark-gfm": "^4.0.1",
63-
"seedrandom": "^3.0.5",
64-
"ts-json-schema-generator": "^2.3.0",
65-
"typedoc": "^0.27.6",
66-
"typedoc-plugin-frontmatter": "^1.1.2",
67-
"typedoc-plugin-markdown": "^4.4.1",
63+
"remark-gfm": "^4.0.1",
64+
"seedrandom": "^3.0.5",
65+
"ts-json-schema-generator": "^2.4.0",
66+
"typedoc": "^0.28.13",
67+
"typedoc-plugin-frontmatter": "^1.3.0",
68+
"typedoc-plugin-markdown": "^4.9.0",
6869
"use-deep-compare-effect": "^1.8.1",
6970
"uuid": "^11.0.5",
7071
"vega": "^5.32.0",
7172
"vega-lite": "^5.23.0",
73+
"vite": "^7.1.6",
7274
"wavesurfer-react": "^3.0.4",
73-
"wavesurfer.js": "^7.8.16",
74-
"yaml": "^2.8.0"
75+
"wavesurfer.js": "^7.10.1",
76+
"yaml": "^2.8.1"
7577
},
7678
"devDependencies": {
77-
"@eslint/compat": "^1.2.5",
78-
"@eslint/eslintrc": "^3.2.0",
79-
"@eslint/js": "^9.18.0",
80-
"@playwright/test": "^1.49.1",
79+
"@eslint/compat": "^1.3.2",
80+
"@eslint/eslintrc": "^3.3.1",
81+
"@eslint/js": "^9.36.0",
82+
"@playwright/test": "^1.55.0",
8183
"@types/d3": "^7.4.0",
82-
"@types/react": "^19.0.7",
83-
"@types/react-dom": "^19.0.3",
84-
"@types/uuid": "^10.0.0",
85-
"@typescript-eslint/eslint-plugin": "^8.20.0",
86-
"@typescript-eslint/parser": "^8.20.0",
87-
"@vitejs/plugin-react-swc": "^3.7.2",
88-
"eslint": "^9.18.0",
89-
"eslint-plugin-import": "^2.31.0",
84+
"@types/react": "^19.1.13",
85+
"@types/react-dom": "^19.1.9",
86+
"@types/uuid": "^11.0.0",
87+
"@typescript-eslint/eslint-plugin": "^8.44.0",
88+
"@typescript-eslint/parser": "^8.44.0",
89+
"@vitejs/plugin-react-swc": "^4.1.0",
90+
"eslint": "^9.36.0",
91+
"eslint-plugin-import": "^2.32.0",
9092
"eslint-plugin-jsx-a11y": "^6.10.2",
91-
"eslint-plugin-react": "^7.37.4",
92-
"eslint-plugin-react-hooks": "^5.1.0",
93-
"globals": "^15.14.0",
93+
"eslint-plugin-react": "^7.37.5",
94+
"eslint-plugin-react-hooks": "^5.2.0",
95+
"globals": "^16.4.0",
9496
"husky": "^9.1.7",
95-
"lint-staged": "^15.4.1",
96-
"typescript": "^5.7.3",
97-
"vite": "^6.2.7",
97+
"lint-staged": "^16.1.6",
98+
"typescript": "^5.9.2",
9899
"vitest": "^3.2.4",
99100
"vitest-localstorage-mock": "^0.1.2"
100101
}

public/demo-click-accuracy-test/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "https://raw.githubusercontent.com/revisit-studies/study/dev/src/parser/StudyConfigSchema.json",
2+
"$schema": "https://raw.githubusercontent.com/revisit-studies/study/v2.2.0/src/parser/StudyConfigSchema.json",
33
"studyMetadata": {
44
"title": "Dynamic React Stimuli and Provenance Tracking",
55
"version": "pilot",

public/demo-dynamic/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "https://raw.githubusercontent.com/revisit-studies/study/dev/src/parser/StudyConfigSchema.json",
2+
"$schema": "https://raw.githubusercontent.com/revisit-studies/study/v2.2.0/src/parser/StudyConfigSchema.json",
33
"studyMetadata": {
44
"title": "Dynamic Blocks",
55
"version": "pilot",

public/demo-html-input/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "https://raw.githubusercontent.com/revisit-studies/study/dev/src/parser/StudyConfigSchema.json",
2+
"$schema": "https://raw.githubusercontent.com/revisit-studies/study/v2.2.0/src/parser/StudyConfigSchema.json",
33
"studyMetadata": {
44
"title": "Passing Data from reVISit to HTML and back",
55
"version": "pilot",

public/demo-html-trrack/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "https://raw.githubusercontent.com/revisit-studies/study/dev/src/parser/StudyConfigSchema.json",
2+
"$schema": "https://raw.githubusercontent.com/revisit-studies/study/v2.2.0/src/parser/StudyConfigSchema.json",
33
"studyMetadata": {
44
"title": "HTML with Trrack library",
55
"version": "pilot",

public/demo-html/config.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "https://raw.githubusercontent.com/revisit-studies/study/dev/src/parser/StudyConfigSchema.json",
2+
"$schema": "https://raw.githubusercontent.com/revisit-studies/study/v2.2.0/src/parser/StudyConfigSchema.json",
33
"studyMetadata": {
44
"title": "HTML as a Stimulus",
55
"version": "pilot",
@@ -21,7 +21,9 @@
2121
"withProgressBar": true,
2222
"autoDownloadStudy": false,
2323
"withSidebar": true,
24-
"windowEventDebounceTime": 200
24+
"windowEventDebounceTime": 200,
25+
"minHeightSize": 800,
26+
"minWidthSize": 400
2527
},
2628
"components": {
2729
"introduction": {

0 commit comments

Comments
 (0)