5.0.0-beta.0 • Published 1 year ago

ts-import v5.0.0-beta.0

Weekly downloads
194
License
MIT
Repository
-
Last release
1 year ago

"Buy Me A Coffee"

Table of contents

Features

  • Asynchronous and synchronous version - uses import for async and require for sync.
  • Caches JavaScript files into directory inside .cache/ts-import.
  • Fast - I've benchmarked ways to compare detecting file changes with fs module and checking mtimeMs turned out to be fastest (https://jsperf.com/fs-stat-mtime-vs-mtimems). Also, compilation in versions 3+ is approximately 10x faster than in version 2.
  • Few dependencies - uses only comment-parser and my tiny utility package options-defaults.
  • Highly flexible and configurable - all compilerOptions are available under transpileOptions parameter.
  • No interference - doesn't interfere with native import, require etc. changing their behavior or impacting their performance.

Install

npm i ts-import@4 - CJS npm i ts-import@5 - ESM

Usage

import * as tsImport from 'ts-import';

const main = async () => {
    const filePath = `/home/user/file.ts`;
    const asyncResult = await tsImport.load(filePath, {
        // allowConfigurationWithComments: false,
    });

    // Only available in version 4.
    const syncResult = tsImport.loadSync(filePath);
};

void main();

allowConfigurationWithComments

You can define if file should be imported in the default transpile mode or compile mode by placing a comment on top of the specific file.

Compile mode is slower, but allows the specified file to be part of a complex program - it can import other files etc.

/**
 * @tsImport
 * { "mode": "compile" }
 */

import { getOtherVariable } from './get-other-variable';

const result = getOtherVariable();

export { result };
5.0.0-beta.0

1 year ago

4.0.0-beta.10

1 year ago

4.0.0-beta.8

1 year ago

4.0.0-beta.7

1 year ago

4.0.0-beta.9

1 year ago

3.0.0-beta.1

2 years ago

3.0.0-beta.0

2 years ago

3.0.0-beta.3

2 years ago

3.0.0-beta.2

2 years ago

3.0.0-beta.4

2 years ago

4.0.0-beta.6

2 years ago

4.0.0-beta.5

2 years ago

4.0.0-beta.4

2 years ago

4.0.0-beta.3

2 years ago

4.0.0-beta.2

2 years ago

4.0.0-beta.1

2 years ago

4.0.0-beta.0

2 years ago

2.0.40

2 years ago

2.0.39

3 years ago

2.0.32

3 years ago

2.0.29

3 years ago

2.0.31

3 years ago

2.0.30

3 years ago

2.0.28

3 years ago

2.0.27

3 years ago

2.0.25

3 years ago

2.0.24

3 years ago

2.0.22

3 years ago

2.0.23

3 years ago

2.0.21

3 years ago

2.0.18

3 years ago

2.0.17

3 years ago

2.0.16

3 years ago

2.0.15-alpha.0

4 years ago

2.0.10-alpha.0

4 years ago

2.0.12-alpha.0

4 years ago

2.0.9

4 years ago

2.0.8

4 years ago

2.0.8-2

4 years ago

2.0.8-1

4 years ago

2.0.8-0

4 years ago

2.0.7

4 years ago

2.0.5

4 years ago

2.0.4

4 years ago

2.0.6

4 years ago

2.0.3

4 years ago

2.0.4-1

4 years ago

2.0.2

4 years ago

2.0.4-0

4 years ago

2.0.3-0

4 years ago

2.0.1

4 years ago

0.0.46

4 years ago

0.0.47

4 years ago

0.0.72-1

4 years ago

0.0.72

4 years ago

0.0.48

4 years ago

0.0.45

4 years ago

0.0.43

4 years ago

0.0.44

4 years ago

0.0.42

4 years ago

0.0.40

4 years ago

0.0.41

4 years ago

0.0.38

4 years ago

0.0.39

4 years ago

0.0.34-4

4 years ago

0.0.34-3

4 years ago

0.0.33

4 years ago

0.0.32-1

4 years ago

0.0.30

4 years ago

0.0.0

4 years ago

0.0.10

4 years ago

0.0.9-8

4 years ago

0.0.9-7

4 years ago

0.0.9-6

4 years ago

0.0.9-5

4 years ago

0.0.9-4

4 years ago

0.0.9-3

4 years ago

0.0.9-2

4 years ago

0.0.9-1

4 years ago

0.0.9-0

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago