From fb2f63ee262caff3e7b000a4b3d12423d0dddba0 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Tue, 17 May 2022 21:38:47 +0200 Subject: [PATCH] unify barrel exports --- packages/eval/evaluate.mjs | 8 +++++++- packages/eval/index.mjs | 1 + packages/eval/package.json | 4 ++-- packages/tone/package.json | 2 +- packages/webaudio/clockworker.mjs | 3 +-- packages/webaudio/index.mjs | 4 ++-- packages/webaudio/package.json | 1 + packages/webaudio/scheduler.mjs | 6 ++---- packages/webaudio/webaudio.mjs | 7 +++---- 9 files changed, 20 insertions(+), 16 deletions(-) create mode 100644 packages/eval/index.mjs diff --git a/packages/eval/evaluate.mjs b/packages/eval/evaluate.mjs index aeff7bdd..2f4d87ca 100644 --- a/packages/eval/evaluate.mjs +++ b/packages/eval/evaluate.mjs @@ -20,7 +20,13 @@ export const evalScope = async (...args) => { console.warn('@strudel.cycles/eval evalScope was called more than once.'); } scoped = true; - const modules = await Promise.all(args); + const results = await Promise.allSettled(args); + const modules = results.filter((result) => result.status === 'fulfilled').map((r) => r.value); + results.forEach((result, i) => { + if (result.status === 'rejected') { + console.warn(`evalScope: module with index ${i} could not be loaded:`, result.reason); + } + }); Object.assign(globalThis, ...modules, Pattern.prototype.bootstrap()); }; diff --git a/packages/eval/index.mjs b/packages/eval/index.mjs new file mode 100644 index 00000000..8b2718dd --- /dev/null +++ b/packages/eval/index.mjs @@ -0,0 +1 @@ +export * from './evaluate.mjs'; diff --git a/packages/eval/package.json b/packages/eval/package.json index f70a6114..e48fa9ad 100644 --- a/packages/eval/package.json +++ b/packages/eval/package.json @@ -2,7 +2,8 @@ "name": "@strudel.cycles/eval", "version": "0.0.5", "description": "Code evaluator for strudel", - "main": "evaluate.mjs", + "main": "index.mjs", + "type": "module", "directories": { "test": "test" }, @@ -13,7 +14,6 @@ "type": "git", "url": "git+https://github.com/tidalcycles/strudel.git" }, - "type": "module", "keywords": [ "tidalcycles", "strudel", diff --git a/packages/tone/package.json b/packages/tone/package.json index dcf9ead6..6502f34a 100644 --- a/packages/tone/package.json +++ b/packages/tone/package.json @@ -2,7 +2,7 @@ "name": "@strudel.cycles/tone", "version": "0.0.6", "description": "Tone.js API for strudel", - "main": "tone.mjs", + "main": "index.mjs", "type": "module", "repository": { "type": "git", diff --git a/packages/webaudio/clockworker.mjs b/packages/webaudio/clockworker.mjs index 5e9b0297..c13f79da 100644 --- a/packages/webaudio/clockworker.mjs +++ b/packages/webaudio/clockworker.mjs @@ -10,7 +10,7 @@ const urlifyFunction = (func) => URL.createObjectURL(new Blob([stringifyFunction const createWorker = (func) => new Worker(urlifyFunction(func)); // this class is basically the tale of two clocks -class ClockWorker { +export class ClockWorker { worker; audioContext; interval = 0.2; // query span @@ -72,4 +72,3 @@ class ClockWorker { } } -export default ClockWorker; diff --git a/packages/webaudio/index.mjs b/packages/webaudio/index.mjs index 7c5898ba..65a4b3ea 100644 --- a/packages/webaudio/index.mjs +++ b/packages/webaudio/index.mjs @@ -4,6 +4,6 @@ Copyright (C) 2022 Strudel contributors - see . */ -export { default as ClockWorker } from './clockworker.mjs'; -export { default as Scheduler } from './scheduler.mjs'; +export * from './clockworker.mjs'; +export * from './scheduler.mjs'; export * from './webaudio.mjs'; diff --git a/packages/webaudio/package.json b/packages/webaudio/package.json index ee63e6ac..1363d98a 100644 --- a/packages/webaudio/package.json +++ b/packages/webaudio/package.json @@ -3,6 +3,7 @@ "version": "0.0.6", "description": "Web Audio helpers for Strudel", "main": "index.mjs", + "type": "module", "directories": { "example": "examples" }, diff --git a/packages/webaudio/scheduler.mjs b/packages/webaudio/scheduler.mjs index 847cb2b7..dac8c409 100644 --- a/packages/webaudio/scheduler.mjs +++ b/packages/webaudio/scheduler.mjs @@ -4,10 +4,10 @@ Copyright (C) 2022 Strudel contributors - see . */ -import ClockWorker from './clockworker.mjs'; +import { ClockWorker } from './clockworker.mjs'; import { State, TimeSpan } from '@strudel.cycles/core'; -class Scheduler { +export class Scheduler { worker; pattern; constructor({ audioContext, interval = 0.2, onEvent }) { @@ -41,5 +41,3 @@ class Scheduler { this.pattern = pat; } } - -export default Scheduler; diff --git a/packages/webaudio/webaudio.mjs b/packages/webaudio/webaudio.mjs index 0b4c6f84..316dd038 100644 --- a/packages/webaudio/webaudio.mjs +++ b/packages/webaudio/webaudio.mjs @@ -4,17 +4,16 @@ Copyright (C) 2022 Strudel contributors - see . */ -import { Pattern, getFrequency, patternify2 } from '@strudel.cycles/core'; +// import { Pattern, getFrequency, patternify2 } from '@strudel.cycles/core'; +import * as strudel from '@strudel.cycles/core'; import { Tone } from '@strudel.cycles/tone'; +const { Pattern, getFrequency, patternify2 } = strudel; // let audioContext; -export const getAudioContext = () => { - return Tone.getContext().rawContext; /* if (!audioContext) { audioContext = new AudioContext(); } return audioContext; */ -}; const lookahead = 0.2;