pas2js command line arguments
Pascal to JavaScript transpiler pas2js command line arguments
Options
Put + after a boolean switch option to enable it, - to disable it
@<x> : Read compiler options from file <x> in addition to the default
pas2js.cfg
-B : Rebuild all
-d<x> : Defines the symbol <x>. Optional: -d<x>:=<value>
-i<x> : Write information and halt. <x> is a combination of the following:
D : Write compiler date
SO : Write compiler OS
SP : Write compiler host processor
TO : Write target platform
TP : Write target processor
V : Write short compiler version
W : Write full compiler version
-F... Set file names and paths:
-Fe<x> : Redirect output to <x>. UTF-8 encoded.
-Fi<x> : Add <x> to include paths
-Fu<x> : Add <x> to unit paths
-FU<x> : Set unit output path to <x>
-I<x> : Add <x> to include paths, same as -Fi
-J... Extra options of pas2js
-Jc : Write all JavaScript concatenated into the output file
-Je<x> : Encode messages as <x>.
-Jeconsole : Console codepage. This is the default.
-Jesystem : System codepage. On non Windows console and system are the same.
-Jeutf-8 : Unicode UTF-8. Default when using -Fe.
-Ji<x> : Insert JS file <x> into main JS file. E.g. -Jirtl.js. Can be
given multiple times. To remove a file name append a minus, e.g.
-Jirtl.js-.
-Jl : lower case identifiers
-Jm : generate source maps
-Jmsourceroot=<x> : use x as "sourceRoot", prefix URL for source file names.
-Jmbasedir=<x> : write source file names relative to directory x.
-Jminclude : include Pascal sources in source map.
-Jm- : disable generating source maps
-Ju<x> : Add <x> to foreign unit paths. Foreign units are not compiled.
-l : Write logo
-MDelphi: Delphi 7 compatibility mode
-MObjFPC: FPC's Object Pascal compatibility mode (default)
-NS<x> : add <x> to namespaces. Namespaces with trailing - are removed.
Delphi calls this flag "unit scope names".
-n : Do not read the default config files
-o<x> : Change main JavaScript file to <x>, "." means stdout
-O<x> : Optimizations:
-O- : Disable optimizations
-O1 : Level 1 optimizations (quick and debugger friendly)
-Oo<x> : Enable or disable optimization. The x is case insensitive:
-OoEnumNumbers[-] : write enum value as number instead of name. Default in -O1.
-OoRemoveNotUsedPrivates[-] : Default is enabled
-OoRemoveNotUsedDeclarations[-] : Default enabled for programs with -Jc
-P<x> : Set target processor. Case insensitive:
-Pecmascript5 : default
-Pecmascript6
-S<x> : Syntax options. <x> is a combination of the following letters:
c : Support operators like C (*=,+=,/= and -=)
d : Same as -Mdelphi
2 : Same as -Mobjfpc (default)
-T<x> : Set target platform
-Tbrowser : default
-Tnodejs : add pas.run(), includes -Jc
-u<x> : Undefines the symbol <x>
-v<x> : Be verbose. <x> is a combination of the following letters:
e : show errors (default)
w : show warnings
n : show notes
h : show hints
i : show info
l : show line numbers
a : show everything
0 : show nothing (except errors)
b : show file names with full path
c : show conditionals
t : show tried/used files
d : show debug notes and info, enables -vni
q : show message numbers
x : show used tools
-vm<x>,<y>: Do not show messages numbered <x> and <y>.
-? : Show this help
-h : Show this helpMacros: $Name, $Name$ or $Name()
$Pas2jsFullVersion: major.minor.release<extra>
$Pas2jsVersion: major.minor.release
$Env(): environment variable, e.g. $Env(HOME)
$CfgDir: Use within a config file. The directory of this config fileConfig files
- Empty lines are ignored
- Lines starting with hash+space '# ' are comments
- One option per line
- Directives are started by #keyword, where keyword is case insensitive:
- #IFDEF macroname
- #IFNDEF macroname
- #IF expression - same as source directive $if, except only macronames
- #ELSEIF
- #ELSE
- #ENDIF
- #ERROR text
From the Free Pascal wiki, page "pas2js command line arguments", as it stood on 2019-06-12 after a change by Djzepi, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.