Scratch ne fournit pas de définitions de type pour leurs bibliothèques, nous avons donc écrit le nôtre.
Ce référentiel ne contient que des types pour le runtime et l'éditeur de gratter de vanille (LLK). Pour les types supplémentaires dans le Turbowarp Runtime, voir @ turbowarp / types-tw.
Une version peut-être plus lisible par l'homme des définitions de typeScript peut être trouvée à: https://tubowarp.github.io/types/
| Module | Statut |
|---|---|
| scratch-vm | ✅ |
| faire des rayures | ✅ |
| Scratch-SVG-Rendeur | ✅ |
| crampons à gratter | ✅ |
| gratter-audio | ✅ |
| storage à gratter | ✅ |
| carreau | ✅ |
| blocs à gratter | ? |
| Scratch-Gui redux | ✅ |
| Scratch-Paint Redux | ✅ |
| scratch-www redux |
Tout d'abord, installez les types:
npm install @turbowarp/types
Ensuite, vous devez utiliser tsconfig.json pour configurer TypeScript pour savoir comment trouver les types.
{
"compilerOptions" : {
// If you use require() or "module": "CommonJS", remove these lines.
// If you use "module": "ES6", synthetic default imports are required.
"module" : "ES6" ,
"allowSyntheticDefaultImports" : true ,
// Tell TypeScript where to find the types for Scratch libraries.
"paths" : {
"scratch-vm" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-render" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-svg-renderer" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-render-fonts" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-storage" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-audio" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-parser" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-blocks" : [ "./node_modules/@turbowarp/types/index.d.ts" ]
} ,
// Recommended strictness settings. Change as you please.
"strictNullChecks" : true ,
"noImplicitAny" : true ,
"noImplicitThis" : true
}
}Ensuite, dans votre javascript ou dactylographe:
import VM from 'scratch-vm' ;
const vm = new VM ( ) ;
vm . loadProject ( /* read a project somehow */ new ArrayBuffer ( 100 ) )
. then ( ( ) => {
vm . start ( ) ;
vm . greenFlag ( ) ;
} ) ;Ou si vous utilisez toujours require ():
const VM = require ( 'scratch-vm' ) ;
const vm = new VM ( ) ;
vm . loadProject ( /* read a project somehow */ new ArrayBuffer ( 100 ) )
. then ( ( ) => {
vm . start ( ) ;
vm . greenFlag ( ) ;
} ) ; Il y a quelques tests dans le dossier tests . Ces fichiers ne sont jamais réellement exécutés, mais le code sera vérifié.
Les définitions de type et le code de test sont concédées sous licence Apache 2.0.
Les bibliothèques en cours de documentation peuvent être sous différentes licences.