{"id":15575076,"url":"https://github.com/dan-online/nova","last_synced_at":"2025-04-24T01:06:49.478Z","repository":{"id":41308950,"uuid":"229116855","full_name":"dan-online/Nova","owner":"dan-online","description":"🚀🔥Nova, the programming language built for powerful simplicity","archived":false,"fork":false,"pushed_at":"2023-12-03T08:23:45.000Z","size":69046,"stargazers_count":5,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-24T01:06:39.389Z","etag":null,"topics":["cli-nova","coding-language","computer-science","easy","language","learning","node","nova","nova-beta","novascripts","ns","powerful","programming-language","simple"],"latest_commit_sha":null,"homepage":"https://npmjs.org/package/cli-nova","language":"JavaScript","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/dan-online.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/.vscode/launch.json","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["dan-online"]}},"created_at":"2019-12-19T18:38:14.000Z","updated_at":"2023-10-29T04:58:07.000Z","dependencies_parsed_at":"2025-03-07T02:33:11.495Z","dependency_job_id":null,"html_url":"https://github.com/dan-online/Nova","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dan-online%2FNova","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dan-online%2FNova/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dan-online%2FNova/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dan-online%2FNova/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dan-online","download_url":"https://codeload.github.com/dan-online/Nova/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250540942,"owners_count":21447427,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cli-nova","coding-language","computer-science","easy","language","learning","node","nova","nova-beta","novascripts","ns","powerful","programming-language","simple"],"created_at":"2024-10-02T18:22:01.719Z","updated_at":"2025-04-24T01:06:49.461Z","avatar_url":"https://github.com/dan-online.png","language":"JavaScript","funding_links":["https://github.com/sponsors/dan-online","https://patreon.com/mayorchano","https://www.patreon.com/mayorchano"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg width=\"300\" src=\"https://github.com/dan-online/Nova/raw/master/build/round.png\"\u003e\n\u003ch1 align=\"center\"\u003eWelcome to Nova 👋 (Beta)\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"\"\u003e\n    \u003cimg alt=\"Nova NPM downloads\" src=\"https://img.shields.io/npm/dt/nova\"\u003e\n\u003c/a\u003e\n\u003ca href=\"\"\u003e\n    \u003cimg alt=\"Nova Languages\" src=\"https://img.shields.io/github/languages/top/dan-online/nova\"\u003e\n\u003c/a\u003e\n\u003ca href=\"\"\u003e\n    \u003cimg alt=\"Nova Code Size\" src=\"https://img.shields.io/github/languages/code-size/dan-online/nova\"\u003e\n\u003c/a\u003e\n\u003ca href=\"LICENSE.md\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Nova License: MIT\" src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"package.json\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Nova Version\" src=\"https://img.shields.io/github/package-json/v/dan-online/nova\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.codacy.com?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=dan-online/Nova\u0026amp;utm_campaign=Badge_Grade\"\u003e\u003cimg alt=\"Nova Codacy\" src=\"https://api.codacy.com/project/badge/Grade/ec863653fbde4d38889e471a8508fb72\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003c/p\u003e\n\n## Table of Contents\n\n- [About](#About)\n- [Usage](#usage)\n  - [Install](#install)\n  - [Run](#run)\n  - [Documentation](#documentation)\n\n# About\n\nNova is an opensource programming language built on node. The purpose of Nova is to make a pure psuedo-code language that is the perfect introduction into computer science. Completely built on [node](https://github.com/nodejs/node) v12 and connected to npm packages, Nova is optimized for running on mac, linux and windows!\n\nI made this project to make a pseudocode based language that simplified computer science. Nova's main purpose is to make it easier for non-programmers to learn the basics of coding. Using words such as \"set\" and \"as\" and \"equals\" makes it easier to follow and understand what is happening.\n\nTo get started go to [usage](#usage) and start your Nova journey today. \n\nTo support me, [DanCodes](https://github.com/dan-online), you can donate to my [Patreon](https://patreon.com/mayorchano) or just give this project a star :)\n\n# Usage\n\nTo use nova you can either evaluate with the \"-e/--eval\" option in the command line or make a novascript. A novascript is a file ending in ``.ns`` and is made for nova. These files can be ran by the nova-cli.\n\n## Install\n\n```bash\n$ npm i -g cli-nova\n```\n\n## Run\n\n```bash\n$ nova [options] [file]\n```\n\n## Example runs\n\n```bash\n$ nova test.ns\n```\n\n```bash\n$ nova --verbose test.ns\n```\n\n```bash\n$ nova -e \"output.log('HI!');\"\n```\n\n## Examples\n\n```swift\n// We recommend setting swift for language highlighting\n\nset variable as \"hello\"; // \"Strings\"\noutput.log(variable); // Logging\n\nset two as 1 + 1; // Numbers\nset array as [1,2,3,4,5];\n\nset chalk as include(\"chalk\"); // Npm integration\noutput.log(chalk.red(\"Red text\")); // Logs red\n\noutput.log(12 / 2 % 2 + 1); // Logs 3\n\nif two equals 2 then output.log(\"two is equal to 2\");\n\nif two isnot 2 then output.log(\"won't be logged\") else output.log(\"two is not not equal to 2\");\n\n```\n\n# Documentation\n\n## Variables\n\nFor variables we use two keywords, \"set\" and \"as\". All variable values are evaluated on initiation and stored in memory. They can be referenced at any time throughout the code and are global.\n\n```swift\nset hello as \"world1\";\noutput.log(\"hello \" + hello.slice(0, -1)); // output: hello world\n```\n\nVariables can also be set to npm modules and other files. Modules can be installed using [npm](https://npmjs.org).\n\n```swift\nset chalk as include(\"chalk\");\nset path as include(\"path\");\nset redText as chalk.red(\"red text\");\n\noutput.log(redText);\n\nset package as include(path.resolve(\"./package.json\"));\noutput.log(\"Running v\" + package.version);\n\n```\n\n## Global Variables\n\n### Args\n\nDescription: Args is defined as arguments passed in the command line when starting nova.\n\nType: Array\n\nExample:\n\n```bash\n// test.ns\noutput.log(args);\n\n// Command line\n$ nova test.ns --test\n['--test']\n```\n\n### Platform\n\nDescription: The platform the program is being run on, for example: linux, darwin and win32\n\nType: String\n\nExample:\n\n```bash\n// test.ns\noutput.log(platform);\n\n// Command line on macbook\n$ nova test.ns\ndarwin\n```\n\n### Process\n\nDescription: The process running containing information and functions to manipulate\n\nType: Object\n\nExamples:\n\n```bash\n// test.ns\nset exitCode as 0;\noutput.log(\"Process id is \" + process.pid);\nprocess.exit(exitCode);\n\n// Command line\n$ nova test.ns\nProcess id is 12345\n```\n\n### Nova\n\nDescription: File information and Nova information\n\nType: Object\n\nExamples:\n\n```bash\n// test.ns\noutput.log(Nova);\n\n// Command line\n$ nova test.ns\n{\n  directory: '/files',\n  node: 'vX',\n  version: 'vX',\n}\n```\n\n### Tickers\n\nDescription: Intervals and timers that allow you to run something every certain time or after a certain time\n\nType: Function\n\nExamples:\n\n```bash\n// test.ns\nset timer as startTimer(() =\u003e { output.log(\"After one second, I have logged\") }, 1000);\nset interval as startInterval(() =\u003e { output.log(\"I log every 5 seconds\") }, 5000);\n\nstartTimer(() =\u003e { stopTimer(timer); stopInterval(interval); }, 11000);\n\n// Command line\n$ nova test.ns\nAfter one second, I have logged\nI log every 5 seconds\nI log every 5 seconds\n```\n\n### Include\n\nDescription: Include is an alias of node require and allows users to import npm modules and seperate files.\n\nType: Object\n\nExamples:\n\n```bash\n// test.ns\nset chalk as include(\"chalk\");\noutput.log(chalk.red(\"I am red text :)\"));\n\n// Command line\n$ nova test.ns\nI am red text :)\n```\n\n### Output\n\nDescription: Output is an alias of node console and lets you output to the console\n\nType: Object\n\nExamples:\n\n```bash\n// test.ns\noutput.clear(); // This clears the output\noutput.log(\"This is regular log\");\noutput.error(\"This is an error\");\noutput.info(\"This is some info\");\n\n// Command line\nThis is regular log\nThis is an error\nThis is some info\n```\n\n## Author\n\n👤 **DanCodes \u003cdan@dancodes.online\u003e**\n\n- Website: https://dancodes.online\n- Github: [@dan-online](https://github.com/dan-online)\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome!\u003cbr /\u003eFeel free to check [issues page](https://github.com/dan-online/Nova/issues).\n\n## Show your support\n\nGive a ⭐️ if this project helped you!\n\n\u003ca href=\"https://www.patreon.com/mayorchano\"\u003e\n\u003cimg src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\"\u003e\n\u003c/a\u003e\n\n## 📝 License\n\nCopyright © 2020 [DanCodes \u003cdan@dancodes.online\u003e](https://github.com/dan-online).\u003cbr /\u003e\nThis project is [MIT](LICENSE.md) licensed.\n\n---\n\n_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_\n\n```\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdan-online%2Fnova","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdan-online%2Fnova","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdan-online%2Fnova/lists"}