mirror of
https://codeberg.org/uzu/strudel
synced 2026-07-18 16:46:10 -04:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 301fb5e59a | |||
| 9ac691c19e | |||
| 6e7512016c | |||
| 3bbd808783 | |||
| 7b245abd1a | |||
| 9e5c9c7539 | |||
| d14194db6a |
@@ -1,4 +1,4 @@
|
|||||||
<script src="https://unpkg.com/@strudel/web@1.0.3"></script>
|
<script src="https://unpkg.com/@strudel/web@1.2.6"></script>
|
||||||
<button id="play">PLAY</button>
|
<button id="play">PLAY</button>
|
||||||
<script>
|
<script>
|
||||||
initStrudel({
|
initStrudel({
|
||||||
|
|||||||
@@ -12,14 +12,14 @@
|
|||||||
"vite": "^6.0.11"
|
"vite": "^6.0.11"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@strudel/codemirror": "workspace:*",
|
"@strudel/codemirror": "1.2.6",
|
||||||
"@strudel/core": "workspace:*",
|
"@strudel/core": "1.2.5",
|
||||||
"@strudel/draw": "workspace:*",
|
"@strudel/draw": "1.2.5",
|
||||||
"@strudel/mini": "workspace:*",
|
"@strudel/mini": "1.2.5",
|
||||||
"@strudel/soundfonts": "workspace:*",
|
"@strudel/soundfonts": "1.2.6",
|
||||||
"@strudel/tonal": "workspace:*",
|
"@strudel/tonal": "1.2.5",
|
||||||
"@strudel/transpiler": "workspace:*",
|
"@strudel/transpiler": "1.2.5",
|
||||||
"@strudel/webaudio": "workspace:*"
|
"@strudel/webaudio": "1.2.6"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0"
|
"node": ">=18.0.0"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
export const bumpStreet = `// froos - "22 bump street", licensed with CC BY-NC-SA 4.0
|
export const bumpStreet = `// froos - "22 bump street", licensed with CC BY-NC-SA 4.0
|
||||||
samples('github:felixroos/samples')
|
samples('github:felixroos/samples')
|
||||||
samples('https://strudel.cc/tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/')
|
samples('https://strudel.b-cdn.net/tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/')
|
||||||
|
|
||||||
"<[0,<6 7 9>,13,<17 20 22 26>]!2>/2"
|
"<[0,<6 7 9>,13,<17 20 22 26>]!2>/2"
|
||||||
// make it 22 edo
|
// make it 22 edo
|
||||||
@@ -28,13 +28,12 @@ samples('https://strudel.cc/tidal-drum-machines.json', 'github:ritchse/tidal-dru
|
|||||||
.mask("<0@4 1@12>/4")
|
.mask("<0@4 1@12>/4")
|
||||||
.reset("<x@15 [x(3,8) x*[4 8]]>")
|
.reset("<x@15 [x(3,8) x*[4 8]]>")
|
||||||
// wait for it...
|
// wait for it...
|
||||||
).fast(2/3)
|
).fast(4/3)
|
||||||
//.crush(6) // remove "//" if you dare`;
|
//.crush(6) // remove "//" if you dare`;
|
||||||
|
|
||||||
export const trafficFlam = `// froos - "traffic flam", licensed with CC BY-NC-SA 4.0
|
export const trafficFlam = `// froos - "traffic flam", licensed with CC BY-NC-SA 4.0
|
||||||
|
|
||||||
samples('github:felixroos/samples')
|
samples('https://strudel.b-cdn.net/tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/')
|
||||||
samples('https://strudel.cc/tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/')
|
|
||||||
|
|
||||||
addVoicings('hip', {
|
addVoicings('hip', {
|
||||||
m11: ['2M 3m 4P 7m'],
|
m11: ['2M 3m 4P 7m'],
|
||||||
@@ -61,16 +60,14 @@ stack(
|
|||||||
s("rim*4").end(.05).bank('RolandTR808').speed(.8).room(.2)
|
s("rim*4").end(.05).bank('RolandTR808').speed(.8).room(.2)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.late("[0 .05]*2").late(12)
|
.late("[0 .05]*2").late(12).fast(2)
|
||||||
|
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const funk42 = `// froos - how to funk in 42 lines of code
|
export const funk42 = `// froos - how to funk in 42 lines of code
|
||||||
// adapted from "how to funk in two minutes" by marc rebillet https://www.youtube.com/watch?v=3vBwRfQbXkg
|
// adapted from "how to funk in two minutes" by marc rebillet https://www.youtube.com/watch?v=3vBwRfQbXkg
|
||||||
// thanks to peach for the transcription: https://www.youtube.com/watch?v=8eiPXvIgda4
|
// thanks to peach for the transcription: https://www.youtube.com/watch?v=8eiPXvIgda4
|
||||||
|
|
||||||
samples('github:felixroos/samples')
|
samples('https://strudel.b-cdn.net/tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/')
|
||||||
samples('https://strudel.cc/tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/')
|
|
||||||
|
|
||||||
setcps(.5)
|
setcps(.5)
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<button id="c">C</button>
|
<button id="c">C</button>
|
||||||
<button id="stop">stop</button>
|
<button id="stop">stop</button>
|
||||||
<script type="module">
|
<script type="module">
|
||||||
import { initStrudel } from '@strudel/web';
|
import { initStrudel, hush } from '@strudel/web';
|
||||||
initStrudel({
|
initStrudel({
|
||||||
prebake: () => samples('github:tidalcycles/dirt-samples'),
|
prebake: () => samples('github:tidalcycles/dirt-samples'),
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"vite": "^6.0.11"
|
"vite": "^6.0.11"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@strudel/web": "workspace:*"
|
"@strudel/web": "1.2.6"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0"
|
"node": ">=18.0.0"
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# @strudel/canvas
|
# @strudel/draw
|
||||||
|
|
||||||
Helpers for drawing with the Canvas API and Strudel
|
Helpers for drawing with the Canvas API and Strudel
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
npm i @strudel/canvas --save
|
npm i @strudel/draw --save
|
||||||
```
|
```
|
||||||
|
|||||||
Generated
+132
-20
@@ -41,7 +41,7 @@ importers:
|
|||||||
version: 2.2.7
|
version: 2.2.7
|
||||||
'@vitest/coverage-v8':
|
'@vitest/coverage-v8':
|
||||||
specifier: 3.0.4
|
specifier: 3.0.4
|
||||||
version: 3.0.4(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.10.10)(@vitest/ui@3.0.4)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(yaml@2.7.0))
|
version: 3.0.4(vitest@3.0.4)
|
||||||
'@vitest/ui':
|
'@vitest/ui':
|
||||||
specifier: ^3.0.4
|
specifier: ^3.0.4
|
||||||
version: 3.0.4(vitest@3.0.4)
|
version: 3.0.4(vitest@3.0.4)
|
||||||
@@ -85,29 +85,29 @@ importers:
|
|||||||
examples/codemirror-repl:
|
examples/codemirror-repl:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@strudel/codemirror':
|
'@strudel/codemirror':
|
||||||
specifier: workspace:*
|
specifier: 1.2.6
|
||||||
version: link:../../packages/codemirror
|
version: 1.2.6(@codemirror/lint@6.8.4)
|
||||||
'@strudel/core':
|
'@strudel/core':
|
||||||
specifier: workspace:*
|
specifier: 1.2.5
|
||||||
version: link:../../packages/core
|
version: 1.2.5
|
||||||
'@strudel/draw':
|
'@strudel/draw':
|
||||||
specifier: workspace:*
|
specifier: 1.2.5
|
||||||
version: link:../../packages/draw
|
version: 1.2.5
|
||||||
'@strudel/mini':
|
'@strudel/mini':
|
||||||
specifier: workspace:*
|
specifier: 1.2.5
|
||||||
version: link:../../packages/mini
|
version: 1.2.5
|
||||||
'@strudel/soundfonts':
|
'@strudel/soundfonts':
|
||||||
specifier: workspace:*
|
specifier: 1.2.6
|
||||||
version: link:../../packages/soundfonts
|
version: 1.2.6
|
||||||
'@strudel/tonal':
|
'@strudel/tonal':
|
||||||
specifier: workspace:*
|
specifier: 1.2.5
|
||||||
version: link:../../packages/tonal
|
version: 1.2.5
|
||||||
'@strudel/transpiler':
|
'@strudel/transpiler':
|
||||||
specifier: workspace:*
|
specifier: 1.2.5
|
||||||
version: link:../../packages/transpiler
|
version: 1.2.5
|
||||||
'@strudel/webaudio':
|
'@strudel/webaudio':
|
||||||
specifier: workspace:*
|
specifier: 1.2.6
|
||||||
version: link:../../packages/webaudio
|
version: 1.2.6
|
||||||
devDependencies:
|
devDependencies:
|
||||||
vite:
|
vite:
|
||||||
specifier: ^6.0.11
|
specifier: ^6.0.11
|
||||||
@@ -116,8 +116,8 @@ importers:
|
|||||||
examples/headless-repl:
|
examples/headless-repl:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@strudel/web':
|
'@strudel/web':
|
||||||
specifier: workspace:*
|
specifier: 1.2.6
|
||||||
version: link:../../packages/web
|
version: 1.2.6
|
||||||
devDependencies:
|
devDependencies:
|
||||||
vite:
|
vite:
|
||||||
specifier: ^6.0.11
|
specifier: ^6.0.11
|
||||||
@@ -2544,6 +2544,33 @@ packages:
|
|||||||
'@sinclair/typebox@0.27.8':
|
'@sinclair/typebox@0.27.8':
|
||||||
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
|
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
|
||||||
|
|
||||||
|
'@strudel/codemirror@1.2.6':
|
||||||
|
resolution: {integrity: sha512-zjKbnbnOY40dlIAQu1poq28rcngYliLsuDwXXVnJsaXzCZSVuXEOMq91LqY4IGz/2QUOIDGm663ziz6Nb4IXeg==}
|
||||||
|
|
||||||
|
'@strudel/core@1.2.5':
|
||||||
|
resolution: {integrity: sha512-XO6ICbfuGfvaQ4sZmfIFsPDcjFez/+AVpNgJnmks5gtMMQNXpr0reuee61tvMiu2k5QYKzxWgzDl2FF9pJeIgA==}
|
||||||
|
|
||||||
|
'@strudel/draw@1.2.5':
|
||||||
|
resolution: {integrity: sha512-ZI4WPxUsVsxgDoeZMHo6VfFf+S1tsj8ubKBeSLcf6lH29JqPp7Nz6tPmbomOV1fzazZ7+xpkC7z772MdtgWy2g==}
|
||||||
|
|
||||||
|
'@strudel/mini@1.2.5':
|
||||||
|
resolution: {integrity: sha512-GmTWSBt49C3ogBy0hjM3bmf6K12PaJ1JJLsEvQu7j5J+lUd2n7GmLYR1UL6fntY4yVqT8ZwMhfUf6vIgUCTNbw==}
|
||||||
|
|
||||||
|
'@strudel/soundfonts@1.2.6':
|
||||||
|
resolution: {integrity: sha512-F7eBhohkCXCMo8WiufSAhD3JCfL5GTgCh9RlOJVT+1swiFeIss1vUAWJR3WjonB6moL8BiuNpcYOqO6i6cFy4A==}
|
||||||
|
|
||||||
|
'@strudel/tonal@1.2.5':
|
||||||
|
resolution: {integrity: sha512-mX3uW0nWH8Sa52HTLwnxlR5BrejFX77abeaiMbp+kQCMrX9I+XRdf8rEr7gdeInB6f/y2TzTVFpnsNsB5jLdoA==}
|
||||||
|
|
||||||
|
'@strudel/transpiler@1.2.5':
|
||||||
|
resolution: {integrity: sha512-mBZWfQBzknvnIYsjjzR8D67A+uIZ1iZ60U2WoXT21q5luXKz2c95RcTpqdx3oOGpLK9K00lDzcKjhQDJtj4OKw==}
|
||||||
|
|
||||||
|
'@strudel/web@1.2.6':
|
||||||
|
resolution: {integrity: sha512-e6VltuX90zZz8JVe1FtN23DCaXA9p8zGDakp5OuUb5kZ5hC6cySFkkOsHdGC6dJ0EAsZSCKXMihRxgk9GhBwKA==}
|
||||||
|
|
||||||
|
'@strudel/webaudio@1.2.6':
|
||||||
|
resolution: {integrity: sha512-4LnyNvyeAXYNmXQGGw2f0chIkDr9Rbwo+SK6Y0p8C3W8juDiOfKq2ihSVph95yaBBPRYFJ5Kttj1kLknRHYsog==}
|
||||||
|
|
||||||
'@supabase/auth-js@2.67.3':
|
'@supabase/auth-js@2.67.3':
|
||||||
resolution: {integrity: sha512-NJDaW8yXs49xMvWVOkSIr8j46jf+tYHV0wHhrwOaLLMZSFO4g6kKAf+MfzQ2RaD06OCUkUHIzctLAxjTgEVpzw==}
|
resolution: {integrity: sha512-NJDaW8yXs49xMvWVOkSIr8j46jf+tYHV0wHhrwOaLLMZSFO4g6kKAf+MfzQ2RaD06OCUkUHIzctLAxjTgEVpzw==}
|
||||||
|
|
||||||
@@ -7094,6 +7121,9 @@ packages:
|
|||||||
engines: {node: '>=16 || 14 >=14.17'}
|
engines: {node: '>=16 || 14 >=14.17'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
superdough@1.2.6:
|
||||||
|
resolution: {integrity: sha512-zHEFfG+N4zhxJ9lUDf8p4Oj4sdGGQ5SrOPksdc0cKv5Yn0hzlNlMehEa5TkeIfDCiR27Y4H81ks7S8/CGSByhQ==}
|
||||||
|
|
||||||
supports-color@7.2.0:
|
supports-color@7.2.0:
|
||||||
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@@ -7102,6 +7132,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
|
supradough@1.2.4:
|
||||||
|
resolution: {integrity: sha512-/v3cL9fq05QCQVwbttLHNZcjyyFFz5wdKvg3j6V6moRXpDlQG89l8dQtUIpQvHsxYI5sXNod9rh5bf+Y4NMGeA==}
|
||||||
|
|
||||||
tabbable@6.2.0:
|
tabbable@6.2.0:
|
||||||
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
|
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
|
||||||
|
|
||||||
@@ -10019,6 +10052,79 @@ snapshots:
|
|||||||
|
|
||||||
'@sinclair/typebox@0.27.8': {}
|
'@sinclair/typebox@0.27.8': {}
|
||||||
|
|
||||||
|
'@strudel/codemirror@1.2.6(@codemirror/lint@6.8.4)':
|
||||||
|
dependencies:
|
||||||
|
'@codemirror/autocomplete': 6.18.4
|
||||||
|
'@codemirror/commands': 6.8.0
|
||||||
|
'@codemirror/lang-javascript': 6.2.2
|
||||||
|
'@codemirror/language': 6.10.8
|
||||||
|
'@codemirror/search': 6.5.8
|
||||||
|
'@codemirror/state': 6.5.1
|
||||||
|
'@codemirror/view': 6.36.2
|
||||||
|
'@lezer/highlight': 1.2.1
|
||||||
|
'@nanostores/persistent': 0.10.2(nanostores@0.11.3)
|
||||||
|
'@replit/codemirror-emacs': 6.1.0(@codemirror/autocomplete@6.18.4)(@codemirror/commands@6.8.0)(@codemirror/search@6.5.8)(@codemirror/state@6.5.1)(@codemirror/view@6.36.2)
|
||||||
|
'@replit/codemirror-vim': 6.3.0(@codemirror/commands@6.8.0)(@codemirror/language@6.10.8)(@codemirror/search@6.5.8)(@codemirror/state@6.5.1)(@codemirror/view@6.36.2)
|
||||||
|
'@replit/codemirror-vscode-keymap': 6.0.2(@codemirror/autocomplete@6.18.4)(@codemirror/commands@6.8.0)(@codemirror/language@6.10.8)(@codemirror/lint@6.8.4)(@codemirror/search@6.5.8)(@codemirror/state@6.5.1)(@codemirror/view@6.36.2)
|
||||||
|
'@strudel/core': 1.2.5
|
||||||
|
'@strudel/draw': 1.2.5
|
||||||
|
'@strudel/tonal': 1.2.5
|
||||||
|
'@strudel/transpiler': 1.2.5
|
||||||
|
'@tonaljs/tonal': 4.10.0
|
||||||
|
nanostores: 0.11.3
|
||||||
|
superdough: 1.2.6
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@codemirror/lint'
|
||||||
|
|
||||||
|
'@strudel/core@1.2.5':
|
||||||
|
dependencies:
|
||||||
|
fraction.js: 5.2.1
|
||||||
|
|
||||||
|
'@strudel/draw@1.2.5':
|
||||||
|
dependencies:
|
||||||
|
'@strudel/core': 1.2.5
|
||||||
|
|
||||||
|
'@strudel/mini@1.2.5':
|
||||||
|
dependencies:
|
||||||
|
'@strudel/core': 1.2.5
|
||||||
|
|
||||||
|
'@strudel/soundfonts@1.2.6':
|
||||||
|
dependencies:
|
||||||
|
'@strudel/core': 1.2.5
|
||||||
|
'@strudel/webaudio': 1.2.6
|
||||||
|
sfumato: 0.1.2
|
||||||
|
soundfont2: 0.5.0
|
||||||
|
|
||||||
|
'@strudel/tonal@1.2.5':
|
||||||
|
dependencies:
|
||||||
|
'@strudel/core': 1.2.5
|
||||||
|
'@tonaljs/tonal': 4.10.0
|
||||||
|
chord-voicings: 0.0.1
|
||||||
|
webmidi: 3.1.12
|
||||||
|
|
||||||
|
'@strudel/transpiler@1.2.5':
|
||||||
|
dependencies:
|
||||||
|
'@strudel/core': 1.2.5
|
||||||
|
'@strudel/mini': 1.2.5
|
||||||
|
acorn: 8.14.0
|
||||||
|
escodegen: 2.1.0
|
||||||
|
estree-walker: 3.0.3
|
||||||
|
|
||||||
|
'@strudel/web@1.2.6':
|
||||||
|
dependencies:
|
||||||
|
'@strudel/core': 1.2.5
|
||||||
|
'@strudel/mini': 1.2.5
|
||||||
|
'@strudel/tonal': 1.2.5
|
||||||
|
'@strudel/transpiler': 1.2.5
|
||||||
|
'@strudel/webaudio': 1.2.6
|
||||||
|
|
||||||
|
'@strudel/webaudio@1.2.6':
|
||||||
|
dependencies:
|
||||||
|
'@strudel/core': 1.2.5
|
||||||
|
'@strudel/draw': 1.2.5
|
||||||
|
superdough: 1.2.6
|
||||||
|
supradough: 1.2.4
|
||||||
|
|
||||||
'@supabase/auth-js@2.67.3':
|
'@supabase/auth-js@2.67.3':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@supabase/node-fetch': 2.6.15
|
'@supabase/node-fetch': 2.6.15
|
||||||
@@ -10554,7 +10660,7 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@vitest/coverage-v8@3.0.4(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.10.10)(@vitest/ui@3.0.4)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(yaml@2.7.0))':
|
'@vitest/coverage-v8@3.0.4(vitest@3.0.4)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ampproject/remapping': 2.3.0
|
'@ampproject/remapping': 2.3.0
|
||||||
'@bcoe/v8-coverage': 1.0.2
|
'@bcoe/v8-coverage': 1.0.2
|
||||||
@@ -15665,12 +15771,18 @@ snapshots:
|
|||||||
pirates: 4.0.6
|
pirates: 4.0.6
|
||||||
ts-interface-checker: 0.1.13
|
ts-interface-checker: 0.1.13
|
||||||
|
|
||||||
|
superdough@1.2.6:
|
||||||
|
dependencies:
|
||||||
|
nanostores: 0.11.3
|
||||||
|
|
||||||
supports-color@7.2.0:
|
supports-color@7.2.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
has-flag: 4.0.0
|
has-flag: 4.0.0
|
||||||
|
|
||||||
supports-preserve-symlinks-flag@1.0.0: {}
|
supports-preserve-symlinks-flag@1.0.0: {}
|
||||||
|
|
||||||
|
supradough@1.2.4: {}
|
||||||
|
|
||||||
tabbable@6.2.0: {}
|
tabbable@6.2.0: {}
|
||||||
|
|
||||||
tailwindcss@3.4.17:
|
tailwindcss@3.4.17:
|
||||||
|
|||||||
Reference in New Issue
Block a user