@teambit/babel 0.0.700 → 0.0.703

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.
@@ -18,6 +18,7 @@ export declare class BabelCompiler implements Compiler {
18
18
  displayName: string;
19
19
  deleteDistDir: boolean;
20
20
  version(): string;
21
+ getDistDir(): string;
21
22
  /**
22
23
  * compile one file on the workspace
23
24
  */
@@ -123,6 +123,10 @@ class BabelCompiler {
123
123
  version() {
124
124
  return this.babelModule.version;
125
125
  }
126
+
127
+ getDistDir() {
128
+ return this.distDir;
129
+ }
126
130
  /**
127
131
  * compile one file on the workspace
128
132
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["babel.compiler.ts"],"names":["BabelCompiler","constructor","id","logger","compiler","options","babelModule","babel","distDir","distGlobPatterns","shouldCopyNonSupportedFiles","artifactName","supportedFilesGlobPatterns","version","transpileFile","fileContent","supportedExtensions","fileExtension","path","extname","filePath","includes","endsWith","transformOptions","babelTransformOptions","context","rootDir","componentDir","outputFiles","build","capsules","capsuleNetwork","seedersCapsules","componentsResults","longProcessLogger","createLongProcessLogger","length","capsule","currentComponentResult","errors","component","logProgress","toString","buildOneCapsule","push","artifacts","getArtifactDefinition","createTask","name","componentResult","startTime","Date","now","sourceFiles","filesystem","files","map","file","relative","fs","ensureDir","join","Promise","all","isFileSupported","absoluteFilePath","sourceFileName","basename","filename","result","debug","distPath","replaceFileExtToJs","distPathMap","outputFile","outputText","err","endTime","generatedBy","globPatterns","getDistPathBySrcPath","srcPath","fileWithJSExtIfNeeded","displayConfig","JSON","stringify"],"mappings":"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","sourcesContent":["import * as babel from '@babel/core';\nimport multimatch from 'multimatch';\nimport { flatten } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport fs from 'fs-extra';\nimport { BuildContext, BuiltTaskResult, ComponentResult } from '@teambit/builder';\nimport { Compiler, CompilerMain, TranspileFileParams, TranspileFileOutput } from '@teambit/compiler';\nimport { Capsule } from '@teambit/isolator';\nimport { Logger } from '@teambit/logger';\nimport path from 'path';\nimport {\n isFileSupported,\n transpileFileContent,\n transpileFilePathAsync,\n replaceFileExtToJs,\n TranspileContext,\n} from '@teambit/compilation.modules.babel-compiler';\nimport { BabelCompilerOptions } from './compiler-options';\n\nexport class BabelCompiler implements Compiler {\n distDir: string;\n distGlobPatterns: string[];\n shouldCopyNonSupportedFiles: boolean;\n artifactName: string;\n supportedFilesGlobPatterns: string[] | null;\n constructor(\n readonly id: string,\n private logger: Logger,\n private compiler: CompilerMain,\n private options: BabelCompilerOptions,\n private babelModule = babel\n ) {\n this.distDir = options.distDir || 'dist';\n this.distGlobPatterns = options.distGlobPatterns || [`${this.distDir}/**`, `!${this.distDir}/tsconfig.tsbuildinfo`];\n this.shouldCopyNonSupportedFiles =\n typeof options.shouldCopyNonSupportedFiles === 'boolean' ? options.shouldCopyNonSupportedFiles : true;\n this.artifactName = options.artifactName || 'dist';\n this.supportedFilesGlobPatterns = options.supportedFilesGlobPatterns\n ? flatten(options.supportedFilesGlobPatterns)\n : null;\n }\n\n displayName = 'Babel';\n deleteDistDir = false;\n\n version() {\n return this.babelModule.version;\n }\n\n /**\n * compile one file on the workspace\n */\n transpileFile(fileContent: string, options: TranspileFileParams): TranspileFileOutput {\n const supportedExtensions = ['.ts', '.tsx', '.js', '.jsx'];\n const fileExtension = path.extname(options.filePath);\n if (!supportedExtensions.includes(fileExtension) || options.filePath.endsWith('.d.ts')) {\n return null; // file is not supported\n }\n const transformOptions = this.options.babelTransformOptions || {};\n const context: TranspileContext = {\n filePath: options.filePath,\n rootDir: options.componentDir,\n };\n const outputFiles = transpileFileContent(fileContent, context, transformOptions, this.babelModule);\n return outputFiles;\n }\n\n /**\n * compile multiple components on the capsules\n */\n async build(context: BuildContext): Promise<BuiltTaskResult> {\n const capsules = context.capsuleNetwork.seedersCapsules;\n const componentsResults: ComponentResult[] = [];\n const longProcessLogger = this.logger.createLongProcessLogger('compile babel components', capsules.length);\n await mapSeries(capsules, async (capsule) => {\n const currentComponentResult: ComponentResult = {\n errors: [],\n component: capsule.component,\n };\n longProcessLogger.logProgress(capsule.component.id.toString());\n await this.buildOneCapsule(capsule, currentComponentResult);\n componentsResults.push({ ...currentComponentResult });\n });\n\n return {\n artifacts: this.getArtifactDefinition(),\n componentsResults,\n };\n }\n\n createTask(name = 'BabelCompiler') {\n return this.compiler.createTask(name, this);\n }\n\n private async buildOneCapsule(capsule: Capsule, componentResult: ComponentResult) {\n componentResult.startTime = Date.now();\n const sourceFiles = capsule.component.filesystem.files.map((file) => file.relative);\n await fs.ensureDir(path.join(capsule.path, this.distDir));\n await Promise.all(\n sourceFiles.map(async (filePath) => {\n if (this.isFileSupported(filePath)) {\n const absoluteFilePath = path.join(capsule.path, filePath);\n this.options.babelTransformOptions ||= {};\n this.options.babelTransformOptions.sourceFileName = path.basename(filePath);\n this.options.babelTransformOptions.filename = path.basename(filePath);\n try {\n const result = await transpileFilePathAsync(\n absoluteFilePath,\n this.options.babelTransformOptions || {},\n this.babelModule\n );\n if (!result || !result.length) {\n this.logger.debug(\n `getting an empty response from Babel for the file ${filePath}. it might be configured to be ignored`\n );\n return;\n }\n // Make sure to get only the relative path of the dist because we want to add the dist dir.\n // If we use the result outputPath we will get an absolute path here\n const distPath = this.replaceFileExtToJs(filePath);\n const distPathMap = `${distPath}.map`;\n await fs.outputFile(path.join(capsule.path, this.distDir, distPath), result[0].outputText);\n if (result.length > 1) {\n await fs.outputFile(path.join(capsule.path, this.distDir, distPathMap), result[1].outputText);\n }\n } catch (err: any) {\n componentResult.errors?.push(err);\n }\n }\n })\n );\n componentResult.endTime = Date.now();\n }\n\n getArtifactDefinition() {\n return [\n {\n generatedBy: this.id,\n name: this.artifactName,\n globPatterns: this.distGlobPatterns,\n },\n ];\n }\n\n /**\n * given a source file, return its parallel in the dists. e.g. index.ts => dist/index.js\n */\n getDistPathBySrcPath(srcPath: string) {\n const fileWithJSExtIfNeeded = this.replaceFileExtToJs(srcPath);\n return path.join(this.distDir, fileWithJSExtIfNeeded);\n }\n\n /**\n * whether babel is able to compile the given path\n */\n isFileSupported(filePath: string): boolean {\n if (this.supportedFilesGlobPatterns) {\n return isFileSupported(filePath) && !!multimatch(filePath, this.supportedFilesGlobPatterns).length;\n }\n return isFileSupported(filePath);\n }\n\n displayConfig() {\n return JSON.stringify(this.options.babelTransformOptions || {}, null, 2);\n }\n\n private replaceFileExtToJs(filePath: string): string {\n if (!this.isFileSupported(filePath)) return filePath;\n return replaceFileExtToJs(filePath);\n }\n}\n"]}
1
+ {"version":3,"sources":["babel.compiler.ts"],"names":["BabelCompiler","constructor","id","logger","compiler","options","babelModule","babel","distDir","distGlobPatterns","shouldCopyNonSupportedFiles","artifactName","supportedFilesGlobPatterns","version","getDistDir","transpileFile","fileContent","supportedExtensions","fileExtension","path","extname","filePath","includes","endsWith","transformOptions","babelTransformOptions","context","rootDir","componentDir","outputFiles","build","capsules","capsuleNetwork","seedersCapsules","componentsResults","longProcessLogger","createLongProcessLogger","length","capsule","currentComponentResult","errors","component","logProgress","toString","buildOneCapsule","push","artifacts","getArtifactDefinition","createTask","name","componentResult","startTime","Date","now","sourceFiles","filesystem","files","map","file","relative","fs","ensureDir","join","Promise","all","isFileSupported","absoluteFilePath","sourceFileName","basename","filename","result","debug","distPath","replaceFileExtToJs","distPathMap","outputFile","outputText","err","endTime","generatedBy","globPatterns","getDistPathBySrcPath","srcPath","fileWithJSExtIfNeeded","displayConfig","JSON","stringify"],"mappings":"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","sourcesContent":["import * as babel from '@babel/core';\nimport multimatch from 'multimatch';\nimport { flatten } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport fs from 'fs-extra';\nimport { BuildContext, BuiltTaskResult, ComponentResult } from '@teambit/builder';\nimport { Compiler, CompilerMain, TranspileFileParams, TranspileFileOutput } from '@teambit/compiler';\nimport { Capsule } from '@teambit/isolator';\nimport { Logger } from '@teambit/logger';\nimport path from 'path';\nimport {\n isFileSupported,\n transpileFileContent,\n transpileFilePathAsync,\n replaceFileExtToJs,\n TranspileContext,\n} from '@teambit/compilation.modules.babel-compiler';\nimport { BabelCompilerOptions } from './compiler-options';\n\nexport class BabelCompiler implements Compiler {\n distDir: string;\n distGlobPatterns: string[];\n shouldCopyNonSupportedFiles: boolean;\n artifactName: string;\n supportedFilesGlobPatterns: string[] | null;\n constructor(\n readonly id: string,\n private logger: Logger,\n private compiler: CompilerMain,\n private options: BabelCompilerOptions,\n private babelModule = babel\n ) {\n this.distDir = options.distDir || 'dist';\n this.distGlobPatterns = options.distGlobPatterns || [`${this.distDir}/**`, `!${this.distDir}/tsconfig.tsbuildinfo`];\n this.shouldCopyNonSupportedFiles =\n typeof options.shouldCopyNonSupportedFiles === 'boolean' ? options.shouldCopyNonSupportedFiles : true;\n this.artifactName = options.artifactName || 'dist';\n this.supportedFilesGlobPatterns = options.supportedFilesGlobPatterns\n ? flatten(options.supportedFilesGlobPatterns)\n : null;\n }\n\n displayName = 'Babel';\n deleteDistDir = false;\n\n version() {\n return this.babelModule.version;\n }\n\n getDistDir() {\n return this.distDir;\n }\n\n /**\n * compile one file on the workspace\n */\n transpileFile(fileContent: string, options: TranspileFileParams): TranspileFileOutput {\n const supportedExtensions = ['.ts', '.tsx', '.js', '.jsx'];\n const fileExtension = path.extname(options.filePath);\n if (!supportedExtensions.includes(fileExtension) || options.filePath.endsWith('.d.ts')) {\n return null; // file is not supported\n }\n const transformOptions = this.options.babelTransformOptions || {};\n const context: TranspileContext = {\n filePath: options.filePath,\n rootDir: options.componentDir,\n };\n const outputFiles = transpileFileContent(fileContent, context, transformOptions, this.babelModule);\n return outputFiles;\n }\n\n /**\n * compile multiple components on the capsules\n */\n async build(context: BuildContext): Promise<BuiltTaskResult> {\n const capsules = context.capsuleNetwork.seedersCapsules;\n const componentsResults: ComponentResult[] = [];\n const longProcessLogger = this.logger.createLongProcessLogger('compile babel components', capsules.length);\n await mapSeries(capsules, async (capsule) => {\n const currentComponentResult: ComponentResult = {\n errors: [],\n component: capsule.component,\n };\n longProcessLogger.logProgress(capsule.component.id.toString());\n await this.buildOneCapsule(capsule, currentComponentResult);\n componentsResults.push({ ...currentComponentResult });\n });\n\n return {\n artifacts: this.getArtifactDefinition(),\n componentsResults,\n };\n }\n\n createTask(name = 'BabelCompiler') {\n return this.compiler.createTask(name, this);\n }\n\n private async buildOneCapsule(capsule: Capsule, componentResult: ComponentResult) {\n componentResult.startTime = Date.now();\n const sourceFiles = capsule.component.filesystem.files.map((file) => file.relative);\n await fs.ensureDir(path.join(capsule.path, this.distDir));\n await Promise.all(\n sourceFiles.map(async (filePath) => {\n if (this.isFileSupported(filePath)) {\n const absoluteFilePath = path.join(capsule.path, filePath);\n this.options.babelTransformOptions ||= {};\n this.options.babelTransformOptions.sourceFileName = path.basename(filePath);\n this.options.babelTransformOptions.filename = path.basename(filePath);\n try {\n const result = await transpileFilePathAsync(\n absoluteFilePath,\n this.options.babelTransformOptions || {},\n this.babelModule\n );\n if (!result || !result.length) {\n this.logger.debug(\n `getting an empty response from Babel for the file ${filePath}. it might be configured to be ignored`\n );\n return;\n }\n // Make sure to get only the relative path of the dist because we want to add the dist dir.\n // If we use the result outputPath we will get an absolute path here\n const distPath = this.replaceFileExtToJs(filePath);\n const distPathMap = `${distPath}.map`;\n await fs.outputFile(path.join(capsule.path, this.distDir, distPath), result[0].outputText);\n if (result.length > 1) {\n await fs.outputFile(path.join(capsule.path, this.distDir, distPathMap), result[1].outputText);\n }\n } catch (err: any) {\n componentResult.errors?.push(err);\n }\n }\n })\n );\n componentResult.endTime = Date.now();\n }\n\n getArtifactDefinition() {\n return [\n {\n generatedBy: this.id,\n name: this.artifactName,\n globPatterns: this.distGlobPatterns,\n },\n ];\n }\n\n /**\n * given a source file, return its parallel in the dists. e.g. index.ts => dist/index.js\n */\n getDistPathBySrcPath(srcPath: string) {\n const fileWithJSExtIfNeeded = this.replaceFileExtToJs(srcPath);\n return path.join(this.distDir, fileWithJSExtIfNeeded);\n }\n\n /**\n * whether babel is able to compile the given path\n */\n isFileSupported(filePath: string): boolean {\n if (this.supportedFilesGlobPatterns) {\n return isFileSupported(filePath) && !!multimatch(filePath, this.supportedFilesGlobPatterns).length;\n }\n return isFileSupported(filePath);\n }\n\n displayConfig() {\n return JSON.stringify(this.options.babelTransformOptions || {}, null, 2);\n }\n\n private replaceFileExtToJs(filePath: string): string {\n if (!this.isFileSupported(filePath)) return filePath;\n return replaceFileExtToJs(filePath);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/babel",
3
- "version": "0.0.700",
3
+ "version": "0.0.703",
4
4
  "homepage": "https://bit.dev/teambit/compilation/babel",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.compilation",
8
8
  "name": "babel",
9
- "version": "0.0.700"
9
+ "version": "0.0.703"
10
10
  },
11
11
  "dependencies": {
12
12
  "@teambit/harmony": "0.2.11",
@@ -17,12 +17,12 @@
17
17
  "p-map-series": "2.1.0",
18
18
  "@babel/runtime": "7.12.18",
19
19
  "core-js": "^3.0.0",
20
- "@teambit/builder": "0.0.700",
20
+ "@teambit/builder": "0.0.703",
21
21
  "@teambit/compilation.modules.babel-compiler": "0.0.124",
22
- "@teambit/compiler": "0.0.700",
23
- "@teambit/isolator": "0.0.700",
24
- "@teambit/logger": "0.0.557",
25
- "@teambit/cli": "0.0.465"
22
+ "@teambit/compiler": "0.0.703",
23
+ "@teambit/isolator": "0.0.703",
24
+ "@teambit/logger": "0.0.559",
25
+ "@teambit/cli": "0.0.467"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/fs-extra": "9.0.7",
@@ -36,7 +36,7 @@
36
36
  "@teambit/compilation.aspect-docs.babel": "0.0.136"
37
37
  },
38
38
  "peerDependencies": {
39
- "@teambit/legacy": "1.0.243",
39
+ "@teambit/legacy": "1.0.245",
40
40
  "react-dom": "^16.8.0 || ^17.0.0",
41
41
  "react": "^16.8.0 || ^17.0.0"
42
42
  },
@@ -64,7 +64,7 @@
64
64
  "react": "-"
65
65
  },
66
66
  "peerDependencies": {
67
- "@teambit/legacy": "1.0.243",
67
+ "@teambit/legacy": "1.0.245",
68
68
  "react-dom": "^16.8.0 || ^17.0.0",
69
69
  "react": "^16.8.0 || ^17.0.0"
70
70
  }
@@ -1,2 +1,2 @@
1
- export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.compilation_babel@0.0.700/dist/babel.composition.js')]
2
- export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.compilation_babel@0.0.700/dist/babel.docs.mdx')]
1
+ export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.compilation_babel@0.0.703/dist/babel.composition.js')]
2
+ export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.compilation_babel@0.0.703/dist/babel.docs.mdx')]
package/tsconfig.json CHANGED
@@ -10,22 +10,23 @@
10
10
  "target": "es2015",
11
11
  "module": "commonjs",
12
12
  "jsx": "react",
13
+ "allowJs": true,
14
+ "composite": true,
13
15
  "declaration": true,
14
16
  "sourceMap": true,
15
17
  "skipLibCheck": true,
18
+ "outDir": "dist",
16
19
  "moduleResolution": "node",
17
20
  "esModuleInterop": true,
21
+ "rootDir": ".",
18
22
  "resolveJsonModule": true,
19
- "composite": true,
20
23
  "emitDeclarationOnly": true,
21
- "outDir": "dist",
22
24
  "experimentalDecorators": true,
23
25
  "emitDecoratorMetadata": true,
24
26
  "allowSyntheticDefaultImports": true,
25
27
  "strictPropertyInitialization": false,
26
28
  "strict": true,
27
29
  "noImplicitAny": false,
28
- "rootDir": ".",
29
30
  "preserveConstEnums": true
30
31
  },
31
32
  "exclude": [