{"id":45383505,"url":"https://github.com/small-js/smalljs","last_synced_at":"2026-02-21T17:01:16.017Z","repository":{"id":191709974,"uuid":"680794307","full_name":"Small-JS/SmallJS","owner":"Small-JS","description":"Smalltalk development in your browser and Node.js","archived":false,"fork":false,"pushed_at":"2026-02-02T22:49:15.000Z","size":9007,"stargazers_count":182,"open_issues_count":8,"forks_count":7,"subscribers_count":11,"default_branch":"main","last_synced_at":"2026-02-03T11:45:45.785Z","etag":null,"topics":["javascript","node-js","nodejs","object-oriented-programming","smalltalk","smalltalk-language","smalltalk-virtual-machine","typescript","webdevelopment"],"latest_commit_sha":null,"homepage":"","language":"Smalltalk","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Small-JS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-08-20T12:31:56.000Z","updated_at":"2026-02-02T22:49:19.000Z","dependencies_parsed_at":"2026-02-21T15:05:25.385Z","dependency_job_id":null,"html_url":"https://github.com/Small-JS/SmallJS","commit_stats":null,"previous_names":["small-js/smalljs"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/Small-JS/SmallJS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Small-JS%2FSmallJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Small-JS%2FSmallJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Small-JS%2FSmallJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Small-JS%2FSmallJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Small-JS","download_url":"https://codeload.github.com/Small-JS/SmallJS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Small-JS%2FSmallJS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29688216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T15:51:39.154Z","status":"ssl_error","status_checked_at":"2026-02-21T15:49:03.425Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","node-js","nodejs","object-oriented-programming","smalltalk","smalltalk-language","smalltalk-virtual-machine","typescript","webdevelopment"],"created_at":"2026-02-21T17:00:45.362Z","updated_at":"2026-02-21T17:01:16.011Z","avatar_url":"https://github.com/Small-JS.png","language":"Smalltalk","readme":"# SmallJS README\r\n\r\n\u003cp align=\"center\" width=\"100%\" style=\"font-size: large; font-weight: bold;\"\u003e\r\n\t\u003cimg src=\"Documentation/SmallJS.png\" alt=\"SmallJS logo\" width=\"300\" height=\"300\"/\u003e\r\n\t\u003cbr\u003e\r\n\t\u003clabel\u003eOfficial website: \u003c/label\u003e\r\n\t\u003ca href=\"https://small-js.org\" style=\"font-weight: bold;\"\u003esmall-js.org\u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n## News - SmallJS 2.0 released! - 21-FEB-2026\r\n\r\n[SmallJS 2.0](https://small-js.org/News) now has full support for async, await and promises!\\\r\nAlmost all async calls classes have been converted form callbacks to promises,\\\r\nmaking code cleaner, more concise and easier to debug.\\\r\nCheck out [Async.md](./Documentation/Language/Async.md) for usage instructions.\\\r\nFor other improvements, check out the website.\r\n\r\nThe SmallJS website now has a [tutorial page](https://small-js.org/Tutorial) for learning SmallJS and Smalltalk.\\\r\nThe Smalltalk language and core library classes are explained.\\\r\nExamples can be done interactively using the online [Playground](https://small-js.org/Playground) .\\\r\n(If you have any feedback on the tutorial, please create an issue in the [website repo](https://github.com/Small-JS/Website/issues) ).\r\n\r\nThe full [class reference](https://small-js.org/Reference) documentation is now also available on the website.\r\n\r\n## Introducing SmallJS\r\n\r\nSmallJS is a free and open source implementation of the elegant and powerful Smalltalk-80 (ST) language.\\\r\nIt compiles to JavaScript (JS) that runs in modern browsers or in recent Node.js.\\\r\n\r\nSmallJS is file based, not image based, so you can develop in your favorite IDE.\\\r\nThe default setup is for Visual Studio Code, with ST syntax coloring and step-debugging!\\\r\nYou code separately from the SmallJS base libraries (image).\\\r\nOnly the parts you use are imported automatically when running your app.\r\n\r\nSmallJS is _fully_ object oriented, so customizable on every level.\\\r\nFor usability, ST class and method names are kept mostly equal to their familiar JS counterparts.\r\n\r\nJS libraries already encapsulated in ST are:\r\n\r\n- Browsers: Document, Window, HTML elements, events, CSS, streams.\r\n- Node.js: HTTP server, Express, file mgmt, 5 databases, 5 AI providers.\r\n- Desktop apps: NWjs, Electron, NodeGui.\r\n\r\nTo get you started quickly, there are several example projects using the above.\r\n\r\n## Code example\r\n\r\n![Example.png](Example.png)\r\n\r\n## Installing\r\n\r\nTo install SmallJS check out:\r\n[Installing.md](Documentation/Installing/Installing.md)\r\n\r\n## Examples\r\n\r\nFor a first impression of running SmallJS code, see the example projects:\r\n[Examples.md](Examples/Examples.md)\r\n\r\n## Playground\r\n\r\nTo get a feel for Smalltalk and to quickly test out ST expressions,\r\na playground is accessible though the offical website:\r\n[small-js.org/Playground](https://small-js.org/Playground)\r\n\r\n## Documentation\r\n\r\nThe complete SmallJS documentation, including a tutorial, is located here:\r\n[Documentation.md](Documentation/Documentation.md)\r\n\r\n## Contributions\r\n\r\nContributions to SmallJS that are not part of the main system,\r\nbut show interesting applications:\r\n[Contributions.md](Contributions/Contributions.md)\r\n\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmall-js%2Fsmalljs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmall-js%2Fsmalljs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmall-js%2Fsmalljs/lists"}