@formatjs/ts-transformer 3.9.9 → 3.9.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/BUILD +82 -0
  2. package/CHANGELOG.md +713 -0
  3. package/LICENSE.md +0 -0
  4. package/README.md +0 -0
  5. package/examples/compile.ts +50 -0
  6. package/index.ts +3 -0
  7. package/integration-tests/BUILD +37 -0
  8. package/integration-tests/integration/comp.tsx +40 -0
  9. package/integration-tests/integration/jest.config.js +25 -0
  10. package/integration-tests/integration/ts-jest.test.tsx +32 -0
  11. package/integration-tests/package.json +5 -0
  12. package/integration-tests/vue/fixtures/index.vue +30 -0
  13. package/integration-tests/vue/fixtures/main.ts +4 -0
  14. package/integration-tests/vue/integration.test.ts +75 -0
  15. package/package.json +3 -3
  16. package/src/console_utils.ts +32 -0
  17. package/src/interpolate-name.ts +147 -0
  18. package/src/transform.ts +764 -0
  19. package/src/types.ts +12 -0
  20. package/tests/__snapshots__/index.test.ts.snap +908 -0
  21. package/tests/fixtures/FormattedMessage.tsx +35 -0
  22. package/tests/fixtures/additionalComponentNames.tsx +16 -0
  23. package/tests/fixtures/additionalFunctionNames.tsx +20 -0
  24. package/tests/fixtures/ast.tsx +83 -0
  25. package/tests/fixtures/defineMessages.tsx +67 -0
  26. package/tests/fixtures/defineMessagesPreserveWhitespace.tsx +87 -0
  27. package/tests/fixtures/descriptionsAsObjects.tsx +17 -0
  28. package/tests/fixtures/extractFromFormatMessage.tsx +45 -0
  29. package/tests/fixtures/extractFromFormatMessageStateless.tsx +46 -0
  30. package/tests/fixtures/extractSourceLocation.tsx +8 -0
  31. package/tests/fixtures/formatMessageCall.tsx +44 -0
  32. package/tests/fixtures/inline.tsx +26 -0
  33. package/tests/fixtures/nested.tsx +10 -0
  34. package/tests/fixtures/noImport.tsx +52 -0
  35. package/tests/fixtures/overrideIdFn.tsx +70 -0
  36. package/tests/fixtures/removeDefaultMessage.tsx +22 -0
  37. package/tests/fixtures/removeDescription.tsx +22 -0
  38. package/tests/fixtures/resourcePath.tsx +23 -0
  39. package/tests/fixtures/stringConcat.tsx +26 -0
  40. package/tests/fixtures/templateLiteral.tsx +21 -0
  41. package/tests/index.test.ts +127 -0
  42. package/tests/interpolate-name.test.ts +14 -0
  43. package/ts-jest-integration.ts +9 -0
  44. package/tsconfig.json +5 -0
  45. package/index.d.ts +0 -4
  46. package/index.d.ts.map +0 -1
  47. package/index.js +0 -6
  48. package/src/console_utils.d.ts +0 -4
  49. package/src/console_utils.d.ts.map +0 -1
  50. package/src/console_utils.js +0 -49
  51. package/src/interpolate-name.d.ts +0 -15
  52. package/src/interpolate-name.d.ts.map +0 -1
  53. package/src/interpolate-name.js +0 -95
  54. package/src/transform.d.ts +0 -78
  55. package/src/transform.d.ts.map +0 -1
  56. package/src/transform.js +0 -483
  57. package/src/types.d.ts +0 -12
  58. package/src/types.d.ts.map +0 -1
  59. package/src/types.js +0 -2
  60. package/ts-jest-integration.d.ts +0 -6
  61. package/ts-jest-integration.d.ts.map +0 -1
  62. package/ts-jest-integration.js +0 -10
