0.19.17 • Published 5 months ago

@locker/compiler v0.19.17

Weekly downloads
130
License
SEE LICENSE IN LI...
Repository
-
Last release
5 months ago

@locker/compiler

Lightning Web Security module compiler

Installation

$ yarn add @locker/compiler

Usage

The Compiler object:

const { Compiler } = require('@locker/compiler');

// Compile code using `Compiler.compile(input, options)`. The function returns
// an object of `{ code, map, meta }`.
Compiler.compile(input, {
    // The name of the component to compile.
    componentName: undefined,
    // The absolute filename of `input` required for source maps.
    filename: undefined,
    // Specify remapping blue dynamic imports into the red Realm.
    // Valid option values are `true`, `false`, or an options object.
    //     - Use `true` as shorthand for an options object of
    //       `{ strictSpecifier: true }`.
    //     - Use `false` disable remapping dynamic import.
    remapDynamicImport: {
        // Specify whether dynamic imports should be restricted to string
        // literal source specifiers, e.g.
        //     import('./a.js') // allowed
        //     import(a) // not allowed
        //     import(`${a}`) // not allowed
        strictSpecifier: true,
    },
    // The key of the sandbox to evaluate source text in.
    // For more details see https://www.npmjs.com/package/@locker/sandbox#usage.
    sandboxKey: 'sandbox',
    // Specify whether to generate inline source maps.
    sourceMap: false,
    //
    // *** ADVANCED ***
    //
    // Specify a map to use as the memoized compilation cache.
    // See https://en.wikipedia.org/wiki/Memoization for more context.
    compilationCache: new Map(),
    // Specify the name of the sandbox evaluation context identifier.
    sandboxEvalContext: '$lockerEvalContext$',
    // Specify the name of the sandbox evaluation helpers identifier.
    sandboxEvalHelpers: '$lockerEvalHelpers$',
    // Specify the name of the sandbox package identifier.
    sandboxPackage: '@locker/sandbox',
    // Specify the name of the sandbox specifier.
    sandboxSpecifier: 'evaluateInSandbox',
});

// Create a new normalized fully populated `Compiler.compile()` options object
// using `Compiler.createOptions(providedOptions)`.
Compiler.createOptions({
    sandboxKey: 'anotherKey',
});

// Inspect the default options of `Compiler.compile()` using `Compiler.defaultOptions`.
console.log(Compiler.defaultOptions);

The Parser object:

const { Parser } = require('@locker/compiler');

// Create a `Parser` instance using `Parse.create(input, options)`.
const parser = Parse.create(input, {
    // Produce an abstract syntax tree (AST) for use with the custom parser API
    // of Prettier. For more details see https://prettier.io/docs/en/api.html#custom-parser-api.
    prettier: true,
});

// The `parser.parse()` method returns the generated AST object.
let ast = parser.parse();

// Create an AST object representation of parsed `input` without an intermediate
// `parser` instance using `Parser.parse(input, options)`.
ast = Parser.parse(input, options);

// Create a new normalized fully populated `Parser.parse()` options object
// using `Parser.createOptions(providedOptions)`.
Parser.createOptions({
    prettier: true,
});

// Inspect the default options of `Parser.create()` using `Parser.defaultOptions`.
console.log(Parser.defaultOptions);
0.19.17

5 months ago

0.20.0

9 months ago

0.18.24

10 months ago

0.19.11

10 months ago

0.19.12

10 months ago

0.19.13

9 months ago

0.19.14

8 months ago

0.19.15

8 months ago

0.19.16

6 months ago

0.18.23

10 months ago

0.19.9

11 months ago

0.18.22

10 months ago

0.19.10

10 months ago

0.19.8

11 months ago

0.19.3

1 year ago

0.19.4

12 months ago

0.19.5

12 months ago

0.19.6

12 months ago

0.19.7

11 months ago

0.18.21

11 months ago

0.18.20

11 months ago

0.17.23

1 year ago

0.17.25

1 year ago

0.17.24

1 year ago

0.17.27

1 year ago

0.17.26

1 year ago

0.18.9

1 year ago

0.18.4

1 year ago

0.18.5

1 year ago

0.18.6

1 year ago

0.18.7

1 year ago

0.18.8

1 year ago

0.17.29

1 year ago

0.17.28

1 year ago

0.17.30

1 year ago

0.18.11

1 year ago

0.18.10

1 year ago

0.18.13

1 year ago

0.18.12

1 year ago

0.18.15

1 year ago

0.18.14

1 year ago

0.18.17

1 year ago

0.18.16

1 year ago

0.19.0

1 year ago

0.19.1

1 year ago

0.19.2

1 year ago

0.18.19

1 year ago

0.18.18

1 year ago

0.17.18

1 year ago

0.17.17

1 year ago

0.17.19

1 year ago

0.17.21

1 year ago

