Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate citation strings from citation.cff file as part of build process #3385

Merged
merged 49 commits into from
Dec 18, 2024

Conversation

cherriechang
Copy link
Collaborator

No description provided.

Copy link

changeset-bot bot commented Aug 27, 2024

🦋 Changeset detected

Latest commit: faf6cce

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 58 packages
Name Type
@jspsych/plugin-serial-reaction-time-mouse Minor
@jspsych/plugin-canvas-keyboard-response Minor
@jspsych/plugin-audio-keyboard-response Minor
@jspsych/plugin-image-keyboard-response Minor
@jspsych/plugin-video-keyboard-response Minor
@jspsych/plugin-canvas-button-response Minor
@jspsych/plugin-canvas-slider-response Minor
@jspsych/plugin-html-keyboard-response Minor
@jspsych/plugin-audio-button-response Minor
@jspsych/plugin-audio-slider-response Minor
@jspsych/plugin-image-button-response Minor
@jspsych/plugin-image-slider-response Minor
@jspsych/plugin-initialize-microphone Minor
@jspsych/plugin-video-button-response Minor
@jspsych/plugin-video-slider-response Minor
@jspsych/plugin-categorize-animation Minor
@jspsych/plugin-html-button-response Minor
@jspsych/plugin-html-slider-response Minor
@jspsych/plugin-same-different-image Minor
@jspsych/plugin-serial-reaction-time Minor
@jspsych/plugin-visual-search-circle Minor
@jspsych/plugin-webgazer-init-camera Minor
@jspsych/plugin-html-audio-response Minor
@jspsych/plugin-html-video-response Minor
@jspsych/plugin-same-different-html Minor
@jspsych/plugin-survey-multi-choice Minor
@jspsych/plugin-survey-multi-select Minor
@jspsych/plugin-webgazer-calibrate Minor
@jspsych/extension-mouse-tracking Minor
@jspsych/plugin-initialize-camera Minor
@jspsych/plugin-webgazer-validate Minor
@jspsych/plugin-categorize-image Minor
@jspsych/plugin-survey-html-form Minor
@jspsych/plugin-virtual-chinrest Minor
@jspsych/extension-record-video Minor
@jspsych/plugin-categorize-html Minor
@jspsych/plugin-reconstruction Minor
@jspsych/plugin-browser-check Minor
@jspsych/plugin-call-function Minor
@jspsych/plugin-external-html Minor
@jspsych/plugin-mirror-camera Minor
@jspsych/plugin-survey-likert Minor
@jspsych/plugin-instructions Minor
@jspsych/extension-webgazer Minor
@jspsych/plugin-survey-text Minor
@jspsych/plugin-fullscreen Minor
@jspsych/plugin-animation Minor
@jspsych/plugin-free-sort Minor
@jspsych/plugin-iat-image Minor
@jspsych/plugin-sketchpad Minor
@jspsych/plugin-iat-html Minor
@jspsych/plugin-maxdiff Minor
@jspsych/plugin-preload Minor
@jspsych/plugin-resize Minor
@jspsych/plugin-survey Minor
@jspsych/plugin-cloze Minor
jspsych Minor
@jspsych/config Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

packages/config/rollup.js Outdated Show resolved Hide resolved
packages/config/rollup.js Outdated Show resolved Hide resolved
@bjoluc
Copy link
Member

bjoluc commented Sep 11, 2024

@jodeleeuw When you updated the dependencies, including esbuild from 0.15.14 to 0.23.1 in 59ce0b3, did you read the changelogs? There seem to be a lot of breaking changes in esbuild and we need to be confident that they are not breaking for @jspsych/config users (unless you are planning to release a config v4 for any other reason 🤔 ). I didn't get suspicious about this earlier because your commit message didn't make it clear to me that you were updating dependencies 🙈

Copy link
Member

@bjoluc bjoluc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

esbuild has a define option to specify code replacements. I think we should be using that instead of a custom rollup plugin to keep it simple.

@bjoluc
Copy link
Member

bjoluc commented Sep 12, 2024

@jodeleeuw I double-checked and committed the rollup dependency updates in #3396 – they're all welcome and independent of the .json issue. Re that issue: Because we are using esbuild via the rollup plugin, the final bundling is performed by rollup. esbuild never sees @citation-js/core/package.json, hence can't run its JSON loader on it. Your workaround with the additional Rollup JSON loader is good for now, although the more desirable solution might be to inline the version string right in the citation-js build (like most other packages do too). I'm too busy to contribute there ATM though 😕

@jodeleeuw
Copy link
Member

@cherriechang I'd like to get this merged soon. We need some docs still I think.

@jadeddelta we could also include the CFF files in the v8 update for the contrib repo?

packages/plugin-preload/CITATION.cff Outdated Show resolved Hide resolved
packages/extension-mouse-tracking/CITATION.cff Outdated Show resolved Hide resolved
packages/config/generateCitations.js Show resolved Hide resolved
packages/plugin-html-keyboard-response/CITATION.cff Outdated Show resolved Hide resolved
@jodeleeuw jodeleeuw merged commit 2ddc120 into main Dec 18, 2024
4 checks passed
@jodeleeuw jodeleeuw deleted the add-citation-module branch December 18, 2024 22:36
@bjoluc
Copy link
Member

bjoluc commented Dec 18, 2024

Hi all, I just received the notification mail and had a quick look at the diff. I think I would much prefer replacing a __CITATIONS__ reference (with a global TS definition) over replacing a '__CITATIONS__' string as IMO with the former variant the intention is clearer and the typing more consistent. Just posting the wish here, guessing that you have most likely had good reasons to rule that path out...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants