jsig
From scratch type-checker
File Explorer
Download Latest Version (.zip)- assert.hjs
- error.hjs
- esprima.hjs
- fs.hjs
- parsimmon.hjs
- path.hjs
- resolve.hjs
- uuid.hjs
- globals.hjs
- _ast-config.js
- assignment.hjs
- assignment.js
- comment.hjs
- comment.js
- default-export.hjs
- default-export.js
- free-literal.hjs
- free-literal.js
- function-parameter.hjs
- function-parameter.js
- function.hjs
- function.js
- generic.hjs
- generic.js
- import-statement.hjs
- import-statement.js
- index.hjs
- index.js
- inferred-literal.hjs
- inferred-literal.js
- intersection.hjs
- intersection.js
- key-value.hjs
- key-value.js
- literal.hjs
- literal.js
- location-literal.hjs
- location-literal.js
- macro-literal.hjs
- macro-literal.js
- object.hjs
- object.js
- program.hjs
- program.js
- renamed-literal.hjs
- renamed-literal.js
- tuple.hjs
- tuple.js
- type-declaration.hjs
- type-declaration.js
- union.hjs
- union.js
- value.hjs
- value.js
- args-verify.js
- find-files.js
- jsig.js
- cheatsheet.md
- overview.md
- pragmas.md
- spec.md
- 1-hello.js
- 2-main.js
- 2-memory-db.hjs
- 2-memory-db.js
- 3-node_modules.js
- join.js
- builtin-types.hjs
- builtin-types.js
- comments.js
- lexemes.js
- program.hjs
- program.js
- statement.hjs
- statement.js
- type-declaration.js
- type-definition.hjs
- type-definition.js
- type-expression.js
- type-function.js
- type-generic.js
- type-key-value.js
- type-literal.js
- type-object.js
- type-tuple.js
- value-literal.js
- check_files.sh
- check_unique_test_names.sh
- flame.js
- no_only.sh
- verify_included.sh
- bad-assign-result-of-method-to-wrong-type.hjs
- bad-assign-result-of-method-to-wrong-type.js
- bad-call-method-with-wrong-argument.hjs
- bad-call-method-with-wrong-argument.js
- bad-calling-method-on-primitive.hjs
- bad-calling-method-on-primitive.js
- bad-calling-method-on-wrong-object.hjs
- bad-calling-method-on-wrong-object.js
- bad-calling-method-with-extra-args.hjs
- bad-calling-method-with-extra-args.js
- bad-calling-method-with-no-args.hjs
- bad-calling-method-with-no-args.js
- bad-calling-non-existant-method.hjs
- bad-calling-non-existant-method.js
- good-method-call-with-class.hjs
- good-method-call-with-class.js
- good-working-method-with-closure.hjs
- good-working-method-with-closure.js
- bad-assigning-array-number-to-array-string-field.hjs
- bad-assigning-array-number-to-array-string-field.js
- bad-assigning-field-in-constructor-to-wrong-type.hjs
- bad-assigning-field-in-constructor-to-wrong-type.js
- bad-assigning-non-existant-field-in-constructor.hjs
- bad-assigning-non-existant-field-in-constructor.js
- bad-header-file-references-unknown-literal.hjs
- bad-header-file-references-unknown-literal.js
- bad-missing-header-file.js
- bad-skipping-a-field-in-the-constructor.hjs
- bad-skipping-a-field-in-the-constructor.js
- good-calling-string-x-in-constructor.hjs
- good-calling-string-x-in-constructor.js
- good-working-simple-constructor.hjs
- good-working-simple-constructor.js
- bad-accessing-this-without-definition.hjs
- bad-accessing-this-without-definition.js
- bad-assign-wrong-value-to-field-in-method.hjs
- bad-assign-wrong-value-to-field-in-method.js
- bad-assigning-method-which-has-too-few-args.hjs
- bad-assigning-method-which-has-too-few-args.js
- bad-assigning-method-which-has-too-many-args.hjs
- bad-assigning-method-which-has-too-many-args.js
- bad-assigning-method-with-wrong-arg-type.hjs
- bad-assigning-method-with-wrong-arg-type.js
- bad-assigning-to-non-existant-field-in-method.hjs
- bad-assigning-to-non-existant-field-in-method.js
- bad-assigning-to-prototype-after-export.hjs
- bad-assigning-to-prototype-after-export.js
- bad-forget-to-assign-to-prototype.hjs
- bad-forget-to-assign-to-prototype.js
- bad-method-returning-when-it-should-not.hjs
- bad-method-returning-when-it-should-not.js
- bad-method-without-a-return.hjs
- bad-method-without-a-return.js
- bad-return-the-wrong-value-from-method.hjs
- bad-return-the-wrong-value-from-method.js
- bad-treat-this-value-as-string.hjs
- bad-treat-this-value-as-string.js
- good-assign-method-as-func-expression.hjs
- good-assign-method-as-func-expression.js
- good-declare-export-after-assignment-to-prototype.hjs
- good-declare-export-after-assignment-to-prototype.js
- good-working-prototype-method-definition.hjs
- good-working-prototype-method-definition.js
- good-working-json-require.js
- good-working-json-require.json
- good-working-require1.hjs
- good-working-require1.js
- good-working-require2.hjs
- good-working-require2.js
- bad-assigning-result-of-new-to-wrong-type.hjs
- bad-assigning-result-of-new-to-wrong-type.js
- bad-calling-constructor-with-too-few-args.hjs
- bad-calling-constructor-with-too-few-args.js
- bad-calling-constructor-with-too-many-args.hjs
- bad-calling-constructor-with-too-many-args.js
- bad-calling-constructor-with-wrong-type.hjs
- bad-calling-constructor-with-wrong-type.js
- bad-calling-new-on-camel-case-constructor.hjs
- bad-calling-new-on-camel-case-constructor.js
- bad-calling-new-on-function-with-empty-return.hjs
- bad-calling-new-on-function-with-empty-return.js
- bad-calling-new-on-function-with-empty-this.hjs
- bad-calling-new-on-function-with-empty-this.js
- bad-calling-new-on-function-with-null-return.hjs
- bad-calling-new-on-function-with-null-return.js
- bad-calling-new-on-function-with-object-return.hjs
- bad-calling-new-on-function-with-object-return.js
- bad-calling-new-on-function-with-string-return.hjs
- bad-calling-new-on-function-with-string-return.js
- bad-calling-new-on-function-with-undefined-return.hjs
- bad-calling-new-on-function-with-undefined-return.js
- bad-calling-new-on-function-with-weird-this.hjs
- bad-calling-new-on-function-with-weird-this.js
- bad-calling-new-on-normal-function.hjs
- bad-calling-new-on-normal-function.js
- good-working-new-call.hjs
- good-working-new-call.js
- async-macros.js
- async.hjs
- request-env.hjs
- good-city-controller-macro.hjs
- good-city-controller-macro.js
- good-working-field-branches.hjs
- good-working-field-branches.js
- good-working-node-core.hjs
- good-working-node-core.js
- good-global-dependency.js
- good-http-hash-server.hjs
- good-http-hash-server.js
- good-http-hash.hjs
- good-http-hash.js
- good-http-service-router.hjs
- good-http-service-router.js
- good-interface-proc-watcher.hjs
- good-interface-proc-watcher.js
- good-proc-watcher.hjs
- good-proc-watcher.js
- assert.hjs
- buffer.hjs
- console.hjs
- fast-url-parser.hjs
- fs.hjs
- http-hash.hjs
- http.hjs
- net.hjs
- path.hjs
- timers.hjs
- uuid.hjs
- xtend.hjs
- globals.hjs
- jsig-snippet.js
- continuable-mongo.mli
- error.mli
- frp-keyboard.mli
- jsig.mli
- jsonml-stringify.mli
- min-document.mli
- continuable-mongo.js
- error.js
- frp-keyboard.js
- jsig.js
- jsonml-stringify.js
- min-document.js
- show-diff.js
- braces.js
- exports.js
- functions.js
- generics.js
- imports.js
- intersection.js
- objects.js
- parser-errors.js
- statements.js
- tuples.js
- type-definitions.js
- union.js
- batch-client-calls.js
- batch-client-constructor.js
- batch-client-methods.js
- batch-client-modules.js
- batch-client-new.js
- city-controller-macros.js
- proc-watcher-node_modules.js
- regression.js
- arrays.js
- boolean-logic.js
- construct-builtins.js
- dictionaries.js
- exports.js
- friendly-error-messages.js
- function-inference.js
- function-invariance.js
- function-overloading.js
- function.js
- generic-templates.js
- generics.js
- intersection-types.js
- lazy-bound-generic.js
- multiple-returns.js
- narrow-mixed.js
- narrow-types.js
- object-literals.js
- optin.js
- optional-fields.js
- optional-functions.js
- prototype-inheritance.js
- scenario.batch-client.js
- scenario.out-pending.js
- try-catch.js
- tuples.js
- union-folding.js
- unknown-require.js
- unused-function.js
- index.js
- es5.hjs
- operators.hjs
- clone-ast.js
- compute-smallest-union.js
- deep-clone-ast.js
- get-union-without-bool.js
- get-unique-types.js
- is-module-exports.js
- is-same-type.js
- jsig-ast-replacer.hjs
- jsig-ast-replacer.js
- parse-jsig-type.hjs
- parse-jsig-type.js
- pretty-errors.hjs
- pretty-errors.js
- read-jsig-ast.hjs
- read-jsig-ast.js
- update-object.js
- ast-verifier.js
- errors.js
- generic-resolver.js
- header-file.hjs
- header-file.js
- index.hjs
- index.js
- meta.hjs
- meta.js
- narrow-type.js
- scope.hjs
- scope.js
- static-type-inference.js
- sub-type.js
- type-inference.js
- index.js
- .eslintrc
- .gitignore
- index.html
- jsigconfig.json
- LICENSE
- Makefile
- notes.md
- package.json
- parser.js
- README.md
- serialize.hjs
- serialize.js
# Installation Guide
1. Get the code
git clone https://github.com/Raynos/jsig
Downloads the entire project code from GitHub to your computer.
cd jsig
Moves into the project folder you just downloaded.
2. Node.js
Easy RecommendedPrerequisites
npm install
Downloads and installs the libraries listed in package.json.
npm start
Starts the development/run server.
After running the command, open the address shown in the terminal (usually something like http://localhost:3000) in your browser.
3. Make
MediumPrerequisites
- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make
Compiles the code based on the generated build configuration to produce an executable.
If it finishes without errors, it worked. Try running the generated executable directly.
// repository documentation
Was this content helpful?
(0 ratings)
