[Home](./index.md) > [@keymanapp/kmc-kmn](./kmc-kmn.md) > [KmnCompiler](./kmc-kmn.kmncompiler.md) > [run](./kmc-kmn.kmncompiler.run.md) ## KmnCompiler.run() method Compiles a .kmn file to .kmx, .kvk, and/or .js files. Returns an object containing binary artifacts on success. The files are passed in by name, and the compiler will use callbacks as passed to the [KmnCompiler.init()](./kmc-kmn.kmncompiler.init.md) function to read any input files by disk. **Signature:** ```typescript run(infile: string, outfile: string): Promise; ``` ## Parameters | Parameter | Type | Description | | --- | --- | --- | | infile | string | Path to source file. Path will be parsed to find relative references in the .kmn file, such as icon or On Screen Keyboard file | | outfile | string | Path to output file. The file will not be written to, but will be included in the result for use by [KmnCompiler.write()](./kmc-kmn.kmncompiler.write.md). | **Returns:** Promise<[KmnCompilerResult](./kmc-kmn.kmncompilerresult.md)> Binary artifacts on success, null on failure.