@@ -0,0 +1,23 @@
1
+ export function foo() {
2
+ props.intl.formatMessage(
3
+ {
4
+ defaultMessage: 'props {intl}',
5
+ description: 'bar',
6
+ },
7
+ {bar: 'bar'}
8
+ )
9
+ this.props.intl.formatMessage(
10
+ {
11
+ defaultMessage: 'this props {intl}',
12
+ description: 'bar',
13
+ },
14
+ {bar: 'bar'}
15
+ )
16
+ return intl.formatMessage(
17
+ {
18
+ defaultMessage: 'foo {bar}',
19
+ description: 'bar',
20
+ },
21
+ {bar: 'bar'}
22
+ )
23
+ }
@@ -0,0 +1,26 @@
1
+ import React, {Component} from 'react'
2
+ import {FormattedMessage, defineMessage} from 'react-intl'
3
+
4
+ export default class Foo extends Component {
5
+ render() {
6
+ return (
7
+ <div>
8
+ <FormattedMessage
9
+ id={'foo.bar.baz' + 'id'}
10
+ defaultMessage={'Hello World!' + 'far' + 'baz'}
11
+ description="The default message."
12
+ />
13
+ {intl.formatMessage({
14
+ id: 'header',
15
+ defaultMessage: 'Hello World!' + 'foo' + 'bar',
16
+ description: 'The default message',
17
+ })}
18
+ {defineMessage({
19
+ id: 'header2',
20
+ defaultMessage: 'Hello World!',
21
+ description: 'The default message' + ' asd',
22
+ })}
23
+ </div>
24
+ )
25
+ }
26
+ }
@@ -0,0 +1,21 @@
1
+ import React, {Component} from 'react'
2
+ import {FormattedMessage, defineMessage} from 'react-intl'
3
+
4
+ defineMessage({
5
+ id: `template`,
6
+ defaultMessage: `should remove
7
+ newline and
8
+ extra spaces`,
9
+ })
10
+
11
+ export default class Foo extends Component {
12
+ render() {
13
+ return (
14
+ <FormattedMessage
15
+ id="foo.bar.baz"
16
+ defaultMessage={`Hello World!`}
17
+ description="The default message."
18
+ />
19
+ )
20
+ }
21
+ }
@@ -0,0 +1,127 @@
1
+ import {join} from 'path'
2
+ import {transform, Opts, MessageDescriptor} from '../'
3
+ import * as ts from 'typescript'
4
+ import {readFile as readFileAsync} from 'fs'
5
+ import {promisify} from 'util'
6
+
7
+ const readFile = promisify(readFileAsync)
8
+
9
+ const FILES_TO_TESTS: Record<string, Partial<Opts>> = {
10
+ additionalComponentNames: {
11
+ additionalComponentNames: ['CustomMessage'],
12
+ pragma: 'react-intl',
13
+ },
14
+ additionalFunctionNames: {
15
+ additionalFunctionNames: ['$formatMessage'],
16
+ pragma: 'react-intl',
17
+ },
18
+ defineMessages: {
19
+ pragma: 'react-intl',
20
+ },
21
+ extractFromFormatMessage: {
22
+ pragma: 'react-intl',
23
+ },
24
+ extractFromFormatMessageStateless: {},
25
+ nested: {
26
+ overrideIdFn: (id, defaultMessage, description) => {
27
+ return `HELLO.${id}.${defaultMessage!.length}.${typeof description}`
28
+ },
29
+ },
30
+ extractSourceLocation: {
31
+ extractSourceLocation: true,
32
+ },
33
+ descriptionsAsObjects: {},
34
+ formatMessageCall: {},
35
+ FormattedMessage: {},
36
+ inline: {},
37
+ stringConcat: {},
38
+ templateLiteral: {},
39
+ overrideIdFn: {
40
+ overrideIdFn: (id, defaultMessage, description) => {
41
+ return `HELLO.${id}.${defaultMessage!.length}.${typeof description}`
42
+ },
43
+ },
44
+ ast: {
45
+ ast: true,
46
+ overrideIdFn: (id, defaultMessage, description) => {
47
+ return `HELLO.${id}.${defaultMessage!.length}.${typeof description}`
48
+ },
49
+ },
50
+ removeDefaultMessage: {
51
+ removeDefaultMessage: true,
52
+ },
53
+ noImport: {
54
+ overrideIdFn: '[hash:base64:5]',
55
+ },
56
+ resourcePath: {
57
+ overrideIdFn: '[name]-[hash:base64:5]',
58
+ },
59
+ removeDescription: {},
60
+ defineMessagesPreserveWhitespace: {
61
+ pragma: 'react-intl',
62
+ preserveWhitespace: true,
63
+ },
64
+ }
65
+
66
+ const FIXTURES_DIR = join(__dirname, 'fixtures')
67
+
68
+ describe('emit asserts for', function () {
69
+ const filenames = Object.keys(FILES_TO_TESTS)
70
+ filenames.forEach(function (fn) {
71
+ if (fn === 'extractSourceLocation') {
72
+ it(`[special] ${fn}`, async function () {
73
+ const output = await compile(
74
+ join(FIXTURES_DIR, `${fn}.tsx`),
75
+ FILES_TO_TESTS[fn]
76
+ )
77
+ // Check code output
78
+ expect(output.code).toMatchSnapshot()
79
+ expect(output.msgs).toHaveLength(1)
80
+ expect(output.msgs[0]).toMatchSnapshot({
81
+ file: expect.stringContaining('extractSourceLocation.tsx'),
82
+ })
83
+ })
84
+ } else {
85
+ it(fn, async function () {
86
+ const output = await compile(
87
+ join(FIXTURES_DIR, `${fn}.tsx`),
88
+ FILES_TO_TESTS[fn]
89
+ )
90
+ expect(output).toMatchSnapshot()
91
+ })
92
+ }
93
+ })
94
+ })
95
+
96
+ async function compile(filePath: string, options?: Partial<Opts>) {
97
+ let msgs: MessageDescriptor[] = []
98
+ let meta: Record<string, string> = {}
99
+ const input = await readFile(filePath, 'utf8')
100
+ const output = ts.transpileModule(input, {
101
+ compilerOptions: {
102
+ target: ts.ScriptTarget.ESNext,
103
+ allowJs: true,
104
+ },
105
+ fileName: filePath,
106
+ reportDiagnostics: true,
107
+ transformers: {
108
+ before: [
109
+ transform({
110
+ overrideIdFn: '[hash:base64:10]',
111
+ onMsgExtracted: (_, extractedMsgs) => {
112
+ msgs = msgs.concat(extractedMsgs)
113
+ },
114
+ onMetaExtracted: (_, m) => {
115
+ meta = m
116
+ },
117
+ ...(options || {}),
118
+ }),
119
+ ],
120
+ },
121
+ })
122
+ return {
123
+ msgs,
124
+ meta,
125
+ code: output.outputText,
126
+ }
127
+ }
@@ -0,0 +1,14 @@
1
+ import {interpolateName} from '../src/interpolate-name'
2
+ import {createHash} from 'crypto'
3
+ describe('interpolateName', function () {
4
+ it('should match native', function () {
5
+ const hasher = createHash('sha1')
6
+ const content = 'foo#bar'
7
+ hasher.update(content)
8
+ expect(
9
+ interpolateName({}, '[sha1:contenthash:base64:6]', {
10
+ content,
11
+ })
12
+ ).toBe(hasher.digest('base64').slice(0, 6))
13
+ })
14
+ })
@@ -0,0 +1,9 @@
1
+ import {transformWithTs, Opts} from '.'
2
+ import type {TsCompilerInstance} from 'ts-jest'
3
+
4
+ export const name = '@formatjs/ts-transformer'
5
+ export const version = '2.10.1'
6
+
7
+ export function factory(compilerInstance: TsCompilerInstance, opts: Opts) {
8
+ return transformWithTs(compilerInstance.configSet.compilerModule, opts)
9
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,5 @@
1
+ // @generated
2
+ {
3
+ // This is purely for IDE, not for compilation
4
+ "extends": "../../tsconfig.json"
5
+ }
package/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from './src/transform';
2
- export * from './src/types';
3
- export * from './src/interpolate-name';
4
- //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/ts-transformer/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA"}
package/index.js DELETED
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./src/transform"), exports);
5
- (0, tslib_1.__exportStar)(require("./src/types"), exports);
6
- (0, tslib_1.__exportStar)(require("./src/interpolate-name"), exports);
@@ -1,4 +0,0 @@
1
- export declare function debug(message: string, ...args: any[]): Promise<void>;
2
- export declare function warn(message: string, ...args: any[]): void;
3
- export declare function error(message: string, ...args: any[]): void;
4
- //# sourceMappingURL=console_utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"console_utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/ts-transformer/src/console_utils.ts"],"names":[],"mappings":"AAeA,wBAAsB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,iBAM1D;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAG1D;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAG3D"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.error = exports.warn = exports.debug = void 0;
4
- var tslib_1 = require("tslib");
5
- var chalk_1 = require("chalk");
6
- var util_1 = require("util");
7
- var LEVEL_COLORS = {
8
- debug: chalk_1.green,
9
- warn: chalk_1.yellow,
10
- error: chalk_1.red,
11
- };
12
- function label(level, message) {
13
- return "[@formatjs/ts-transformer] [".concat(LEVEL_COLORS[level](level.toUpperCase()), "] ").concat(message);
14
- }
15
- function debug(message) {
16
- var args = [];
17
- for (var _i = 1; _i < arguments.length; _i++) {
18
- args[_i - 1] = arguments[_i];
19
- }
20
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
21
- return (0, tslib_1.__generator)(this, function (_a) {
22
- if (process.env.LOG_LEVEL !== 'debug') {
23
- return [2 /*return*/];
24
- }
25
- console.error(util_1.format.apply(void 0, (0, tslib_1.__spreadArray)([label('debug', message)], args, false)));
26
- console.error('\n');
27
- return [2 /*return*/];
28
- });
29
- });
30
- }
31
- exports.debug = debug;
32
- function warn(message) {
33
- var args = [];
34
- for (var _i = 1; _i < arguments.length; _i++) {
35
- args[_i - 1] = arguments[_i];
36
- }
37
- console.error(util_1.format.apply(void 0, (0, tslib_1.__spreadArray)([label('warn', message)], args, false)));
38
- console.error('\n');
39
- }
40
- exports.warn = warn;
41
- function error(message) {
42
- var args = [];
43
- for (var _i = 1; _i < arguments.length; _i++) {
44
- args[_i - 1] = arguments[_i];
45
- }
46
- console.error(util_1.format.apply(void 0, (0, tslib_1.__spreadArray)([label('error', message)], args, false)));
47
- console.error('\n');
48
- }
49
- exports.error = error;
@@ -1,15 +0,0 @@
1
- export interface LoaderContext {
2
- resourceQuery?: string;
3
- resourcePath?: string;
4
- options?: {
5
- customInterpolateName(this: LoaderContext, url: string, name: string | NameFn, options: Options): string;
6
- };
7
- }
8
- export interface Options {
9
- context?: string;
10
- content?: string;
11
- regExp?: RegExp;
12
- }
13
- export declare type NameFn = (resourcePath?: string, resourceQuery?: string) => string;
14
- export declare function interpolateName(loaderContext: LoaderContext, name: string | NameFn, options: Options): string;
15
- //# sourceMappingURL=interpolate-name.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpolate-name.d.ts","sourceRoot":"","sources":["../../../../../../packages/ts-transformer/src/interpolate-name.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE;QACR,qBAAqB,CACnB,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,OAAO,EAAE,OAAO,GACf,MAAM,CAAA;KACV,CAAA;CACF;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,oBAAY,MAAM,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;AAa9E,wBAAgB,eAAe,CAC7B,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,OAAO,EAAE,OAAO,UA6GjB"}
@@ -1,95 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.interpolateName = void 0;
4
- var tslib_1 = require("tslib");
5
- var path = (0, tslib_1.__importStar)(require("path"));
6
- var crypto_1 = require("crypto");
7
- function getHashDigest(content, hashType, digestType, length) {
8
- if (hashType === void 0) { hashType = 'md5'; }
9
- if (digestType === void 0) { digestType = 'hex'; }
10
- if (length === void 0) { length = 9999; }
11
- var hasher = (0, crypto_1.createHash)(hashType);
12
- hasher.update(content);
13
- return hasher.digest(digestType).slice(0, length);
14
- }
15
- function interpolateName(loaderContext, name, options) {
16
- var filename;
17
- var hasQuery = loaderContext.resourceQuery && loaderContext.resourceQuery.length > 1;
18
- if (typeof name === 'function') {
19
- filename = name(loaderContext.resourcePath, hasQuery ? loaderContext.resourceQuery : undefined);
20
- }
21
- else {
22
- filename = name || '[hash].[ext]';
23
- }
24
- var context = options.context;
25
- var content = options.content;
26
- var regExp = options.regExp;
27
- var ext = 'bin';
28
- var basename = 'file';
29
- var directory = '';
30
- var folder = '';
31
- var query = '';
32
- if (loaderContext.resourcePath) {
33
- var parsed = path.parse(loaderContext.resourcePath);
34
- var resourcePath = loaderContext.resourcePath;
35
- if (parsed.ext) {
36
- ext = parsed.ext.slice(1);
37
- }
38
- if (parsed.dir) {
39
- basename = parsed.name;
40
- resourcePath = parsed.dir + path.sep;
41
- }
42
- if (typeof context !== 'undefined') {
43
- directory = path
44
- .relative(context, resourcePath + '_')
45
- .replace(/\\/g, '/')
46
- .replace(/\.\.(\/)?/g, '_$1');
47
- directory = directory.slice(0, -1);
48
- }
49
- else {
50
- directory = resourcePath.replace(/\\/g, '/').replace(/\.\.(\/)?/g, '_$1');
51
- }
52
- if (directory.length === 1) {
53
- directory = '';
54
- }
55
- else if (directory.length > 1) {
56
- folder = path.basename(directory);
57
- }
58
- }
59
- if (loaderContext.resourceQuery && loaderContext.resourceQuery.length > 1) {
60
- query = loaderContext.resourceQuery;
61
- var hashIdx = query.indexOf('#');
62
- if (hashIdx >= 0) {
63
- query = query.slice(0, hashIdx);
64
- }
65
- }
66
- var url = filename;
67
- if (content) {
68
- // Match hash template
69
- url = url
70
- // `hash` and `contenthash` are same in `loader-utils` context
71
- // let's keep `hash` for backward compatibility
72
- .replace(/\[(?:([^:\]]+):)?(?:hash|contenthash)(?::([a-z]+\d*))?(?::(\d+))?\]/gi, function (_, hashType, digestType, maxLength) {
73
- return getHashDigest(content, hashType, digestType, parseInt(maxLength, 10));
74
- });
75
- }
76
- url = url
77
- .replace(/\[ext\]/gi, function () { return ext; })
78
- .replace(/\[name\]/gi, function () { return basename; })
79
- .replace(/\[path\]/gi, function () { return directory; })
80
- .replace(/\[folder\]/gi, function () { return folder; })
81
- .replace(/\[query\]/gi, function () { return query; });
82
- if (regExp && loaderContext.resourcePath) {
83
- var match = loaderContext.resourcePath.match(new RegExp(regExp));
84
- match &&
85
- match.forEach(function (matched, i) {
86
- url = url.replace(new RegExp('\\[' + i + '\\]', 'ig'), matched);
87
- });
88
- }
89
- if (typeof loaderContext.options === 'object' &&
90
- typeof loaderContext.options.customInterpolateName === 'function') {
91
- url = loaderContext.options.customInterpolateName.call(loaderContext, url, name, options);
92
- }
93
- return url;
94
- }
95
- exports.interpolateName = interpolateName;
@@ -1,78 +0,0 @@
1
- import * as typescript from 'typescript';
2
- import { MessageDescriptor } from './types';
3
- export declare type Extractor = (filePath: string, msgs: MessageDescriptor[]) => void;
4
- export declare type MetaExtractor = (filePath: string, meta: Record<string, string>) => void;
5
- export declare type InterpolateNameFn = (id?: MessageDescriptor['id'], defaultMessage?: MessageDescriptor['defaultMessage'], description?: MessageDescriptor['description'], filePath?: string) => string;
6
- declare type TypeScript = typeof typescript;
7
- export interface Opts {
8
- /**
9
- * Parse specific additional custom pragma.
10
- * This allows you to tag certain file with metadata such as `project`.
11
- * For example with this file:
12
- * ```tsx
13
- * // @intl-meta project:my-custom-project
14
- * import {FormattedMessage} from 'react-intl';
15
- * <FormattedMessage defaultMessage="foo" id="bar" />;
16
- * ```
17
- * and with option `{pragma: "@intl-meta"}`,
18
- * we'll parse out `// @intl-meta project:my-custom-project`
19
- * into `{project: 'my-custom-project'}` in the result file.
20
- */
21
- pragma?: string;
22
- /**
23
- * Whether the metadata about the location of the message in the source file
24
- * should be extracted. If `true`, then `file`, `start`, and `end`
25
- * fields will exist for each extracted message descriptors.
26
- * Defaults to `false`.
27
- */
28
- extractSourceLocation?: boolean;
29
- /**
30
- * Remove `defaultMessage` field in generated js after extraction.
31
- */
32
- removeDefaultMessage?: boolean;
33
- /**
34
- * Additional component names to extract messages from,
35
- * e.g: `['FormattedFooBarMessage']`.
36
- */
37
- additionalComponentNames?: string[];
38
- /**
39
- * Additional function names to extract messages from,
40
- * e.g: `['formatMessage', '$t']`
41
- * Default to `['formatMessage']`
42
- */
43
- additionalFunctionNames?: string[];
44
- /**
45
- * Callback function that gets called everytime we encountered something
46
- * that looks like a MessageDescriptor
47
- *
48
- * @type {Extractor}
49
- * @memberof Opts
50
- */
51
- onMsgExtracted?: Extractor;
52
- /**
53
- * Callback function that gets called when we successfully parsed meta
54
- * declared in pragma
55
- */
56
- onMetaExtracted?: MetaExtractor;
57
- /**
58
- * webpack-style name interpolation.
59
- * Can also be a string like '[sha512:contenthash:hex:6]'
60
- *
61
- * @type {(InterpolateNameFn | string)}
62
- * @memberof Opts
63
- */
64
- overrideIdFn?: InterpolateNameFn | string;
65
- /**
66
- * Whether to compile `defaultMessage` to AST.
67
- * This is no-op if `removeDefaultMessage` is `true`
68
- */
69
- ast?: boolean;
70
- /**
71
- * Whether to preserve whitespace and newlines.
72
- */
73
- preserveWhitespace?: boolean;
74
- }
75
- export declare function transformWithTs(ts: TypeScript, opts: Opts): typescript.TransformerFactory<typescript.SourceFile>;
76
- export declare function transform(opts: Opts): typescript.TransformerFactory<typescript.SourceFile>;
77
- export {};
78
- //# sourceMappingURL=transform.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../../../../packages/ts-transformer/src/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,YAAY,CAAA;AACxC,OAAO,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAA;AAKzC,oBAAY,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAA;AAC7E,oBAAY,aAAa,GAAG,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACzB,IAAI,CAAA;AAET,oBAAY,iBAAiB,GAAG,CAC9B,EAAE,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAC5B,cAAc,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,EACpD,WAAW,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAC9C,QAAQ,CAAC,EAAE,MAAM,KACd,MAAM,CAAA;AAQX,aAAK,UAAU,GAAG,OAAO,UAAU,CAAA;AA2FnC,MAAM,WAAW,IAAI;IACnB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;IACnC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAA;IAClC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,aAAa,CAAA;IAC/B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAA;IACzC;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IACb;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAmiBD,wBAAgB,eAAe,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,wDA6BzD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,wDAEnC"}