🔱 Javascript's God Mode. No VM. No Bytecode. No GC. Just native binaries.

Overview

Tweet


Javascript's God Mode: one language to rule them all.

Code everything, everywhere, for everything, in JavaScript.

No VM. No Bytecode. No packaging. No Garbage Collector. Fully compiled to native binaries.

Help needed to integrate NodeJS std modules

Table of contents

About NectarJS

NectarJS is a JavaScript native compiler aiming to make JavaScript universal, NectarJS is able to compile native apps for Windows, Mac, Linux, iOS, Android, Raspberry, STM32 and more.

NectarJS is in active development, join us on Discord or IRC if you need more information.

Main objectives

  • Supporting EcmaScript 3 standard (then 5, 6 ...)
  • Supporting NodeJS and NPM ecosystem
  • Supporting a maximum of platforms (Windows, Mac, Linux, Android, Arduino, ...)
  • Being secure
  • Embeding debuging tools
  • Compile everything that can be transpiled in JS: Ruby (Opal), Python (Transcript, Brython, JavaScrypthon), TypeScript ...

Changelog

Sponsors

Contributors

Get started

Installation

Install NectarJS from NPM

npm install -g nectarjs

Install GCC/CLang for your platform

You can also install Linux for Windows and use a linux system on Windows

You need MinGW with POSIX threads

  • Linux / FreeBSD Install it with your distro (apt install gcc, yum install gcc, ...). You can use GCC, CLANG, as well as any derivative of those compilers (arm-gcc ...)

  • Apple iOS Install xCode and you are ready.

You can check your installation with npm start njs_test

Usage

Simplest way to use NectarJS:

nectar file.js

The output file name will be automatically chosen regarding the target. You can specify another output with -o something.out

You can select a preset (see Advanced usage):

nectar file.js --preset [none|speed|size]

You can also run the compiled executable just after compilation using --run:

nectar file.js --run

You can enable the quiet mode with --quiet:

nectar file.js --quiet

Changing the stack size (usefull on Windows):

nectar --stack 10000000 flood.js

You can install a module with:

nectar -i module_name

You can see the module list and participate in their development here: https://github.com/NectarJS/nectar_modules

You can initialize an empty module with the command:

nectar --init-module module_name --author me

For more informations about compilation output, use --verbose

For help, use --help

Advanced usage

Benchmarks

Compiled with GCC v10.2.0 on Windows

NodeJS v12.8.1 QuickJS 2020-07-05 NectarJS v0.6.104
sort(1e6) [No preset]
- Time: 0.33s - 0.33s
- Memory: 7.0Mb - 1.0Mb
- Filesize: 28.6Mb - 424Kb
sort(1e6) [+Size preset]
- Filesize: 28.6Mb - 260Kb
sort(1e6) [+Speed preset]
- Time: 0.33s - 0.20s
matrix(256) [No preset]
- Time: 0.33s - 0.21s
- Memory: 7.0Mb - 1.0Mb
- Filesize: 28.6Mb - 405Kb
matrix(256) [+Size preset]
- Filesize: 28.6Mb - 251Kb
matrix(1e6) [+Speed preset]
- Time: 0.33s - 0.11s
  • Some code can be evaluated compile-time

Supported platforms

Actively tested for

  • Windows
    • win-x86-32
    • win-x86-64
  • Linux
    • linux-x86-32
    • linux-x86-64
    • linux-arm32v7
  • Arduino
    • arduino-nano
    • arduino-uno
    • arduino-mega1280
    • arduino-mega2560
  • STM32 Nucleo
    • nucleo-l152re
    • nucleo-l432kc
    • nucleo-f446re
  • Mobile
    • android
  • Web
    • wasm
    • wast
    • asm-js
  • macOS
  • Sun OS

Development

This project is in heavy development and a lot features are not implemented yet.

Contributing

Code Of Conduct

TODO

Stores

NectarJS compiled apps are tested to be publishable on:

  • Apple Store

