@teambit/webpack 1.0.1099 → 1.0.1102

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.
@@ -1,13 +1 @@
1
- import type { Compiler } from 'webpack';
2
- /**
3
- * Monitors Webpack's compilation, and updates progress to Bit
4
- */
5
- export declare class WebpackBitReporterPlugin {
6
- pubsub: any;
7
- devServerID: string;
8
- constructor({ options }: {
9
- options: any;
10
- });
11
- apply(compiler: Compiler | any): void;
12
- static readonly USE_DEV_SERVER_EVENTS = true;
13
- }
1
+ export { WebpackBitReporterPlugin } from '@teambit/webpack.plugins.webpack-bit-reporter-plugin';
@@ -3,61 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WebpackBitReporterPlugin = void 0;
7
- function _bundler() {
8
- const data = require("@teambit/bundler");
9
- _bundler = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _previewCli() {
15
- const data = require("@teambit/preview.cli.dev-server-events-listener");
16
- _previewCli = function () {
6
+ Object.defineProperty(exports, "WebpackBitReporterPlugin", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _webpackPlugins().WebpackBitReporterPlugin;
10
+ }
11
+ });
12
+ function _webpackPlugins() {
13
+ const data = require("@teambit/webpack.plugins.webpack-bit-reporter-plugin");
14
+ _webpackPlugins = function () {
17
15
  return data;
18
16
  };
19
17
  return data;
20
18
  }
21
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
22
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
23
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
24
- const PLUGIN_NAME = 'webpack-compiler-started-plugin';
25
-
26
- /**
27
- * Monitors Webpack's compilation, and updates progress to Bit
28
- */
29
- class WebpackBitReporterPlugin {
30
- constructor({
31
- options
32
- }) {
33
- // TODO: add plugin type from webpack and implement it
34
- _defineProperty(this, "pubsub", void 0);
35
- _defineProperty(this, "devServerID", void 0);
36
- this.pubsub = options.pubsub;
37
- this.devServerID = options.devServerID;
38
- }
39
- apply(compiler) {
40
- // "Called before a new compilation is created."
41
- compiler.hooks.compile.tap(PLUGIN_NAME, () => {
42
- const event = new (_previewCli().DevServerCompilationStartedEvent)(Date.now(), this.devServerID);
43
- this.pubsub.pub(_bundler().BundlerAspect.id, event);
44
- });
45
-
46
- // "Executed when the compilation has completed."
47
- compiler.hooks.done.tap(PLUGIN_NAME, stats => {
48
- const results = {
49
- errors: stats.compilation.errors,
50
- warnings: stats.compilation.warnings,
51
- compiling: false
52
- };
53
- const event = new (_previewCli().DevServerCompilationDoneEvent)(Date.now(), this.devServerID, results);
54
- this.pubsub.pub(_bundler().BundlerAspect.id, event);
55
- });
56
- }
57
-
58
- // flag to indicate whether the plugin uses the dev server events or the legacy webpack events
59
- }
60
- exports.WebpackBitReporterPlugin = WebpackBitReporterPlugin;
61
- _defineProperty(WebpackBitReporterPlugin, "USE_DEV_SERVER_EVENTS", true);
62
19
 
63
20
  //# sourceMappingURL=webpack-bit-reporter-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_bundler","data","require","_previewCli","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","PLUGIN_NAME","WebpackBitReporterPlugin","constructor","options","pubsub","devServerID","apply","compiler","hooks","compile","tap","event","DevServerCompilationStartedEvent","Date","now","pub","BundlerAspect","id","done","stats","results","errors","compilation","warnings","compiling","DevServerCompilationDoneEvent","exports"],"sources":["webpack-bit-reporter-plugin.ts"],"sourcesContent":["import type { Compiler, Stats } from 'webpack';\n\nimport { BundlerAspect } from '@teambit/bundler';\nimport {\n DevServerCompilationStartedEvent,\n DevServerCompilationDoneEvent,\n} from '@teambit/preview.cli.dev-server-events-listener';\n\nconst PLUGIN_NAME = 'webpack-compiler-started-plugin';\n\n/**\n * Monitors Webpack's compilation, and updates progress to Bit\n */\nexport class WebpackBitReporterPlugin {\n // TODO: add plugin type from webpack and implement it\n pubsub: any;\n devServerID: string;\n\n constructor({ options }) {\n this.pubsub = options.pubsub;\n this.devServerID = options.devServerID;\n }\n\n apply(compiler: Compiler | any) {\n // \"Called before a new compilation is created.\"\n compiler.hooks.compile.tap(PLUGIN_NAME, () => {\n const event = new DevServerCompilationStartedEvent(Date.now(), this.devServerID);\n this.pubsub.pub(BundlerAspect.id, event);\n });\n\n // \"Executed when the compilation has completed.\"\n compiler.hooks.done.tap(PLUGIN_NAME, (stats: Stats) => {\n const results = {\n errors: stats.compilation.errors,\n warnings: stats.compilation.warnings,\n compiling: false,\n };\n const event = new DevServerCompilationDoneEvent(Date.now(), this.devServerID, results);\n this.pubsub.pub(BundlerAspect.id, event);\n });\n }\n\n // flag to indicate whether the plugin uses the dev server events or the legacy webpack events\n static readonly USE_DEV_SERVER_EVENTS = true;\n}\n"],"mappings":";;;;;;AAEA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGyD,SAAAG,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAEzD,MAAMgB,WAAW,GAAG,iCAAiC;;AAErD;AACA;AACA;AACO,MAAMC,wBAAwB,CAAC;EAKpCC,WAAWA,CAAC;IAAEC;EAAQ,CAAC,EAAE;IAJzB;IAAAtB,eAAA;IAAAA,eAAA;IAKE,IAAI,CAACuB,MAAM,GAAGD,OAAO,CAACC,MAAM;IAC5B,IAAI,CAACC,WAAW,GAAGF,OAAO,CAACE,WAAW;EACxC;EAEAC,KAAKA,CAACC,QAAwB,EAAE;IAC9B;IACAA,QAAQ,CAACC,KAAK,CAACC,OAAO,CAACC,GAAG,CAACV,WAAW,EAAE,MAAM;MAC5C,MAAMW,KAAK,GAAG,KAAIC,8CAAgC,EAACC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,IAAI,CAACT,WAAW,CAAC;MAChF,IAAI,CAACD,MAAM,CAACW,GAAG,CAACC,wBAAa,CAACC,EAAE,EAAEN,KAAK,CAAC;IAC1C,CAAC,CAAC;;IAEF;IACAJ,QAAQ,CAACC,KAAK,CAACU,IAAI,CAACR,GAAG,CAACV,WAAW,EAAGmB,KAAY,IAAK;MACrD,MAAMC,OAAO,GAAG;QACdC,MAAM,EAAEF,KAAK,CAACG,WAAW,CAACD,MAAM;QAChCE,QAAQ,EAAEJ,KAAK,CAACG,WAAW,CAACC,QAAQ;QACpCC,SAAS,EAAE;MACb,CAAC;MACD,MAAMb,KAAK,GAAG,KAAIc,2CAA6B,EAACZ,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,IAAI,CAACT,WAAW,EAAEe,OAAO,CAAC;MACtF,IAAI,CAAChB,MAAM,CAACW,GAAG,CAACC,wBAAa,CAACC,EAAE,EAAEN,KAAK,CAAC;IAC1C,CAAC,CAAC;EACJ;;EAEA;AAEF;AAACe,OAAA,CAAAzB,wBAAA,GAAAA,wBAAA;AAAApB,eAAA,CA/BYoB,wBAAwB,2BA8BK,IAAI","ignoreList":[]}
1
+ {"version":3,"names":["_webpackPlugins","data","require"],"sources":["webpack-bit-reporter-plugin.ts"],"sourcesContent":["export { WebpackBitReporterPlugin } from '@teambit/webpack.plugins.webpack-bit-reporter-plugin';\n"],"mappings":";;;;;;;;;;;AAAA,SAAAA,gBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,eAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.webpack_webpack@1.0.1099/dist/webpack.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.webpack_webpack@1.0.1099/dist/webpack.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.webpack_webpack@1.0.1102/dist/webpack.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.webpack_webpack@1.0.1102/dist/webpack.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -1,14 +1,2 @@
1
- import type { Logger } from '@teambit/logger';
2
- /**
3
- * Get the package folder, and in case it's not found get the resolved file path
4
- * @param peerName
5
- * @returns
6
- */
7
- export declare function resolvePeerToDirOrFile(peerName: string, logger: Logger, hostRootDir?: string): string | undefined;
8
- /**
9
- * Make sure to resolve the peer path correctly
10
- * we first resolve it to its dir (to be aligned with the aliases transformer)
11
- * Then we resolve it to specific file, using enhanced resolve to make sure we resolve it using the correct main fields order
12
- * @param peer
13
- */
14
- export declare function resolvePeerToFile(peer: string, logger: Logger, hostRootDir?: string): string | undefined;
1
+ export { resolvePeerToDirOrFile, resolvePeerToFile } from '@teambit/webpack.modules.resolve-peer';
2
+ export type { ResolvePeerLogger } from '@teambit/webpack.modules.resolve-peer';
@@ -3,87 +3,24 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.resolvePeerToDirOrFile = resolvePeerToDirOrFile;
7
- exports.resolvePeerToFile = resolvePeerToFile;
8
- function _fs() {
9
- const data = _interopRequireWildcard(require("fs"));
10
- _fs = function () {
11
- return data;
12
- };
13
- return data;
14
- }
15
- function _enhancedResolve() {
16
- const data = require("enhanced-resolve");
17
- _enhancedResolve = function () {
18
- return data;
19
- };
20
- return data;
21
- }
22
- function _findRoot() {
23
- const data = _interopRequireDefault(require("find-root"));
24
- _findRoot = function () {
6
+ Object.defineProperty(exports, "resolvePeerToDirOrFile", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _webpackModules().resolvePeerToDirOrFile;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "resolvePeerToFile", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _webpackModules().resolvePeerToFile;
16
+ }
17
+ });
18
+ function _webpackModules() {
19
+ const data = require("@teambit/webpack.modules.resolve-peer");
20
+ _webpackModules = function () {
25
21
  return data;
26
22
  };
27
23
  return data;
28
24
  }
29
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
30
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
31
- /**
32
- * Get the package folder, and in case it's not found get the resolved file path
33
- * @param peerName
34
- * @returns
35
- */
36
- function resolvePeerToDirOrFile(peerName, logger, hostRootDir) {
37
- let resolved;
38
- try {
39
- const options = {
40
- // resolve the host root dir to its real location, as require.resolve is preserve symlink, so we get wrong result otherwise
41
- paths: [process.cwd(), __dirname]
42
- };
43
- if (hostRootDir) {
44
- // resolve the host root dir to its real location, as require.resolve is preserve symlink, so we get wrong result otherwise
45
- options.paths.unshift((0, _fs().realpathSync)(hostRootDir));
46
- }
47
- resolved = require.resolve(peerName, options);
48
- const folder = (0, _findRoot().default)(resolved);
49
- return folder;
50
- } catch {
51
- if (resolved) {
52
- logger.warn(`Couldn't find root dir for "${peerName}" from path "${resolved}" to add it as webpack alias`);
53
- } else {
54
- logger.warn(`Couldn't resolve "${peerName}" to add it as webpack alias`);
55
- }
56
- return resolved;
57
- }
58
- }
59
-
60
- /**
61
- * Make sure to resolve the peer path correctly
62
- * we first resolve it to its dir (to be aligned with the aliases transformer)
63
- * Then we resolve it to specific file, using enhanced resolve to make sure we resolve it using the correct main fields order
64
- * @param peer
65
- */
66
- function resolvePeerToFile(peer, logger, hostRootDir) {
67
- const dirOrFile = resolvePeerToDirOrFile(peer, logger, hostRootDir);
68
- if (!dirOrFile) return undefined;
69
- const resolver = createResolver();
70
- const resolvedFile = resolver.resolveSync({}, '', dirOrFile);
71
- return resolvedFile;
72
- }
73
-
74
- /**
75
- * Generate a resolver that will read first the module field then the main field
76
- * to make it compatible with webpack behavior
77
- * @returns
78
- */
79
- function createResolver() {
80
- // create a resolver
81
- const myResolver = _enhancedResolve().ResolverFactory.createResolver({
82
- fileSystem: new (_enhancedResolve().CachedInputFileSystem)(_fs().default, 4000),
83
- useSyncFileSystemCalls: true,
84
- mainFields: ['browser', 'module', 'main']
85
- });
86
- return myResolver;
87
- }
88
25
 
89
26
  //# sourceMappingURL=resolve-peer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_fs","data","_interopRequireWildcard","require","_enhancedResolve","_findRoot","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","resolvePeerToDirOrFile","peerName","logger","hostRootDir","resolved","options","paths","process","cwd","__dirname","unshift","realpathSync","resolve","folder","findRoot","warn","resolvePeerToFile","peer","dirOrFile","undefined","resolver","createResolver","resolvedFile","resolveSync","myResolver","ResolverFactory","fileSystem","CachedInputFileSystem","fs","useSyncFileSystemCalls","mainFields"],"sources":["resolve-peer.ts"],"sourcesContent":["import fs, { realpathSync } from 'fs';\nimport { ResolverFactory, CachedInputFileSystem } from 'enhanced-resolve';\nimport findRoot from 'find-root';\nimport type { Logger } from '@teambit/logger';\n\n/**\n * Get the package folder, and in case it's not found get the resolved file path\n * @param peerName\n * @returns\n */\nexport function resolvePeerToDirOrFile(peerName: string, logger: Logger, hostRootDir?: string): string | undefined {\n let resolved;\n try {\n const options = {\n // resolve the host root dir to its real location, as require.resolve is preserve symlink, so we get wrong result otherwise\n paths: [process.cwd(), __dirname],\n };\n if (hostRootDir) {\n // resolve the host root dir to its real location, as require.resolve is preserve symlink, so we get wrong result otherwise\n options.paths.unshift(realpathSync(hostRootDir));\n }\n\n resolved = require.resolve(peerName, options);\n const folder = findRoot(resolved);\n return folder;\n } catch {\n if (resolved) {\n logger.warn(`Couldn't find root dir for \"${peerName}\" from path \"${resolved}\" to add it as webpack alias`);\n } else {\n logger.warn(`Couldn't resolve \"${peerName}\" to add it as webpack alias`);\n }\n return resolved;\n }\n}\n\n/**\n * Make sure to resolve the peer path correctly\n * we first resolve it to its dir (to be aligned with the aliases transformer)\n * Then we resolve it to specific file, using enhanced resolve to make sure we resolve it using the correct main fields order\n * @param peer\n */\nexport function resolvePeerToFile(peer: string, logger: Logger, hostRootDir?: string): string | undefined {\n const dirOrFile = resolvePeerToDirOrFile(peer, logger, hostRootDir);\n if (!dirOrFile) return undefined;\n const resolver = createResolver();\n const resolvedFile = resolver.resolveSync({}, '', dirOrFile);\n return resolvedFile;\n}\n\n/**\n * Generate a resolver that will read first the module field then the main field\n * to make it compatible with webpack behavior\n * @returns\n */\nfunction createResolver() {\n // create a resolver\n const myResolver = ResolverFactory.createResolver({\n fileSystem: new CachedInputFileSystem(fs, 4000),\n useSyncFileSystemCalls: true,\n mainFields: ['browser', 'module', 'main'],\n });\n return myResolver;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_webpackModules","data","require"],"sources":["resolve-peer.ts"],"sourcesContent":["export { resolvePeerToDirOrFile, resolvePeerToFile } from '@teambit/webpack.modules.resolve-peer';\nexport type { ResolvePeerLogger } from '@teambit/webpack.modules.resolve-peer';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,SAAAA,gBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,eAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
@@ -1,16 +1,12 @@
1
1
  import type { WebpackConfigMutator } from '@teambit/webpack.modules.config-mutator';
2
2
  import type { Logger } from '@teambit/logger';
3
+ import { generateAddAliasesFromPeersTransformer } from '@teambit/webpack.transformers.generate-add-aliases-from-peers';
4
+ import { generateExternalsTransformer } from '@teambit/webpack.transformers.generate-externals';
3
5
  import type { WebpackConfigTransformContext } from '../webpack.main.runtime';
4
- export declare function generateAddAliasesFromPeersTransformer(peers: string[], logger: Logger): (config: WebpackConfigMutator, context: WebpackConfigTransformContext) => WebpackConfigMutator;
6
+ export { generateAddAliasesFromPeersTransformer, generateExternalsTransformer };
5
7
  /**
6
8
  * Generate a transformer that expose all the peers as global via the expose loader
7
9
  * @param peers
8
10
  * @returns
9
11
  */
10
12
  export declare function generateExposePeersTransformer(peers: string[], logger: Logger): (config: WebpackConfigMutator, context: WebpackConfigTransformContext) => WebpackConfigMutator;
11
- /**
12
- * Generate a transformer that expose all the peers as global via the expose loader
13
- * @param peers
14
- * @returns
15
- */
16
- export declare function generateExternalsTransformer(depes: string[]): (config: WebpackConfigMutator) => WebpackConfigMutator;
@@ -3,57 +3,40 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.generateAddAliasesFromPeersTransformer = generateAddAliasesFromPeersTransformer;
6
+ Object.defineProperty(exports, "generateAddAliasesFromPeersTransformer", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _webpackTransformers().generateAddAliasesFromPeersTransformer;
10
+ }
11
+ });
7
12
  exports.generateExposePeersTransformer = generateExposePeersTransformer;
