You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Sami Vaarala c0c5458ec4 Add symbol visibility checks to code policy util 10 years ago
api-testcases Bug testcase for duk_peval_file() nonexistent file 10 years ago
bugs Ditz issue update 10 years ago
dist-files Replace DUK_CMDLINE_BAREBONES w/ DUK_CMDLINE_FANCY 10 years ago
doc Some internal documentation on symbol visibility 10 years ago
dukweb dukweb.js now works under Firefox 11 years ago
ecmascript-testcases add knownissue 10 years ago
emscripten-testcases Emscripten fmod() test 10 years ago
examples Cleanup, remove unused code from duk_cmdline 10 years ago
jsinterpreter-testcases add a lua.js test case (mandel), add a dir for jsinterpreter testcases, remove emscripten fixup from test case run (should not be needed soon) 11 years ago
licenses commonjs license note 11 years ago
luajs-testcases add a lua.js test case (mandel), add a dir for jsinterpreter testcases, remove emscripten fixup from test case run (should not be needed soon) 11 years ago
misc Add an example of C string hex escape quirks 10 years ago
polyfills Polyfill comment updates 10 years ago
references add snapshot of commonjs module specs: they are under the MIT license 11 years ago
runtests Non-zero exit code for runtests if tests fail 10 years ago
src API header DUK_OPT_NO_FILE_IO fix, other trivia 10 years ago
util Add symbol visibility checks to code policy util 10 years ago
website Guide threading documentation 10 years ago
xmldoc-testcases misc jsonx -> jx renames 11 years ago
.gitignore .gitignore: dist/ and autotest/ 10 years ago
AUTHORS.rst Authors: add credit 10 years ago
CONTRIBUTING.md AUTHORS .rst suffix renames 10 years ago
LICENSE.txt AUTHORS .rst suffix renames 10 years ago
Makefile Makefile size output, dump-public symbols 10 years ago
README.md Use duktape.org instead of www.duktape.org 10 years ago
RELEASES.rst Release note: VS2005+ variadic macros 10 years ago

README.md

Duktape

Introduction

Duktape is an embeddable Javascript engine, with a focus on portability and compact footprint.

Duktape is easy to integrate into a C/C++ project: add duktape.c and duktape.h to your build, and use the Duktape API to call Ecmascript functions from C code and vice versa.

Main features:

  • Embeddable, portable, compact
  • Ecmascript E5/E5.1 compliant
  • Built-in regular expression engine
  • Built-in Unicode support
  • Minimal platform dependencies
  • Combined reference counting and mark-and-sweep garbage collection with finalization
  • Liberal license

See duktape.org for packaged end-user downloads and documentation.

Have fun!

About this repository

This repository is intended for Duktape developers only, and contains Duktape internals: test cases, internal documentation, sources for the duktape.org web site, etc.

Current branch policy: the "master" branch is used for active development, other branches are frequently rebased feature branches (so you should not fork off them), and tags are used for releases.

Getting started: end user

When embedding Duktape in your application you should use the packaged source distributables available from duktape.org/download.html. See duktape.org/guide.html#gettingstarted for the basics.

However, if you really want to use a bleeding edge version:

$ git clone https://github.com/svaarala/duktape.git
$ cd duktape
$ make dist-src

Then use duktape-<version>.tar.xz like a normal source distributable.

Getting started: developing Duktape

If you intend to change Duktape internals, run test cases, etc:

# Install required packages
$ sudo apt-get install nodejs npm perl openjdk-7-jre libreadline6-dev libncurses-dev

# Compile the command line tool ('duk')
$ git clone https://github.com/svaarala/duktape.git
$ cd duktape
$ make

# Run Ecmascript and API testcases, and some other tests
$ make ecmatest
$ make apitest
$ make regfuzztest
$ make underscoretest    # see doc/underscore-status.txt
$ make test262test       # see doc/test262-status.txt
$ make emscriptentest    # see doc/emscripten-status.txt
$ make jsinterpretertest
$ make luajstest
$ make dukwebtest        # then browse to file:///tmp/dukweb-test/dukweb.html
$ make xmldoctest

Note: the repo Makefile is intended for Linux developer use, it is not a multi-platform "end user" Makefile. In particular, the Makefile is not intended to work on e.g. OSX or Windows. The source distributable has more user-friendly Makefile examples, but you should normally simply write your own Makefile when integrating Duktape into your program.

Reporting bugs

See CONTRIBUTING.md.

Contributing

See CONTRIBUTING.md.

See AUTHORS.rst and LICENSE.txt.