mirror of
https://github.com/jspsych/jsPsych.git
synced 2025-05-12 08:38:11 +00:00
Merge branch 'modularization' into modularization-new-docs
This commit is contained in:
commit
a8758e395b
587
package-lock.json
generated
587
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,5 @@
|
||||
import { sep as pathSeparator } from "path";
|
||||
|
||||
import gulp from "gulp";
|
||||
import rename from "gulp-rename";
|
||||
import replace from "gulp-replace";
|
||||
@ -13,7 +15,7 @@ export const createCoreDistArchive = () =>
|
||||
// Rename dist files
|
||||
.pipe(
|
||||
rename((path) => {
|
||||
const packageName = path.dirname.split("/")[0];
|
||||
const packageName = path.dirname.split(pathSeparator)[0];
|
||||
|
||||
path.dirname = "/dist";
|
||||
path.basename = packageName;
|
||||
|
@ -7,7 +7,12 @@ import { terser } from "rollup-plugin-terser";
|
||||
import typescript from "rollup-plugin-typescript2";
|
||||
import ts from "typescript";
|
||||
|
||||
const makeConfig = (outputOptions, globalOptions = {}, iifeOutputOptions = {}) => {
|
||||
const makeConfig = ({
|
||||
outputOptions = {},
|
||||
globalOptions = {},
|
||||
iifeOutputOptions = {},
|
||||
nodeOnly = false,
|
||||
}) => {
|
||||
const source = "src/index";
|
||||
const destination = "dist/index";
|
||||
|
||||
@ -39,34 +44,38 @@ const makeConfig = (outputOptions, globalOptions = {}, iifeOutputOptions = {}) =
|
||||
...globalOptions,
|
||||
});
|
||||
|
||||
return defineConfig([
|
||||
/** @type {import("rollup").OutputOptions} */
|
||||
const output = [
|
||||
{
|
||||
// Non-babel builds
|
||||
...commonConfig,
|
||||
output: [
|
||||
{
|
||||
// Build file to be used as an ES import
|
||||
file: `${destination}.js`,
|
||||
format: "esm",
|
||||
...outputOptions,
|
||||
},
|
||||
{
|
||||
// Build commonjs module (for tools that do not fully support ES6 modules)
|
||||
file: `${destination}.cjs`,
|
||||
format: "cjs",
|
||||
...outputOptions,
|
||||
},
|
||||
{
|
||||
// Build file to be used for tinkering in modern browsers
|
||||
file: `${destination}.browser.js`,
|
||||
format: "iife",
|
||||
...outputOptions,
|
||||
...iifeOutputOptions,
|
||||
},
|
||||
],
|
||||
// Build file to be used as an ES import
|
||||
file: `${destination}.js`,
|
||||
format: "esm",
|
||||
...outputOptions,
|
||||
},
|
||||
{
|
||||
// Babel build
|
||||
// Build commonjs module (for tools that do not fully support ES6 modules)
|
||||
file: `${destination}.cjs`,
|
||||
format: "cjs",
|
||||
...outputOptions,
|
||||
},
|
||||
];
|
||||
|
||||
if (!nodeOnly) {
|
||||
output.push({
|
||||
// Build file to be used for tinkering in modern browsers
|
||||
file: `${destination}.browser.js`,
|
||||
format: "iife",
|
||||
...outputOptions,
|
||||
...iifeOutputOptions,
|
||||
});
|
||||
}
|
||||
|
||||
// Non-babel builds
|
||||
const config = defineConfig([{ ...commonConfig, output }]);
|
||||
|
||||
if (!nodeOnly) {
|
||||
// Babel build
|
||||
config.push({
|
||||
...commonConfig,
|
||||
plugins: commonConfig.plugins.concat(
|
||||
babel({
|
||||
@ -84,8 +93,10 @@ const makeConfig = (outputOptions, globalOptions = {}, iifeOutputOptions = {}) =
|
||||
...iifeOutputOptions,
|
||||
},
|
||||
],
|
||||
},
|
||||
]);
|
||||
});
|
||||
}
|
||||
|
||||
return config;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -96,24 +107,32 @@ const makeConfig = (outputOptions, globalOptions = {}, iifeOutputOptions = {}) =
|
||||
* global scope in browser builds
|
||||
*/
|
||||
export const makeRollupConfig = (iifeName) =>
|
||||
makeConfig(
|
||||
{
|
||||
makeConfig({
|
||||
outputOptions: {
|
||||
exports: "default",
|
||||
globals: { jspsych: "jsPsychModule" },
|
||||
},
|
||||
{ external: ["jspsych"] },
|
||||
{ name: iifeName }
|
||||
);
|
||||
globalOptions: { external: ["jspsych"] },
|
||||
iifeOutputOptions: { name: iifeName },
|
||||
});
|
||||
|
||||
/**
|
||||
* Returns the rollup configuration for the core `jspsych` package.
|
||||
*/
|
||||
export const makeCoreRollupConfig = () =>
|
||||
makeConfig(
|
||||
{
|
||||
makeConfig({
|
||||
outputOptions: {
|
||||
exports: "named",
|
||||
name: "jsPsychModule",
|
||||
},
|
||||
{},
|
||||
{ footer: "var initJsPsych = jsPsychModule.initJsPsych;" }
|
||||
);
|
||||
iifeOutputOptions: { footer: "var initJsPsych = jsPsychModule.initJsPsych;" },
|
||||
});
|
||||
|
||||
/**
|
||||
* Returns the rollup configuration for Node.js-only packages
|
||||
*/
|
||||
export const makeNodeRollupConfig = () =>
|
||||
makeConfig({
|
||||
globalOptions: { external: ["jspsych"] },
|
||||
nodeOnly: true,
|
||||
});
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
// ts-config for the jspsych-dist monorepo
|
||||
// tsconfig for the jspsych-contrib monorepo
|
||||
"extends": "@jspsych/config/tsconfig.json",
|
||||
"compilerOptions": {
|
||||
// map jspsych-contrib package imports directly to their source files
|
||||
"paths": {
|
||||
// map jspsych-contrib package imports directly to their source files
|
||||
"@jspsych-contrib/*": ["../*/src"]
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@
|
||||
"compilerOptions": {
|
||||
// map package imports directly to their source files
|
||||
"paths": {
|
||||
"jspsych/tests": ["../jspsych/tests"],
|
||||
"jspsych": ["../jspsych/src"],
|
||||
"@jspsych/*": ["../*/src"]
|
||||
},
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
// shared base tsconfig for all jsPsych packages
|
||||
// based on https://github.com/formium/tsdx/blob/462af2d002987f985695b98400e0344b8f2754b7/templates/basic/tsconfig.json<<<<
|
||||
// based on https://github.com/formium/tsdx/blob/462af2d002987f985695b98400e0344b8f2754b7/templates/basic/tsconfig.json
|
||||
// see https://www.typescriptlang.org/tsconfig to better understand tsconfigs
|
||||
"compilerOptions": {
|
||||
"target": "ES6",
|
||||
@ -27,10 +27,7 @@
|
||||
"skipLibCheck": true,
|
||||
// error out if import and file system have a casing mismatch. Recommended by TS
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
// do note emit build output when running `tsc`
|
||||
"noEmit": true,
|
||||
// allow resolving json modules in tests (needed for transitive imports of jspsych in tests;
|
||||
// the jspsych package itself uses https://stackoverflow.com/a/61426303 instead)
|
||||
"resolveJsonModule": true
|
||||
// do not emit build output when running `tsc`
|
||||
"noEmit": true
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,7 @@
|
||||
"auto-bind": "^4.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
|
||||
import { pressKey, startTimeline } from "../utils";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
describe("case_sensitive_responses parameter", () => {
|
||||
test("has a default value of false", async () => {
|
||||
|
@ -1,7 +1,7 @@
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import { initJsPsych } from "../../src";
|
||||
import { pressKey, startTimeline } from "../utils";
|
||||
|
||||
describe("The css_classes parameter for trials", () => {
|
||||
test("Adds a single CSS class to the root jsPsych element", async () => {
|
||||
|
@ -1,7 +1,6 @@
|
||||
import { jest } from "@jest/globals";
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
|
||||
import { pressKey, startTimeline } from "../utils";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
jest.useFakeTimers();
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
import surveyText from "@jspsych/plugin-survey-text";
|
||||
|
||||
import { startTimeline } from "../utils";
|
||||
import { startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
describe("nested defaults", () => {
|
||||
test("work in basic situation", async () => {
|
||||
|
@ -1,7 +1,7 @@
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
import { flushPromises, pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import { initJsPsych } from "../../src";
|
||||
import { flushPromises, pressKey, startTimeline } from "../utils";
|
||||
|
||||
test("works on basic timeline", async () => {
|
||||
const jsPsych = initJsPsych();
|
||||
|
@ -1,8 +1,8 @@
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
import htmlSliderResponse from "@jspsych/plugin-html-slider-response";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import { initJsPsych } from "../../src";
|
||||
import { pressKey, startTimeline } from "../utils";
|
||||
|
||||
jest.useFakeTimers();
|
||||
|
||||
|
@ -2,9 +2,9 @@ import cloze from "@jspsych/plugin-cloze";
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
import surveyMultiChoice from "@jspsych/plugin-survey-multi-choice";
|
||||
import surveyText from "@jspsych/plugin-survey-text";
|
||||
import { clickTarget, pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import { JsPsych, JsPsychPlugin, ParameterType, TrialType } from "../../src";
|
||||
import { clickTarget, pressKey, startTimeline } from "../utils";
|
||||
|
||||
describe("standard use of function as parameter", () => {
|
||||
test("function value is used as parameter", async () => {
|
||||
|
@ -1,6 +1,5 @@
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
|
||||
import { pressKey, startTimeline } from "../utils";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
jest.useFakeTimers("modern");
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import { initJsPsych } from "../../src";
|
||||
import { pressKey, startTimeline } from "../utils";
|
||||
|
||||
describe("automatic progress bar", () => {
|
||||
test("progress bar does not display by default", async () => {
|
||||
|
@ -1,6 +1,5 @@
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
|
||||
import { flushPromises, startTimeline } from "../utils";
|
||||
import { flushPromises, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
describe("jsPsych.run()", () => {
|
||||
beforeEach(() => {
|
||||
|
@ -1,9 +1,9 @@
|
||||
import callFunction from "@jspsych/plugin-call-function";
|
||||
import htmlButtonResponse from "@jspsych/plugin-html-button-response";
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import { initJsPsych } from "../../src";
|
||||
import { pressKey, startTimeline } from "../utils";
|
||||
|
||||
describe("randomize order", () => {});
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import { initJsPsych } from "../../src";
|
||||
import { pressKey, startTimeline } from "../utils";
|
||||
|
||||
describe("loop function", () => {
|
||||
test("repeats a timeline when returns true", async () => {
|
||||
|
@ -1,8 +1,7 @@
|
||||
import sameDifferentHtml from "@jspsych/plugin-same-different-html";
|
||||
import surveyMultiSelect from "@jspsych/plugin-survey-multi-select";
|
||||
import surveyText from "@jspsych/plugin-survey-text";
|
||||
|
||||
import { clickTarget, pressKey, startTimeline } from "../utils";
|
||||
import { clickTarget, pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
jest.useFakeTimers();
|
||||
|
||||
|
@ -2,8 +2,7 @@ import instructions from "@jspsych/plugin-instructions";
|
||||
import sameDifferentHtml from "@jspsych/plugin-same-different-html";
|
||||
import surveyMultiSelect from "@jspsych/plugin-survey-multi-select";
|
||||
import surveyText from "@jspsych/plugin-survey-text";
|
||||
|
||||
import { clickTarget, pressKey, startTimeline } from "../utils";
|
||||
import { clickTarget, pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
jest.useFakeTimers();
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import { initJsPsych } from "../../src";
|
||||
import { pressKey, startTimeline } from "../utils";
|
||||
|
||||
describe("Basic data recording", () => {
|
||||
test("should be able to get rt after running experiment", async () => {
|
||||
|
@ -1,7 +1,7 @@
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import { initJsPsych } from "../../src";
|
||||
import { pressKey, startTimeline } from "../utils";
|
||||
|
||||
describe("The data parameter", () => {
|
||||
test("should record data to a trial", async () => {
|
||||
|
@ -1,7 +1,7 @@
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import { initJsPsych } from "../../src";
|
||||
import { pressKey, startTimeline } from "../utils";
|
||||
|
||||
describe("Data recording", () => {
|
||||
test("record focus events", async () => {
|
||||
|
@ -1,8 +1,7 @@
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
import reconstruction from "@jspsych/plugin-reconstruction";
|
||||
import surveyText from "@jspsych/plugin-survey-text";
|
||||
|
||||
import { clickTarget, pressKey, startTimeline } from "../utils";
|
||||
import { clickTarget, pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
describe("Trial parameters in the data", () => {
|
||||
test("Can be added by specifying the parameter with a value of true in save_trial_parameters", async () => {
|
||||
|
@ -1,12 +1,11 @@
|
||||
import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response";
|
||||
import { pressKey } from "@jspsych/test-utils";
|
||||
|
||||
import { JsPsych, initJsPsych } from "../../src";
|
||||
import { pressKey } from "../utils";
|
||||
import { initJsPsych } from "../../src";
|
||||
import testExtension from "./test-extension";
|
||||
|
||||
jest.useFakeTimers();
|
||||
|
||||
// https://github.com/jspsych/jsPsych/projects/6#card-64825201
|
||||
describe("jsPsych.extensions", () => {
|
||||
test("initialize is called at start of experiment", async () => {
|
||||
const jsPsych = initJsPsych({
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { JsPsych, JsPsychExtension } from "jspsych";
|
||||
import { JsPsych, JsPsychExtension } from "../../src";
|
||||
|
||||
class TestExtension implements JsPsychExtension {
|
||||
static info = {
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { keyDown, keyUp, pressKey } from "@jspsych/test-utils";
|
||||
|
||||
import { KeyboardListenerAPI } from "../../src/modules/plugin-api/KeyboardListenerAPI";
|
||||
import { TimeoutAPI } from "../../src/modules/plugin-api/TimeoutAPI";
|
||||
import { keyDown, keyUp, pressKey } from "../utils";
|
||||
|
||||
jest.useFakeTimers();
|
||||
|
||||
|
@ -4,5 +4,5 @@
|
||||
"baseUrl": ".",
|
||||
"resolveJsonModule": false // using https://stackoverflow.com/a/61426303 instead
|
||||
},
|
||||
"include": ["src", "test", "global.d.ts"]
|
||||
"include": ["src", "tests", "global.d.ts"]
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { startTimeline } from "jspsych/tests/utils";
|
||||
import { startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import animation from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { clickTarget, startTimeline } from "@jspsych/test-utils";
|
||||
import { initJsPsych } from "jspsych";
|
||||
import { clickTarget, startTimeline } from "jspsych/tests/utils";
|
||||
|
||||
import audioButtonResponse from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { startTimeline } from "jspsych/tests/utils";
|
||||
import { startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import callFunction from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { pressKey, startTimeline } from "jspsych/tests/utils";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import categorizeAnimation from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { clickTarget, startTimeline } from "jspsych/tests/utils";
|
||||
import { clickTarget, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import cloze from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { startTimeline } from "jspsych/tests/utils";
|
||||
import { startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import freeSort from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { startTimeline } from "jspsych/tests/utils";
|
||||
import { startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import fullscreen from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { clickTarget, startTimeline } from "jspsych/tests/utils";
|
||||
import { clickTarget, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import htmlButtonResponse from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { pressKey, startTimeline } from "jspsych/tests/utils";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import htmlKeyboardResponse from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { clickTarget, startTimeline } from "jspsych/tests/utils";
|
||||
import { clickTarget, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import htmlSliderResponse from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { pressKey, startTimeline } from "jspsych/tests/utils";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import iatHtml from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { pressKey, startTimeline } from "jspsych/tests/utils";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import iatImage from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { clickTarget, startTimeline } from "jspsych/tests/utils";
|
||||
import { clickTarget, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import imageButtonResponse from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { pressKey, startTimeline } from "jspsych/tests/utils";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import imageKeyboardResponse from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { clickTarget, startTimeline } from "jspsych/tests/utils";
|
||||
import { clickTarget, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import imageSliderResponse from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { pressKey, startTimeline } from "jspsych/tests/utils";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import instructions from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { clickTarget, startTimeline } from "jspsych/tests/utils";
|
||||
import { clickTarget, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import maxdiff from ".";
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
import audioKeyboardResponse from "@jspsych/plugin-audio-keyboard-response";
|
||||
import imageKeyboardResponse from "@jspsych/plugin-image-keyboard-response";
|
||||
import videoKeyboardResponse from "@jspsych/plugin-video-keyboard-response";
|
||||
import { startTimeline } from "@jspsych/test-utils";
|
||||
import { JsPsych, initJsPsych } from "jspsych";
|
||||
import { startTimeline } from "jspsych/tests/utils";
|
||||
|
||||
import preloadPlugin from ".";
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
module.exports = require("@jspsych/config/jest").makePackageConfig(__dirname);
|
@ -1,3 +0,0 @@
|
||||
import { makeRollupConfig } from "@jspsych/config/rollup";
|
||||
|
||||
export default makeRollupConfig("jsPsychRdk");
|
@ -1,44 +0,0 @@
|
||||
import { pressKey, startTimeline } from "jspsych/tests/utils";
|
||||
|
||||
import rdk from ".";
|
||||
|
||||
describe("rdk plugin", () => {
|
||||
test("choices and frame data are stored as arrays", async () => {
|
||||
const { getData } = await startTimeline([
|
||||
{
|
||||
type: rdk,
|
||||
number_of_dots: 200,
|
||||
RDK_type: 3,
|
||||
choices: ["a", "l"],
|
||||
correct_choice: "l",
|
||||
coherent_direction: 0,
|
||||
},
|
||||
]);
|
||||
|
||||
pressKey("l");
|
||||
const data = getData().values()[0];
|
||||
expect(data.choices).toStrictEqual(["a", "l"]);
|
||||
expect(Array.isArray(data.frame_rate_array)).toBe(true);
|
||||
});
|
||||
|
||||
test("responses are scored correctly", async () => {
|
||||
const trial = {
|
||||
type: rdk,
|
||||
number_of_dots: 200,
|
||||
RDK_type: 3,
|
||||
choices: ["a", "l"],
|
||||
correct_choice: "l",
|
||||
coherent_direction: 0,
|
||||
};
|
||||
|
||||
const { getData } = await startTimeline([trial, trial]);
|
||||
|
||||
pressKey("l");
|
||||
pressKey("a");
|
||||
|
||||
expect(getData().values()).toEqual([
|
||||
expect.objectContaining({ response: "l", correct: true }),
|
||||
expect.objectContaining({ response: "a", correct: false }),
|
||||
]);
|
||||
});
|
||||
});
|
File diff suppressed because it is too large
Load Diff
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { clickTarget, pressKey, startTimeline } from "jspsych/tests/utils";
|
||||
import { clickTarget, pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import reconstruction from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { mouseDownMouseUpTarget, startTimeline } from "jspsych/tests/utils";
|
||||
import { mouseDownMouseUpTarget, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import serialReactionTimeMouse from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { pressKey, startTimeline } from "jspsych/tests/utils";
|
||||
import { pressKey, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import serialReactionTime from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { clickTarget, startTimeline } from "jspsych/tests/utils";
|
||||
import { clickTarget, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import surveyHtmlForm from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { clickTarget, startTimeline } from "jspsych/tests/utils";
|
||||
import { clickTarget, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import surveyLikert from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { clickTarget, startTimeline } from "jspsych/tests/utils";
|
||||
import { clickTarget, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import surveyMultiChoice from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { clickTarget, startTimeline } from "jspsych/tests/utils";
|
||||
import { clickTarget, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import surveyMultiSelect from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { clickTarget, startTimeline } from "jspsych/tests/utils";
|
||||
import { clickTarget, startTimeline } from "@jspsych/test-utils";
|
||||
|
||||
import surveyText from ".";
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@
|
||||
"jspsych": ">=7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jspsych/config": "^0.1.0"
|
||||
"@jspsych/config": "^0.1.0",
|
||||
"@jspsych/test-utils": "^0.1.0"
|
||||
}
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user