ECMAScript Support

NectarJS already supports more than 80% of ES3.

Prototype
  • .call()
  • .bind()
Array
  • .length
  • .push(value)
Class
  • constructor
  • methods
  • static methods
Console
  • .log(variadic)
JSON
  • .parse(str)
  • .stringify(obj)
Math **(DONE)**
  • [All static methods and constants]
Object
  • .keys
performance
  • timeOrigin
  • .now()
String
  • .length
  • .toString()
  • .indexOf(needle)
  • .lastIndexOf(needle)
  • .search(needle)
  • .slice(start, end)
  • .substring(start, end)
  • .substr(start, end)
  • .replace(needle, str)
Syntax
  • for
  • while / do while
  • if / else if / else
  • try / catch / finally
  • function / lambda
  • class
  • new
  • typeof
  • instanceof
  • undefined
  • null
  • Infinite
  • NaN / isNaN
  • true / false
Comments
  • Feature request: HTML compiler for GUIs

    Feature request: HTML compiler for GUIs

    Hi, really great work here. I'm curious what kind of effort it would take to take a standard markup language, like xml or html, to compile native guis. Probably a monumental task, eh?

    enhancement 
    opened by 34r7h 19
  • limitation of loop by number?

    limitation of loop by number?

    for(let i=0;i<100000;i++){
    	console.log("a");
    }
    

    Result of above code is

    node b.js|wc
      100000  100000  200000
    

    But in the case of nectar

     ./b |wc
       83328   83328  166656
    

    on Mac OS 10.14.6.

    Something is wrong about how to deal with loop's number, I think.

    bug 
    opened by hikarine3 19
  • Compiling either to Linux or WASM concerns

    Compiling either to Linux or WASM concerns

    First off, glad that I found this project, compiling JS is what I have been looking for and not having to deal with obfuscation.

    I seem to be struggling with compiling. Using GCC that came with Ubuntu Studio 20.10, which is 10.2 if I recall.

    I can successfully use the hello world from sandboxed demo. I noticed that it spits out a *.bin file.

    When compiling the exact program in my js file usingnectar [fileName].js it compiles without an extension, let alone .bin and when running in Konsole, I get Segmentation Fault(core dumped)

    Any help in that regard would be appreciated.

    As far as the WASM goes, I'm coming from emscripten and it would also spit out a glue js file for the wasm. Are we supposed to get that as well or is that manually needed to be done?

    Thanks and looking forward to using this compiler.

    enhancement Wasm 
    opened by wwderw 16
  • Various issues discovered while compiling Rawrcat

    Various issues discovered while compiling Rawrcat

    I saw this project, and decided to give it a shot on compiling my JavaScript implementation of RawrCat.

    https://github.com/ephsec/rawrcat

    Tested versions:

    • NectarJS v0.7.99
    • NectarJS master off github.

    Invoking nectarjs on rawrcat.js uncovered several issues:

    • delete item[k] throws a parse error in babel

    • for() loops require explicit var declaration inside the for() if the variable isn't defined beforehand. (This is something I will fix in my source code, for linting purposes)

    • My use of null comparison isn't yet supported:

    Visitor VISITOR.objectExpression not implemented yet for NullLiteral
    
    • My use of conditional expressions doesn't seem to be much liked either:
    Visitor VISITOR.objectExpression not implemented yet for ConditionalExpression
    

    Is there a debug mode that will tell me exactly where in the source it's having issues? --verbose does not appear to do much.

    This project interests me, and I'd like to help get it to where it can compile RawrCat. I'm a language, parser, and compiler nerd myself.

    bug 
    opened by wbrown 16
  • Plans to support FreeBSD?

    Plans to support FreeBSD?

    Up front: thanks to anyone working and participating on this project. It's the best idea I've seen for years.

    I know this doesn't really belong in the issues section and I apologize for that. But I don't know where else to ask this question:

    Are there any plans to support FreeBSD or any other BSD?

    Compatibility FreeBSD 
    opened by fmh-finanzberatung 15
  • Does it work on macos?

    Does it work on macos?

    I am confused how to compile or run anything with NectarJS on macos 10.13.2 (17C88)…

    # nectar -v
    NectarJS Client v0.0.53
    
    # nectar example.js
    [!] Bad target
    
    [*] Available targets :
    -> win-x86-32
    -> win-x86-64
    -> linux-x86-32
    -> linux-x86-64
    -> linux-arm32v7
    -> arduino-uno
    -> arduino-mega1280
    -> arduino-mega2560
    -> wasm
    -> wast
    -> asm-js
    
    # cat project.json
    {"main": "example.js", "out": "example.asm.js", "target":"asm-js", "preset":"speed"}
    
    # nectar --target asm-js example.js
    Missing project.json
    

    Note: I am using MacPorts, could this affect compilation?

    # port select --summary
    Name        Selected           Options
    ====        ========           =======
    gcc         mp-gcc49           none
    llvm        mp-llvm-3.5        none
    
    roadmap 
    opened by p3k 14
  • Unexpected Compilation Error, no info

    Unexpected Compilation Error, no info

    I'm just returning "Unexpected Compilation Error". I fixed about 500 minor syntax errors/warnings, but now this is all I see without any further description. My target seems fine. The script isn't doing anything out of the ordinary: lots of arrays, some objects, and bit functions on 32-bit ints. Any ideas?

    opened by ajm2017 13
  • I can't compile hello world

    I can't compile hello world

    hello, I use a windows machine and I tried to compile a simple hello world program with this code:

    console.log("hello, world");
    

    it gave me lots of errors and I don't understand a single word from it. here is a picture of the errors on the terminal https://usercybe.is-a.fail/9ng431

    opened by cybe42 12
  • Big number issues

    Big number issues

    Case 1: Number corrupts from certain amount

    let num = 1;
    for(let i=1;i<=100;i++){
    	num *=i;
    	console.log(num);
    }
    

    node's output

    node e.js|head -n 40
    1
    2
    6
    24
    120
    720
    5040
    40320
    362880
    3628800
    39916800
    479001600
    6227020800
    87178291200
    1307674368000
    20922789888000
    355687428096000
    6402373705728000
    121645100408832000
    2432902008176640000
    51090942171709440000
    1.1240007277776077e+21
    2.585201673888498e+22
    6.204484017332394e+23
    1.5511210043330986e+25
    4.0329146112660565e+26
    1.0888869450418352e+28
    3.0488834461171384e+29
    8.841761993739701e+30
    2.6525285981219103e+32
    8.222838654177922e+33
    2.631308369336935e+35
    8.683317618811886e+36
    2.9523279903960412e+38
    1.0333147966386144e+40
    3.719933267899012e+41
    1.3763753091226343e+43
    5.23022617466601e+44
    2.0397882081197442e+46
    8.159152832478977e+47
    

    nectarjs.js output

    ./e |head -n 40
    1
    2
    6
    24
    120
    720
    5040
    40320
    362880
    3628800
    39916800
    479001600
    1932053504
    1278945280
    2004310016
    2004189184
    -288522240
    -898433024
    109641728
    -2102132736
    -1195114496
    -522715136
    862453760
    -775946240
    2076180480
    -1853882368
    1484783616
    -1375731712
    -1241513984
    1409286144
    738197504
    -2147483648
    -2147483648
    0
    0
    0
    0
    0
    0
    0
    

    Case 2: Infinity data type

    const x = Infinity;
    console.log(x);
    

    node&deno can execute it but nectar failed for compilation.

    nectar infinity.js 
    [*] Generating source file
    [*] Compiling
    /Users/hajimekurita/tmp/.nectar/gnan4/infinity.cpp:195:7: error: C++ requires a type specifier for all declarations
    const x = Infinity;
    ~~~~~ ^
    /Users/hajimekurita/tmp/.nectar/gnan4/infinity.cpp:195:11: error: use of undeclared identifier 'Infinity'
    const x = Infinity;
              ^
    2 errors generated.
    [!] Compilation error
    Error: Command failed: g++ -std=c++11 /Users/hajimekurita/tmp/.nectar/gnan4/infinity.cpp -O1 -fpermissive -w -s   -o /Users/hajimekurita/tmp/infinity
    /Users/hajimekurita/tmp/.nectar/gnan4/infinity.cpp:195:7: error: C++ requires a type specifier for all declarations
    const x = Infinity;
    ~~~~~ ^
    /Users/hajimekurita/tmp/.nectar/gnan4/infinity.cpp:195:11: error: use of undeclared identifier 'Infinity'
    const x = Infinity;
              ^
    2 errors generated.
    
        at checkExecSyncError (child_process.js:616:11)
        at execSync (child_process.js:652:15)
        at Compiler.Compile (/Users/hajimekurita/.nodebrew/node/v12.4.0/lib/node_modules/nectarjs/compiler/native/compiler.js:394:3)
        at /Users/hajimekurita/.nodebrew/node/v12.4.0/lib/node_modules/nectarjs/nectar.js:336:13
        at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:61:3) {
      status: 1,
      signal: null,
      output: [
        null,
        <Buffer >,
        <Buffer 2f 55 73 65 72 73 2f 68 61 6a 69 6d 65 6b 75 72 69 74 61 2f 74 6d 70 2f 2e 6e 65 63 74 61 72 2f 67 6e 61 6e 34 2f 69 6e 66 69 6e 69 74 79 2e 63 70 70 ... 252 more bytes>
      ],
      pid: 820,
      stdout: <Buffer >,
      stderr: <Buffer 2f 55 73 65 72 73 2f 68 61 6a 69 6d 65 6b 75 72 69 74 61 2f 74 6d 70 2f 2e 6e 65 63 74 61 72 2f 67 6e 61 6e 34 2f 69 6e 66 69 6e 69 74 79 2e 63 70 70 ... 252 more bytes>
    }
    
    roadmap 
    opened by hikarine3 12
  • Getting ERR_OUT_OF_RANGE error on any js file

    Getting ERR_OUT_OF_RANGE error on any js file

    It's just not working for me on Ubuntu (14.04.3 LTS). I'm getting this error when trying to run/build string.js that is generated by nectar --example

    $ nectar string.js
    internal/buffer.js:35
        throw new ERR_OUT_OF_RANGE('value', `>= ${min} and <= ${max}`, value);
        ^
    
    RangeError [ERR_OUT_OF_RANGE]: The value of "value" is out of range. It must be >= -2147483648 and <= 2147483647. Received 3653141014
        at checkInt (internal/buffer.js:35:11)
        at writeU_Int32LE (internal/buffer.js:515:3)
        at Buffer.writeInt32LE (internal/buffer.js:684:10)
        at Object.entryHeaderToBinary (/usr/local/lib/node_modules/nectarjs/extern/adm-zip/headers/entryHeader.js:216:18)
        at Object.packHeader (/usr/local/lib/node_modules/nectarjs/extern/adm-zip/zipEntry.js:260:39)
        at /usr/local/lib/node_modules/nectarjs/extern/adm-zip/zipFile.js:198:41
        at Array.forEach (<anonymous>)
        at Object.compressToBuffer (/usr/local/lib/node_modules/nectarjs/extern/adm-zip/zipFile.js:182:23)
        at Object.toBuffer (/usr/local/lib/node_modules/nectarjs/extern/adm-zip/adm-zip.js:488:25)
        at /usr/local/lib/node_modules/nectarjs/nectar.js:488:45
    
    bug nodejs client 
    opened by ilearnio 12
  • Error compiling http example

    Error compiling http example

    I compiled some of the other examples and they compiled properly. But the http example does not compile. The js to c++ conversion works fine but the c++ compilation gives error. I have tried both on Ubuntu 18.04(g++ 7.5.0) and Windows(MingW) and error occurs on both.Please check if it compiles with the latest version of nectarjs on your computer.

    opened by bil-ash 11
  • Unexpected behaviors when using Regular Expressions

    Unexpected behaviors when using Regular Expressions

    Environment

    | command | output | | ----------- | -------- | | npx nectar --version | NectarJS v0.7.115| | npx --version | 8.1.2| | node --version | v16.13.1|

    1. Escaping quotes in regular expressions.

    echo '/"/g' > main.js;
    npx nectar main.js
    

    gives

    SyntaxError: unknown: Unterminated string constant. (1:6) - make sure this is an expression.
    > 1 | ("/"/g")
    

    This works if instead of /"/ we use /\x22/

    2. Replacing inline regular expression does not work

    cat > main.js <<EOF
    var x = '"text"';
    console.log(x.replace(/\\x22/g, "\\""))
    EOF
    npx nectar main.js;
    ./main.js
    

    gives

    "text"
    

    Notice that the expected output is \"text\", the same happens if we try to replace the e for something else.

    The same is true for new RegExp("\x22", "g")

    3 Literal regular expressions produce string

    console.log(typeof /e/) //  gives string
    console.log(typeof new RegExp('e')) // gives object
    
    bug 
    opened by o-alexandre-felipe 0
  • Cyclic references leak memory

    Cyclic references leak memory

    var foo;
    
    while (true) {
       var x = {};
       var y = {x: x, a: []};
       x.y = y;
    
       foo = x;
    
       for (var i = 0; i < 1000000; i++) y.a[i] = i;
    }
    
    console.log(foo);
    

    Open top and watch it gobble memory.

    bug 
    opened by DirtyHairy 2
  • Unsigned shift unsupported

    Unsigned shift unsupported

    console.log(-1 >>> 1);
    

    NodeJS:

    $ node shift_unsigned.js
    2147483647
    

    Nectar:

    $ nectar --run shift_unsigned.js
    [*] Generating source file
    [*] Compiling with preset: speed
    /Users/pestix/dumpster/nectar/.nectar/my63o/shift_unsigned.cpp:321:21: error: expected expression
    console["log"](-1 >>> 1);
                        ^
    
    bug roadmap 
    opened by DirtyHairy 2
  • Error on compile antlr4 javascript runtime

    Error on compile antlr4 javascript runtime

    Hello. I'm compile that https://github.com/antlr/antlr4/tree/master/runtime/JavaScript and i get error:

    [warning] 'InterpreterRuleContext' is defined but never used. line 218 column 7 in file src\antlr4\ParserRuleContext.js
    C:\Users\Professional\AppData\Roaming\npm\node_modules\nectarjs\node_modules\@babel\core\lib\transformation\index.js:45
        throw e;
        ^
    
    TypeError: unknown: Cannot read property 'raw' of undefined
        at PluginPass.UnaryExpression (C:\Users\Professional\AppData\Roaming\npm\node_modules\nectarjs\compiler\native\visitor\plugin\UnaryExpression.js:56:52)
        at newFn (C:\Users\Professional\AppData\Roaming\npm\node_modules\nectarjs\node_modules\@babel\traverse\lib\visitors.js:175:21)
        at NodePath._call (C:\Users\Professional\AppData\Roaming\npm\node_modules\nectarjs\node_modules\@babel\traverse\lib\path\context.js:55:20)
        at NodePath.call (C:\Users\Professional\AppData\Roaming\npm\node_modules\nectarjs\node_modules\@babel\traverse\lib\path\context.js:42:17)
        at NodePath.visit (C:\Users\Professional\AppData\Roaming\npm\node_modules\nectarjs\node_modules\@babel\traverse\lib\path\context.js:92:31)
        at TraversalContext.visitQueue (C:\Users\Professional\AppData\Roaming\npm\node_modules\nectarjs\node_modules\@babel\traverse\lib\context.js:115:16)
        at TraversalContext.visitSingle (C:\Users\Professional\AppData\Roaming\npm\node_modules\nectarjs\node_modules\@babel\traverse\lib\context.js:84:19)
        at TraversalContext.visit (C:\Users\Professional\AppData\Roaming\npm\node_modules\nectarjs\node_modules\@babel\traverse\lib\context.js:143:19)
        at Function.traverse.node (C:\Users\Professional\AppData\Roaming\npm\node_modules\nectarjs\node_modules\@babel\traverse\lib\index.js:82:17)
        at NodePath.visit (C:\Users\Professional\AppData\Roaming\npm\node_modules\nectarjs\node_modules\@babel\traverse\lib\path\context.js:99:18) {
      code: 'BABEL_TRANSFORM_ERROR'
    }
    

    to compile i just chage this file https://github.com/antlr/antlr4/blob/master/runtime/JavaScript/src/antlr4/tree/index.js i,m replace three dots with:

    const Tree = require('./Tree');
    const Trees = require('./Trees');
    module.exports = {Tree,
     	RuleNode,
    	ErrorNode,
    	TerminalNode,
    	ErrorNodeImpl,
    	TerminalNodeImpl,
    	ParseTreeListener,
    	ParseTreeVisitor,
    	ParseTreeWalker,
    	INVALID_INTERVAL,
    Trees}
    

    I'm call like that: nectar --prepare src/antlr4/index.js or nectar --generate -o out src/antlr4/index.js

    NectarJS v0.7.112 Windows 10 (x64), mingw not installed yet

    bug 
    opened by yaskhan 0
  • Currently missing BitInt Literal support

    Currently missing BitInt Literal support

    It looks like NectarJS is currently missing BigInt Literal support.

    Steps to reproduce the issue: 1 - Install latest nectarjs 2 - Run these two commands

    ❯ echo "0n" > big-int.js
    ❯ nectar big-int.js
    

    3 - Should see this error message from previous command

    [*] Generating source file
    [error] Parsing error: Identifier directly after number line 1 column 2 in file big-int.js
    
    roadmap es2020 
    opened by JakeChampion 3
  • Are NPM Packages supported?

    Are NPM Packages supported?

    I'm getting error in form:

    [*] Generating source file
    [!] Require error :chalk
    

    Chalk is an NPM package and my code is compiled from TS, which generated a line: const chalk = require("chalk"); where the error occurs.

    Is it even possible to use other NPM packages in NectarJs apps?

    NectarJS ver. 0.5.31

    nodejs roadmap 
    opened by bogacg 4
Javascript version of the Move language compiler, supports compiling Move code into Move bytecode in the browser.

move-js Javascript version of the move language compiler, supports compiling Move code into move bytecode in the browser. Features Compiling move pack

Starcoin 13 Dec 20, 2022
Make your wallpaper reminds you of god 🙏

Ayats Wallpapers ?? Next.js Tailwind.css TypeScript Next-themes Swr Prisma PlanetScale Vercel Getting Started Clone the repo and run the following com

Omar Ouhra 11 Oct 15, 2022
TypeScript with a Borrow Checker. Multi-threaded, Tiny binaries. No GC. Easy to write.

TypeScript with a Borrow Checker. Multi-threaded, Tiny binaries. No GC. Easy to write.

David Alsh 1.4k Dec 19, 2022
A tiny cross-platform client for SQLite3, with precompiled binaries as the only third-party dependencies.

Tiny SQLite3 A tiny cross-platform client for SQLite3, with precompiled binaries as the only third-party dependencies. A nice feature about this modul

Fabio Spampinato 19 Oct 27, 2022
MDN-Dark-Mode - Simple extension to add a dark mode with different themes to the MDN Web Docs website

MDN-Dark-Mode Information Chrome and Firefox extension that adds a dark mode wit

Santiago Galán Barlo 2 Mar 18, 2022
🌓 Add dark mode/night mode custom elements to your website.

dark-mode A custom element that allows you to easily put a Dark Mode ?? toggle. so you can initially adhere to your users' preferences according to pr

小弟调调™ 12 Oct 20, 2022
Multiple level dropdown works with Bootstrap 5, just like native support.

Bootstrap 5 Multiple Level Dropdown. For Bootstrap 4, please visit Bootstrap 4 Multiple Level Dropdown Using official HTML without adding extra CSS st

Dallas Lu 17 Dec 13, 2022
Vue Native is a framework to build cross platform native mobile apps using JavaScript

Vue Native Visit our website at vue-native.io or read the official documentation here. Build native mobile apps using Vue Vue Native is a framework to

GeekyAnts 8.4k Jan 6, 2023
Build performant, native and cross-platform desktop applications with native Vue + powerful CSS like styling.🚀

Vue NodeGui Build performant, native and cross-platform desktop applications with Vue. ?? Vue NodeGUI is powered by Vue ?? and Qt5 ?? which makes it C

NodeGui 765 Dec 30, 2022
🎉 toastify-react-native allows you to add notifications to your react-native app (ios, android) with ease. No more nonsense!

toastify-react-native ?? toastify-react-native allows you to add notifications to your react-native app (ios, android) with ease. No more nonsense! De

Zahid Ali 29 Oct 11, 2022
null 136 Dec 30, 2022
Next-level academia! Repository for the Native Overleaf project, attempting to integrate Overleaf with native OS features for macOS, Linux and Windows.

Native Overleaf Overleaf is a fantastic webtool for writing and cooperating on LaTeX documents. However, would it not be even better if it were to beh

Floris-Jan Willemsen 40 Dec 18, 2022
Front-end framework with a built-in dark mode and full customizability using CSS variables; great for building dashboards and tools.

This is the main branch of the repo, which contains the latest stable release. For the ongoing development, see the develop branch. Halfmoon Front-end

Tahmid (Halfmoon UI) 2.8k Dec 26, 2022
Control the macOS dark mode from the command-line

dark-mode Control the macOS dark mode from the command-line Requires macOS 10.10 or later. macOS 10.13 or earlier needs to download the Swift runtime

Sindre Sorhus 630 Dec 30, 2022
It is a Discord bot whose goal is to make it easier for server owners to create a so-called Staff/Mode Application

Application Bot MeCodes Application Bot It is a Discord bot whose goal is to make it easier for server owners to create a so-called administration sub

null 26 Dec 12, 2022
A pretty cool org-mode -> interactive blog post tool

Radish A kinda-cool org-mode -> interactive blog post tool written with and for Clojure(script). Here are two example posts created with this tool: Ra

adam-james 46 Dec 28, 2021
Este projeto acelara o desenvolvimento com express, gerando uma estrutura completa e opções de gerar controller mode e view pelo cmd.

fast-developer-express Este projeto acelara o desenvolvimento com express, gerando uma estrutura completa e opções de gerar controller mode e view pel

Rodrino Adolfo Kupessala 1 Dec 21, 2021
PDF.js Read Only is an additional readonly mode for PDF.js

PDF.js Read Only PDF.js Read Only is an additional readonly mode for PDF.js, a Portable Document Format (PDF) viewer that is built with HTML5 which is

Aprillio Latuminggi 19 Dec 22, 2022
Light-switch-bootstrap - Dark mode toggle for Bootstrap 5

?? Light Switch for Bootstrap 5 Basic Bootstrap 5 custom checkbox to use night mode in your web site. Under the hood Switching to dark mode is done by

Han 35 Jan 2, 2023
A pure html and css library for dark mode in your website.

Dark Mode A pure html and css library for dark mode in your website. Features It has a smooth setting and also it changes via system settings aswell.

null 1 Jan 6, 2022