8
- exports.generateExternalsTransformer = generateExternalsTransformer;
9
- function _getExposedRules() {
10
- const data = require("./get-exposed-rules");
11
- _getExposedRules = function () {
13
+ Object.defineProperty(exports, "generateExternalsTransformer", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _webpackTransformers2().generateExternalsTransformer;
17
+ }
18
+ });
19
+ function _webpackTransformers() {
20
+ const data = require("@teambit/webpack.transformers.generate-add-aliases-from-peers");
21
+ _webpackTransformers = function () {
12
22
  return data;
13
23
  };
14
24
  return data;
15
25
  }
16
- function _resolvePeer() {
17
- const data = require("./resolve-peer");
18
- _resolvePeer = function () {
26
+ function _webpackTransformers2() {
27
+ const data = require("@teambit/webpack.transformers.generate-externals");
28
+ _webpackTransformers2 = function () {
19
29
  return data;
20
30
  };
21
31
  return data;
22
32
  }
23
- function _getExternals() {
24
- const data = require("./get-externals");
25
- _getExternals = function () {
33
+ function _getExposedRules() {
34
+ const data = require("./get-exposed-rules");
35
+ _getExposedRules = function () {
26
36
  return data;
27
37
  };
28
38
  return data;
29
39
  }
30
- function generateAddAliasesFromPeersTransformer(peers, logger) {
31
- return (config, context) => {
32
- const hostRootDir = context.target?.hostRootDir || context.hostRootDir;
33
- const peerAliases = peers.reduce((acc, peerName) => {
34
- // gets the correct module folder of the package.
35
- // this allows us to resolve internal files, for example:
36
- // node_modules/react-dom/test-utils
37
- //
38
- // we can't use require.resolve() because it resolves to a specific file.
39
- // for example, if we used "react-dom": require.resolve("react-dom"),
40
- // it would try to resolve "react-dom/test-utils" as:
41
- // node_modules/react-dom/index.js/test-utils
42
- const resolved = (0, _resolvePeer().resolvePeerToDirOrFile)(peerName, logger, hostRootDir);
43
- // Sometime there are packages that only hold icons for example, so there is no main property in their package.json
44
- // so they can't be resolved.
45
- // in such cases do not add them to the aliases.
46
- // We already log that cases in the resolvePeerToDirOrFile function.
47
- if (resolved) {
48
- acc[peerName] = resolved;
49
- }
50
- return acc;
51
- }, {});
52
- config.addAliases(peerAliases);
53
- return config;
54
- };
55
- }
56
-
57
40
  // [dead code] - no longer used
58
41
  /**
59
42
  * Generate a transformer that expose all the peers as global via the expose loader
@@ -69,17 +52,4 @@ function generateExposePeersTransformer(peers, logger) {
69
52
  };
70
53
  }
71
54
 
72
- /**
73
- * Generate a transformer that expose all the peers as global via the expose loader
74
- * @param peers
75
- * @returns
76
- */
77
- function generateExternalsTransformer(depes) {
78
- return config => {
79
- const externals = (0, _getExternals().getExternals)(depes);
80
- config.addExternals(externals);
81
- return config;
82
- };
83
- }
84
-
85
55
  //# sourceMappingURL=transformers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_getExposedRules","data","require","_resolvePeer","_getExternals","generateAddAliasesFromPeersTransformer","peers","logger","config","context","hostRootDir","target","peerAliases","reduce","acc","peerName","resolved","resolvePeerToDirOrFile","addAliases","generateExposePeersTransformer","exposedRules","getExposedRules","addModuleRules","generateExternalsTransformer","depes","externals","getExternals","addExternals"],"sources":["transformers.ts"],"sourcesContent":["import type { WebpackConfigMutator } from '@teambit/webpack.modules.config-mutator';\nimport type { Logger } from '@teambit/logger';\nimport { getExposedRules } from './get-exposed-rules';\nimport { resolvePeerToDirOrFile } from './resolve-peer';\nimport type { WebpackConfigTransformContext } from '../webpack.main.runtime';\nimport { getExternals } from './get-externals';\n\nexport function generateAddAliasesFromPeersTransformer(peers: string[], logger: Logger) {\n return (config: WebpackConfigMutator, context: WebpackConfigTransformContext): WebpackConfigMutator => {\n const hostRootDir = context.target?.hostRootDir || context.hostRootDir;\n const peerAliases = peers.reduce((acc, peerName) => {\n // gets the correct module folder of the package.\n // this allows us to resolve internal files, for example:\n // node_modules/react-dom/test-utils\n //\n // we can't use require.resolve() because it resolves to a specific file.\n // for example, if we used \"react-dom\": require.resolve(\"react-dom\"),\n // it would try to resolve \"react-dom/test-utils\" as:\n // node_modules/react-dom/index.js/test-utils\n const resolved = resolvePeerToDirOrFile(peerName, logger, hostRootDir);\n // Sometime there are packages that only hold icons for example, so there is no main property in their package.json\n // so they can't be resolved.\n // in such cases do not add them to the aliases.\n // We already log that cases in the resolvePeerToDirOrFile function.\n if (resolved) {\n acc[peerName] = resolved;\n }\n return acc;\n }, {});\n\n config.addAliases(peerAliases);\n return config;\n };\n}\n\n// [dead code] - no longer used\n/**\n * Generate a transformer that expose all the peers as global via the expose loader\n * @param peers\n * @returns\n */\nexport function generateExposePeersTransformer(peers: string[], logger: Logger) {\n return (config: WebpackConfigMutator, context: WebpackConfigTransformContext): WebpackConfigMutator => {\n const hostRootDir = context.target?.hostRootDir || context.hostRootDir;\n const exposedRules = getExposedRules(peers, logger, hostRootDir);\n config.addModuleRules(exposedRules);\n return config;\n };\n}\n\n/**\n * Generate a transformer that expose all the peers as global via the expose loader\n * @param peers\n * @returns\n */\nexport function generateExternalsTransformer(depes: string[]) {\n return (config: WebpackConfigMutator): WebpackConfigMutator => {\n const externals = getExternals(depes);\n config.addExternals(externals);\n return config;\n };\n}\n"],"mappings":";;;;;;;;AAEA,SAAAA,iBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,gBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,aAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,cAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,aAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,SAASI,sCAAsCA,CAACC,KAAe,EAAEC,MAAc,EAAE;EACtF,OAAO,CAACC,MAA4B,EAAEC,OAAsC,KAA2B;IACrG,MAAMC,WAAW,GAAGD,OAAO,CAACE,MAAM,EAAED,WAAW,IAAID,OAAO,CAACC,WAAW;IACtE,MAAME,WAAW,GAAGN,KAAK,CAACO,MAAM,CAAC,CAACC,GAAG,EAAEC,QAAQ,KAAK;MAClD;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,MAAMC,QAAQ,GAAG,IAAAC,qCAAsB,EAACF,QAAQ,EAAER,MAAM,EAAEG,WAAW,CAAC;MACtE;MACA;MACA;MACA;MACA,IAAIM,QAAQ,EAAE;QACZF,GAAG,CAACC,QAAQ,CAAC,GAAGC,QAAQ;MAC1B;MACA,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IAENN,MAAM,CAACU,UAAU,CAACN,WAAW,CAAC;IAC9B,OAAOJ,MAAM;EACf,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASW,8BAA8BA,CAACb,KAAe,EAAEC,MAAc,EAAE;EAC9E,OAAO,CAACC,MAA4B,EAAEC,OAAsC,KAA2B;IACrG,MAAMC,WAAW,GAAGD,OAAO,CAACE,MAAM,EAAED,WAAW,IAAID,OAAO,CAACC,WAAW;IACtE,MAAMU,YAAY,GAAG,IAAAC,kCAAe,EAACf,KAAK,EAAEC,MAAM,EAAEG,WAAW,CAAC;IAChEF,MAAM,CAACc,cAAc,CAACF,YAAY,CAAC;IACnC,OAAOZ,MAAM;EACf,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASe,4BAA4BA,CAACC,KAAe,EAAE;EAC5D,OAAQhB,MAA4B,IAA2B;IAC7D,MAAMiB,SAAS,GAAG,IAAAC,4BAAY,EAACF,KAAK,CAAC;IACrChB,MAAM,CAACmB,YAAY,CAACF,SAAS,CAAC;IAC9B,OAAOjB,MAAM;EACf,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_webpackTransformers","data","require","_webpackTransformers2","_getExposedRules","generateExposePeersTransformer","peers","logger","config","context","hostRootDir","target","exposedRules","getExposedRules","addModuleRules"],"sources":["transformers.ts"],"sourcesContent":["import type { WebpackConfigMutator } from '@teambit/webpack.modules.config-mutator';\nimport type { Logger } from '@teambit/logger';\nimport { generateAddAliasesFromPeersTransformer } from '@teambit/webpack.transformers.generate-add-aliases-from-peers';\nimport { generateExternalsTransformer } from '@teambit/webpack.transformers.generate-externals';\nimport { getExposedRules } from './get-exposed-rules';\nimport type { WebpackConfigTransformContext } from '../webpack.main.runtime';\n\nexport { generateAddAliasesFromPeersTransformer, generateExternalsTransformer };\n\n// [dead code] - no longer used\n/**\n * Generate a transformer that expose all the peers as global via the expose loader\n * @param peers\n * @returns\n */\nexport function generateExposePeersTransformer(peers: string[], logger: Logger) {\n return (config: WebpackConfigMutator, context: WebpackConfigTransformContext): WebpackConfigMutator => {\n const hostRootDir = context.target?.hostRootDir || context.hostRootDir;\n const exposedRules = getExposedRules(peers, logger, hostRootDir);\n config.addModuleRules(exposedRules);\n return config;\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAEA,SAAAA,qBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,oBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,sBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,qBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,iBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,gBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,8BAA8BA,CAACC,KAAe,EAAEC,MAAc,EAAE;EAC9E,OAAO,CAACC,MAA4B,EAAEC,OAAsC,KAA2B;IACrG,MAAMC,WAAW,GAAGD,OAAO,CAACE,MAAM,EAAED,WAAW,IAAID,OAAO,CAACC,WAAW;IACtE,MAAME,YAAY,GAAG,IAAAC,kCAAe,EAACP,KAAK,EAAEC,MAAM,EAAEG,WAAW,CAAC;IAChEF,MAAM,CAACM,cAAc,CAACF,YAAY,CAAC;IACnC,OAAOJ,MAAM;EACf,CAAC;AACH","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/webpack",
3
- "version": "1.0.1099",
3
+ "version": "1.0.1102",
4
4
  "homepage": "https://bit.cloud/teambit/webpack/webpack",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.webpack",
8
8
  "name": "webpack",
9
- "version": "1.0.1099"
9
+ "version": "1.0.1102"
10
10
  },
11
11
  "dependencies": {
12
12
  "webpack": "5.97.1",
@@ -15,6 +15,9 @@
15
15
  "find-root": "1.1.0",
16
16
  "webpack-dev-server": "4.15.2",
17
17
  "webpack-merge": "5.8.0",
18
+ "camelcase": "6.2.0",
19
+ "expose-loader": "3.1.0",
20
+ "inject-body-webpack-plugin": "1.3.0",
18
21
  "buffer": "6.0.3",
19
22
  "process": "0.11.10",
20
23
  "assert": "^2.1.0",
@@ -40,23 +43,21 @@
40
43
  "html-webpack-plugin": "5.3.2",
41
44
  "webpack-assets-manifest": "5.1.0",
42
45
  "react-dev-utils": "12.0.1",
43
- "camelcase": "6.2.0",
44
- "expose-loader": "3.1.0",
45
- "inject-body-webpack-plugin": "1.3.0",
46
- "enhanced-resolve": "4.5.0",
47
46
  "@teambit/webpack.modules.config-mutator": "0.0.181",
48
47
  "@teambit/harmony": "0.4.12",
49
48
  "@teambit/bit-error": "0.0.404",
50
- "@teambit/logger": "0.0.1457",
51
- "@teambit/cli": "0.0.1364",
52
- "@teambit/toolbox.path.path": "0.0.21",
53
- "@teambit/preview.cli.dev-server-events-listener": "0.0.1",
54
49
  "@teambit/webpack.modules.generate-expose-loaders": "0.0.42",
55
- "@teambit/webpack.modules.generate-externals": "0.0.43",
56
50
  "@teambit/webpack.plugins.inject-head-webpack-plugin": "0.0.35",
57
- "@teambit/bundler": "1.0.1099",
58
- "@teambit/pubsub": "1.0.1099",
59
- "@teambit/workspace": "1.0.1099"
51
+ "@teambit/webpack.modules.resolve-peer": "0.1.0",
52
+ "@teambit/webpack.transformers.generate-add-aliases-from-peers": "0.1.0",
53
+ "@teambit/webpack.transformers.generate-externals": "0.1.0",
54
+ "@teambit/webpack.plugins.webpack-bit-reporter-plugin": "0.1.0",
55
+ "@teambit/toolbox.path.path": "0.0.21",
56
+ "@teambit/bundler": "1.0.1102",
57
+ "@teambit/logger": "0.0.1460",
58
+ "@teambit/cli": "0.0.1367",
59
+ "@teambit/pubsub": "1.0.1102",
60
+ "@teambit/workspace": "1.0.1102"
60
61
  },
61
62
  "devDependencies": {
62
63
  "@types/webpack": "5.28.5",
@@ -1,45 +1 @@
1
- import type { Compiler, Stats } from 'webpack';
2
-
3
- import { BundlerAspect } from '@teambit/bundler';
4
- import {
5
- DevServerCompilationStartedEvent,
6
- DevServerCompilationDoneEvent,
7
- } from '@teambit/preview.cli.dev-server-events-listener';
8
-
9
- const PLUGIN_NAME = 'webpack-compiler-started-plugin';
10
-
11
- /**
12
- * Monitors Webpack's compilation, and updates progress to Bit
13
- */
14
- export class WebpackBitReporterPlugin {
15
- // TODO: add plugin type from webpack and implement it
16
- pubsub: any;
17
- devServerID: string;
18
-
19
- constructor({ options }) {
20
- this.pubsub = options.pubsub;
21
- this.devServerID = options.devServerID;
22
- }
23
-
24
- apply(compiler: Compiler | any) {
25
- // "Called before a new compilation is created."
26
- compiler.hooks.compile.tap(PLUGIN_NAME, () => {
27
- const event = new DevServerCompilationStartedEvent(Date.now(), this.devServerID);
28
- this.pubsub.pub(BundlerAspect.id, event);
29
- });
30
-
31
- // "Executed when the compilation has completed."
32
- compiler.hooks.done.tap(PLUGIN_NAME, (stats: Stats) => {
33
- const results = {
34
- errors: stats.compilation.errors,
35
- warnings: stats.compilation.warnings,
36
- compiling: false,
37
- };
38
- const event = new DevServerCompilationDoneEvent(Date.now(), this.devServerID, results);
39
- this.pubsub.pub(BundlerAspect.id, event);
40
- });
41
- }
42
-
43
- // flag to indicate whether the plugin uses the dev server events or the legacy webpack events
44
- static readonly USE_DEV_SERVER_EVENTS = true;
45
- }
1
+ export { WebpackBitReporterPlugin } from '@teambit/webpack.plugins.webpack-bit-reporter-plugin';
@@ -1,63 +1,2 @@
1
- import fs, { realpathSync } from 'fs';
2
- import { ResolverFactory, CachedInputFileSystem } from 'enhanced-resolve';
3
- import findRoot from 'find-root';
4
- import type { Logger } from '@teambit/logger';
5
-
6
- /**
7
- * Get the package folder, and in case it's not found get the resolved file path
8
- * @param peerName
9
- * @returns
10
- */
11
- export function resolvePeerToDirOrFile(peerName: string, logger: Logger, hostRootDir?: string): string | undefined {
12
- let resolved;
13
- try {
14
- const options = {
15
- // resolve the host root dir to its real location, as require.resolve is preserve symlink, so we get wrong result otherwise
16
- paths: [process.cwd(), __dirname],
17
- };
18
- if (hostRootDir) {
19
- // resolve the host root dir to its real location, as require.resolve is preserve symlink, so we get wrong result otherwise
20
- options.paths.unshift(realpathSync(hostRootDir));
21
- }
22
-
23
- resolved = require.resolve(peerName, options);
24
- const folder = findRoot(resolved);
25
- return folder;
26
- } catch {
27
- if (resolved) {
28
- logger.warn(`Couldn't find root dir for "${peerName}" from path "${resolved}" to add it as webpack alias`);
29
- } else {
30
- logger.warn(`Couldn't resolve "${peerName}" to add it as webpack alias`);
31
- }
32
- return resolved;
33
- }
34
- }
35
-
36
- /**
37
- * Make sure to resolve the peer path correctly
38
- * we first resolve it to its dir (to be aligned with the aliases transformer)
39
- * Then we resolve it to specific file, using enhanced resolve to make sure we resolve it using the correct main fields order
40
- * @param peer
41
- */
42
- export function resolvePeerToFile(peer: string, logger: Logger, hostRootDir?: string): string | undefined {
43
- const dirOrFile = resolvePeerToDirOrFile(peer, logger, hostRootDir);
44
- if (!dirOrFile) return undefined;
45
- const resolver = createResolver();
46
- const resolvedFile = resolver.resolveSync({}, '', dirOrFile);
47
- return resolvedFile;
48
- }
49
-
50
- /**
51
- * Generate a resolver that will read first the module field then the main field
52
- * to make it compatible with webpack behavior
53
- * @returns
54
- */
55
- function createResolver() {
56
- // create a resolver
57
- const myResolver = ResolverFactory.createResolver({
58
- fileSystem: new CachedInputFileSystem(fs, 4000),
59
- useSyncFileSystemCalls: true,
60
- mainFields: ['browser', 'module', 'main'],
61
- });
62
- return myResolver;
63
- }
1
+ export { resolvePeerToDirOrFile, resolvePeerToFile } from '@teambit/webpack.modules.resolve-peer';
2
+ export type { ResolvePeerLogger } from '@teambit/webpack.modules.resolve-peer';
@@ -1,37 +1,11 @@
1
1
  import type { WebpackConfigMutator } from '@teambit/webpack.modules.config-mutator';
2
2
  import type { Logger } from '@teambit/logger';
3
+ import { generateAddAliasesFromPeersTransformer } from '@teambit/webpack.transformers.generate-add-aliases-from-peers';
4
+ import { generateExternalsTransformer } from '@teambit/webpack.transformers.generate-externals';
3
5
  import { getExposedRules } from './get-exposed-rules';
4
- import { resolvePeerToDirOrFile } from './resolve-peer';
5
6
  import type { WebpackConfigTransformContext } from '../webpack.main.runtime';
6
- import { getExternals } from './get-externals';
7
7
 
8
- export function generateAddAliasesFromPeersTransformer(peers: string[], logger: Logger) {
9
- return (config: WebpackConfigMutator, context: WebpackConfigTransformContext): WebpackConfigMutator => {
10
- const hostRootDir = context.target?.hostRootDir || context.hostRootDir;
11
- const peerAliases = peers.reduce((acc, peerName) => {
12
- // gets the correct module folder of the package.
13
- // this allows us to resolve internal files, for example:
14
- // node_modules/react-dom/test-utils
15
- //
16
- // we can't use require.resolve() because it resolves to a specific file.
17
- // for example, if we used "react-dom": require.resolve("react-dom"),
18
- // it would try to resolve "react-dom/test-utils" as:
19
- // node_modules/react-dom/index.js/test-utils
20
- const resolved = resolvePeerToDirOrFile(peerName, logger, hostRootDir);
21
- // Sometime there are packages that only hold icons for example, so there is no main property in their package.json
22
- // so they can't be resolved.
23
- // in such cases do not add them to the aliases.
24
- // We already log that cases in the resolvePeerToDirOrFile function.
25
- if (resolved) {
26
- acc[peerName] = resolved;
27
- }
28
- return acc;
29
- }, {});
30
-
31
- config.addAliases(peerAliases);
32
- return config;
33
- };
34
- }
8
+ export { generateAddAliasesFromPeersTransformer, generateExternalsTransformer };
35
9
 
36
10
  // [dead code] - no longer used
37
11
  /**
@@ -47,16 +21,3 @@ export function generateExposePeersTransformer(peers: string[], logger: Logger)
47
21
  return config;
48
22
  };
49
23
  }
50
-
51
- /**
52
- * Generate a transformer that expose all the peers as global via the expose loader
53
- * @param peers
54
- * @returns
55
- */
56
- export function generateExternalsTransformer(depes: string[]) {
57
- return (config: WebpackConfigMutator): WebpackConfigMutator => {
58
- const externals = getExternals(depes);
59
- config.addExternals(externals);
60
- return config;
61
- };
62
- }
@@ -1 +0,0 @@
1
- export declare function getExternals(deps: string[]): Record<string, string>;
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getExternals = getExternals;
7
- function _camelcase() {
8
- const data = _interopRequireDefault(require("camelcase"));
9
- _camelcase = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _webpackModules() {
15
- const data = require("@teambit/webpack.modules.generate-externals");
16
- _webpackModules = function () {
17
- return data;
18
- };
19
- return data;
20
- }
21
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
- function getExternals(deps) {
23
- return (0, _webpackModules().generateExternals)(deps, {
24
- transformName: depName => (0, _camelcase().default)(depName.replace('@', '').replace('/', '-'), {
25
- pascalCase: true
26
- })
27
- });
28
- }
29
-
30
- //# sourceMappingURL=get-externals.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_camelcase","data","_interopRequireDefault","require","_webpackModules","e","__esModule","default","getExternals","deps","generateExternals","transformName","depName","camelcase","replace","pascalCase"],"sources":["get-externals.ts"],"sourcesContent":["import camelcase from 'camelcase';\nimport { generateExternals } from '@teambit/webpack.modules.generate-externals';\n\nexport function getExternals(deps: string[]) {\n return generateExternals(deps, {\n transformName: (depName) => camelcase(depName.replace('@', '').replace('/', '-'), { pascalCase: true }),\n });\n}\n"],"mappings":";;;;;;AAAA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,gBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAgF,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEzE,SAASG,YAAYA,CAACC,IAAc,EAAE;EAC3C,OAAO,IAAAC,mCAAiB,EAACD,IAAI,EAAE;IAC7BE,aAAa,EAAGC,OAAO,IAAK,IAAAC,oBAAS,EAACD,OAAO,CAACE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;MAAEC,UAAU,EAAE;IAAK,CAAC;EACxG,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -1,8 +0,0 @@
1
- import camelcase from 'camelcase';
2
- import { generateExternals } from '@teambit/webpack.modules.generate-externals';
3
-
4
- export function getExternals(deps: string[]) {
5
- return generateExternals(deps, {
6
- transformName: (depName) => camelcase(depName.replace('@', '').replace('/', '-'), { pascalCase: true }),
7
- });
8
- }