0.17.20

1 year ago

0.17.22

1 year ago

0.18.1

1 year ago

0.18.2

1 year ago

0.18.3

1 year ago

0.18.0

1 year ago

0.16.30

2 years ago

0.17.7

2 years ago

0.17.8

2 years ago

0.17.9

2 years ago

0.17.10

2 years ago

0.17.12

2 years ago

0.17.11

2 years ago

0.17.14

2 years ago

0.17.13

2 years ago

0.17.16

2 years ago

0.17.15

2 years ago

0.17.9-test.4

2 years ago

0.17.9-test.3

2 years ago

0.17.9-test.0

2 years ago

0.17.9-test.1

2 years ago

0.16.29

2 years ago

0.16.28

2 years ago

0.17.4

2 years ago

0.17.5

2 years ago

0.17.6

2 years ago

0.16.25

2 years ago

0.16.26

2 years ago

0.16.27

2 years ago

0.17.2

2 years ago

0.17.3

2 years ago

0.17.0

2 years ago

0.17.1

2 years ago

0.16.21-test.2

2 years ago

0.16.21-test.1

2 years ago

0.17.1-test.0

2 years ago

0.16.19

2 years ago

0.16.21

2 years ago

0.16.22

2 years ago

0.16.20

2 years ago

0.16.23

2 years ago

0.16.24

2 years ago

0.15.17

2 years ago

0.16.10

2 years ago

0.16.11

2 years ago

0.16.14

2 years ago

0.16.15

2 years ago

0.16.12

2 years ago

0.16.13

2 years ago

0.16.18

2 years ago

0.16.16

2 years ago

0.16.17

2 years ago

0.15.13

2 years ago

0.15.14

2 years ago

0.15.12

2 years ago

0.15.15

2 years ago

0.15.16

2 years ago

0.16.3

2 years ago

0.16.4

2 years ago

0.16.5

2 years ago

0.16.6

2 years ago

0.16.7

2 years ago

0.16.8

2 years ago

0.16.9

2 years ago

0.16.1

2 years ago

0.16.2

2 years ago

0.14.28

2 years ago

0.15.11

2 years ago

0.15.4

2 years ago

0.15.5

2 years ago

0.15.6

2 years ago

0.15.7

2 years ago

0.15.8

2 years ago

0.15.9

2 years ago

0.15.3

2 years ago

0.14.24

2 years ago

0.14.23

2 years ago

0.14.22

2 years ago

0.14.27

2 years ago

0.14.26

2 years ago

0.14.25

2 years ago

0.15.10

2 years ago

0.15.0

2 years ago

0.15.2

2 years ago

0.14.20

2 years ago

0.14.21

2 years ago

0.14.17

3 years ago

0.14.16

3 years ago

0.14.15

3 years ago

0.14.14

3 years ago

0.14.19

3 years ago

0.14.18

3 years ago

0.14.13

3 years ago

0.14.12

3 years ago

0.14.11

3 years ago

0.13.10

3 years ago

0.14.6

3 years ago

0.14.7

3 years ago

0.13.9

3 years ago

0.14.5

3 years ago

0.14.2

3 years ago

0.14.3

3 years ago

0.14.4

3 years ago

0.14.1

3 years ago

0.14.0

3 years ago

0.13.7

3 years ago

0.13.8

3 years ago

0.13.6

3 years ago

0.13.5

3 years ago

0.13.4

3 years ago

0.13.3

3 years ago

0.13.2

3 years ago

0.13.1

3 years ago

0.12.14

3 years ago

0.12.13

3 years ago

0.12.12

3 years ago

0.12.10

3 years ago

0.12.9

3 years ago

0.12.8

3 years ago

0.12.7

3 years ago

0.12.6

3 years ago

0.12.4

3 years ago

0.12.3

3 years ago

0.12.2

3 years ago

0.12.1

3 years ago

0.11.16

3 years ago

0.11.15

4 years ago

0.11.11

4 years ago

0.11.9

4 years ago

0.11.7

4 years ago

0.11.2

4 years ago

0.11.3

4 years ago

0.10.19

4 years ago

0.10.20

4 years ago

0.10.18

4 years ago

0.10.17

4 years ago

0.10.16

4 years ago

0.10.13

4 years ago

0.10.11

4 years ago

0.10.9

4 years ago

0.10.8

4 years ago

0.10.7

4 years ago

0.10.6

4 years ago

0.10.5

4 years ago

0.10.4

4 years ago

0.10.4-test.7

4 years ago

0.10.4-test.6

4 years ago

0.10.4-test.5

4 years ago

0.10.4-test.4

4 years ago

0.10.4-test.3

4 years ago

0.10.4-test.2

4 years ago

0.10.4-test.0

4 years ago

0.10.4-test.1

4 years ago

0.10.3

4 years ago

0.10.3-beta.1

4 years ago