Serpack
Apis
Compile
Compile
WARNING
🚧 The sourcemap generation is still under development.#Compile
Compile a TypeScript or Javascript file in a executable code.
Typescript
declare function compile(
entry: string,
compilerOptions?: CompilerOptions,
): Promise<{
code: string;
map: string;
}>;
#Example
There is a simple addition program as shown below
Typescript
import { sum } from '../lib/sum';
console.log(sum(1, 2));
scripts/build.js
import { join } from 'path';
import { compile } from 'serpack';
compile(join(process.cwd(), 'src/index.ts')).then(({ code }) => {
console.log(code);
});
INFO
Output will be:
Javascript
(function (modules) {
var __serpack_module_cache__ = {};
function __serpack_require__(id) {
if (!id.startsWith('sp:')) return require(id);
if (__serpack_module_cache__[id.slice(3)])
return __serpack_module_cache__[id.slice(3)];
const module = { exports: {} };
modules[id.slice(3)].call(
module.exports,
__serpack_require__,
require,
module,
module.exports,
);
__serpack_module_cache__[id.slice(3)] = module.exports;
return module.exports;
}
module.exports = __serpack_require__('sp:0');
})({
/*[0]src\index.ts*/ 0: (
__serpack_require__,
__non_serpack_require__,
module,
exports,
) => {
'use strict';
Object.defineProperty(exports, '__esModule', { value: !0 }),
console.log((0, __serpack_require__('sp:1').sum)(1, 2));
},
/*[1]lib\sum.ts*/ 1: (
__serpack_require__,
__non_serpack_require__,
module,
exports,
) => {
'use strict';
function e(e, t) {
return e + t;
}
Object.defineProperty(exports, '__esModule', { value: !0 }),
Object.defineProperty(exports, 'sum', {
enumerable: !0,
get: function () {
return e;
},
});
},
});
#importToRequire
Convert ImportStatement
to require.
Typescript
const requireNode = importToRequire(node);