@teambit/pkg 0.0.880 → 0.0.882
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.
- package/dist/exceptions/index.js +0 -9
- package/dist/exceptions/index.js.map +1 -1
- package/dist/exceptions/package-tar-filet-not-found.js +0 -6
- package/dist/exceptions/package-tar-filet-not-found.js.map +1 -1
- package/dist/exceptions/pkg-artifact-not-found.js +0 -6
- package/dist/exceptions/pkg-artifact-not-found.js.map +1 -1
- package/dist/exceptions/scope-not-found.js +0 -8
- package/dist/exceptions/scope-not-found.js.map +1 -1
- package/dist/index.js +0 -6
- package/dist/index.js.map +1 -1
- package/dist/pack.cmd.js +6 -20
- package/dist/pack.cmd.js.map +1 -1
- package/dist/pack.task.js +0 -9
- package/dist/pack.task.js.map +1 -1
- package/dist/package-dependency/index.js +0 -6
- package/dist/package-dependency/index.js.map +1 -1
- package/dist/package-dependency/package-dependency-factory.js +6 -22
- package/dist/package-dependency/package-dependency-factory.js.map +1 -1
- package/dist/package-dependency/package-dependency.js +0 -7
- package/dist/package-dependency/package-dependency.js.map +1 -1
- package/dist/package.fragment.js +0 -10
- package/dist/package.fragment.js.map +1 -1
- package/dist/package.route.js +2 -16
- package/dist/package.route.js.map +1 -1
- package/dist/packer.js +5 -39
- package/dist/packer.js.map +1 -1
- package/dist/pkg-artifact.js +0 -3
- package/dist/pkg-artifact.js.map +1 -1
- package/dist/pkg.aspect.js +0 -5
- package/dist/pkg.aspect.js.map +1 -1
- package/dist/pkg.composition.js +0 -6
- package/dist/pkg.composition.js.map +1 -1
- package/dist/pkg.graphql.js +0 -6
- package/dist/pkg.graphql.js.map +1 -1
- package/dist/pkg.main.runtime.js +28 -204
- package/dist/pkg.main.runtime.js.map +1 -1
- package/dist/pkg.service.js +0 -19
- package/dist/pkg.service.js.map +1 -1
- package/dist/pkg.ui.runtime.js +0 -27
- package/dist/pkg.ui.runtime.js.map +1 -1
- package/dist/prepare-packages.task.js +6 -37
- package/dist/prepare-packages.task.js.map +1 -1
- package/dist/publish-dry-run.task.js +2 -12
- package/dist/publish-dry-run.task.js.map +1 -1
- package/dist/publish.cmd.js +0 -23
- package/dist/publish.cmd.js.map +1 -1
- package/dist/publish.task.js +2 -12
- package/dist/publish.task.js.map +1 -1
- package/dist/publisher.js +5 -55
- package/dist/publisher.js.map +1 -1
- package/dist/write-npm-ignore.js +0 -12
- package/dist/write-npm-ignore.js.map +1 -1
- package/package-tar/teambit-pkg-0.0.882.tgz +0 -0
- package/package.json +17 -17
- package/{preview-1666312873430.js → preview-1666496165706.js} +2 -2
- package/package-tar/teambit-pkg-0.0.880.tgz +0 -0
package/dist/package.route.js
CHANGED
|
@@ -1,37 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
require("core-js/modules/es.promise.js");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.routePath = exports.PackageRoute = void 0;
|
|
11
|
-
|
|
12
9
|
function _defineProperty2() {
|
|
13
10
|
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
|
|
15
11
|
_defineProperty2 = function () {
|
|
16
12
|
return data;
|
|
17
13
|
};
|
|
18
|
-
|
|
19
14
|
return data;
|
|
20
15
|
}
|
|
21
|
-
|
|
22
16
|
function _mime() {
|
|
23
17
|
const data = _interopRequireDefault(require("mime"));
|
|
24
|
-
|
|
25
18
|
_mime = function () {
|
|
26
19
|
return data;
|
|
27
20
|
};
|
|
28
|
-
|
|
29
21
|
return data;
|
|
30
22
|
}
|
|
31
|
-
|
|
32
23
|
const routePath = `package`;
|
|
33
24
|
exports.routePath = routePath;
|
|
34
|
-
|
|
35
25
|
class PackageRoute {
|
|
36
26
|
constructor(
|
|
37
27
|
/**
|
|
@@ -44,23 +34,19 @@ class PackageRoute {
|
|
|
44
34
|
(0, _defineProperty2().default)(this, "middlewares", [async (req, res) => {
|
|
45
35
|
// @ts-ignore TODO: @guy please fix.
|
|
46
36
|
const component = req.component;
|
|
47
|
-
const file = await this.pkg.getPackageTarFile(component);
|
|
48
|
-
|
|
37
|
+
const file = await this.pkg.getPackageTarFile(component);
|
|
38
|
+
// TODO: 404 again how to handle.
|
|
49
39
|
if (!file) return res.status(404).jsonp({
|
|
50
40
|
error: 'not found'
|
|
51
41
|
});
|
|
52
42
|
const contents = file.contents;
|
|
53
|
-
|
|
54
43
|
const contentType = _mime().default.getType('.tgz');
|
|
55
|
-
|
|
56
44
|
res.set('Content-disposition', `attachment; filename=${file.basename}`);
|
|
57
45
|
if (contentType) res.set('Content-Type', contentType);
|
|
58
46
|
return res.send(contents);
|
|
59
47
|
}]);
|
|
60
48
|
}
|
|
61
|
-
|
|
62
49
|
}
|
|
63
|
-
|
|
64
50
|
exports.PackageRoute = PackageRoute;
|
|
65
51
|
|
|
66
52
|
//# sourceMappingURL=package.route.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["routePath","PackageRoute","constructor","pkg","req","res","component","file","getPackageTarFile","status","jsonp","error","contents","contentType","mime","getType","set","basename","send"],"sources":["package.route.ts"],"sourcesContent":["import { Request, Response, Route } from '@teambit/express';\nimport mime from 'mime';\n\nimport { PkgMain } from './pkg.main.runtime';\n\nexport const routePath = `package`;\nexport class PackageRoute implements Route {\n constructor(\n /**\n * pkg extension.\n */\n private pkg: PkgMain\n ) {}\n\n route = `/${routePath}`;\n method = 'get';\n\n middlewares = [\n async (req: Request, res: Response) => {\n // @ts-ignore TODO: @guy please fix.\n const component: any = req.component as any;\n const file = await this.pkg.getPackageTarFile(component);\n // TODO: 404 again how to handle.\n if (!file) return res.status(404).jsonp({ error: 'not found' });\n const contents = file.contents;\n const contentType = mime.getType('.tgz');\n res.set('Content-disposition', `attachment; filename=${file.basename}`);\n if (contentType) res.set('Content-Type', contentType);\n return res.send(contents);\n },\n ];\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["routePath","PackageRoute","constructor","pkg","req","res","component","file","getPackageTarFile","status","jsonp","error","contents","contentType","mime","getType","set","basename","send"],"sources":["package.route.ts"],"sourcesContent":["import { Request, Response, Route } from '@teambit/express';\nimport mime from 'mime';\n\nimport { PkgMain } from './pkg.main.runtime';\n\nexport const routePath = `package`;\nexport class PackageRoute implements Route {\n constructor(\n /**\n * pkg extension.\n */\n private pkg: PkgMain\n ) {}\n\n route = `/${routePath}`;\n method = 'get';\n\n middlewares = [\n async (req: Request, res: Response) => {\n // @ts-ignore TODO: @guy please fix.\n const component: any = req.component as any;\n const file = await this.pkg.getPackageTarFile(component);\n // TODO: 404 again how to handle.\n if (!file) return res.status(404).jsonp({ error: 'not found' });\n const contents = file.contents;\n const contentType = mime.getType('.tgz');\n res.set('Content-disposition', `attachment; filename=${file.basename}`);\n if (contentType) res.set('Content-Type', contentType);\n return res.send(contents);\n },\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIO,MAAMA,SAAS,GAAI,SAAQ;AAAC;AAC5B,MAAMC,YAAY,CAAkB;EACzCC,WAAW;EACT;AACJ;AACA;EACYC,GAAY,EACpB;IAAA,KADQA,GAAY,GAAZA,GAAY;IAAA,+CAGb,IAAGH,SAAU,EAAC;IAAA,gDACd,KAAK;IAAA,qDAEA,CACZ,OAAOI,GAAY,EAAEC,GAAa,KAAK;MACrC;MACA,MAAMC,SAAc,GAAGF,GAAG,CAACE,SAAgB;MAC3C,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACJ,GAAG,CAACK,iBAAiB,CAACF,SAAS,CAAC;MACxD;MACA,IAAI,CAACC,IAAI,EAAE,OAAOF,GAAG,CAACI,MAAM,CAAC,GAAG,CAAC,CAACC,KAAK,CAAC;QAAEC,KAAK,EAAE;MAAY,CAAC,CAAC;MAC/D,MAAMC,QAAQ,GAAGL,IAAI,CAACK,QAAQ;MAC9B,MAAMC,WAAW,GAAGC,eAAI,CAACC,OAAO,CAAC,MAAM,CAAC;MACxCV,GAAG,CAACW,GAAG,CAAC,qBAAqB,EAAG,wBAAuBT,IAAI,CAACU,QAAS,EAAC,CAAC;MACvE,IAAIJ,WAAW,EAAER,GAAG,CAACW,GAAG,CAAC,cAAc,EAAEH,WAAW,CAAC;MACrD,OAAOR,GAAG,CAACa,IAAI,CAACN,QAAQ,CAAC;IAC3B,CAAC,CACF;EAlBE;AAmBL;AAAC"}
|
package/dist/packer.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
require("core-js/modules/es.promise.js");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
@@ -14,73 +12,54 @@ Object.defineProperty(exports, "PackOptions", {
|
|
|
14
12
|
}
|
|
15
13
|
});
|
|
16
14
|
exports.TAR_FILE_ARTIFACT_NAME = exports.Packer = void 0;
|
|
17
|
-
|
|
18
15
|
function _defineProperty2() {
|
|
19
16
|
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
20
|
-
|
|
21
17
|
_defineProperty2 = function () {
|
|
22
18
|
return data;
|
|
23
19
|
};
|
|
24
|
-
|
|
25
20
|
return data;
|
|
26
21
|
}
|
|
27
|
-
|
|
28
22
|
function _lodash() {
|
|
29
23
|
const data = _interopRequireDefault(require("lodash"));
|
|
30
|
-
|
|
31
24
|
_lodash = function () {
|
|
32
25
|
return data;
|
|
33
26
|
};
|
|
34
|
-
|
|
35
27
|
return data;
|
|
36
28
|
}
|
|
37
|
-
|
|
38
29
|
function _scope() {
|
|
39
30
|
const data = _interopRequireDefault(require("@teambit/legacy/dist/scope/scope"));
|
|
40
|
-
|
|
41
31
|
_scope = function () {
|
|
42
32
|
return data;
|
|
43
33
|
};
|
|
44
|
-
|
|
45
34
|
return data;
|
|
46
35
|
}
|
|
47
|
-
|
|
48
36
|
function _pack() {
|
|
49
37
|
const data = require("@teambit/legacy/dist/pack");
|
|
50
|
-
|
|
51
38
|
_pack = function () {
|
|
52
39
|
return data;
|
|
53
40
|
};
|
|
54
|
-
|
|
55
41
|
return data;
|
|
56
42
|
}
|
|
57
|
-
|
|
58
43
|
function _pMap() {
|
|
59
44
|
const data = _interopRequireDefault(require("p-map"));
|
|
60
|
-
|
|
61
45
|
_pMap = function () {
|
|
62
46
|
return data;
|
|
63
47
|
};
|
|
64
|
-
|
|
65
48
|
return data;
|
|
66
49
|
}
|
|
67
|
-
|
|
68
50
|
function _scopeNotFound() {
|
|
69
51
|
const data = require("./exceptions/scope-not-found");
|
|
70
|
-
|
|
71
52
|
_scopeNotFound = function () {
|
|
72
53
|
return data;
|
|
73
54
|
};
|
|
74
|
-
|
|
75
55
|
return data;
|
|
76
56
|
}
|
|
77
|
-
|
|
78
57
|
// @ts-ignore (for some reason the tsc -w not found this)
|
|
58
|
+
|
|
79
59
|
const DEFAULT_TAR_DIR_IN_CAPSULE = 'package-tar';
|
|
80
60
|
const PACK_CONCURRENCY = 10;
|
|
81
61
|
const TAR_FILE_ARTIFACT_NAME = 'package tar file';
|
|
82
62
|
exports.TAR_FILE_ARTIFACT_NAME = TAR_FILE_ARTIFACT_NAME;
|
|
83
|
-
|
|
84
63
|
class Packer {
|
|
85
64
|
constructor(isolator, logger, host, scope) {
|
|
86
65
|
this.isolator = isolator;
|
|
@@ -90,25 +69,20 @@ class Packer {
|
|
|
90
69
|
(0, _defineProperty2().default)(this, "legacyPacker", void 0);
|
|
91
70
|
this.legacyPacker = new (_pack().Packer)(this.logger);
|
|
92
71
|
}
|
|
93
|
-
|
|
94
72
|
async packComponent(componentId, scopePath, options) {
|
|
95
73
|
var _this$scope;
|
|
96
|
-
|
|
97
74
|
// By default do not load scope from cache when packing
|
|
98
75
|
const loadScopeFromCache = options && options.loadScopeFromCache !== undefined ? !!options.loadScopeFromCache : false;
|
|
99
76
|
const legacyScope = scopePath ? await _scope().default.load(scopePath, loadScopeFromCache) : (_this$scope = this.scope) === null || _this$scope === void 0 ? void 0 : _this$scope.legacyScope;
|
|
100
|
-
|
|
101
77
|
if (!legacyScope) {
|
|
102
78
|
throw new (_scopeNotFound().ScopeNotFound)(scopePath);
|
|
103
79
|
}
|
|
104
|
-
|
|
105
80
|
const capsule = await this.getCapsule(componentId, legacyScope);
|
|
106
81
|
const res = await this.packCapsule(capsule, options.writeOptions, options.dryRun);
|
|
107
82
|
return Object.assign({}, _lodash().default.omit(res, ['component']), {
|
|
108
83
|
id: componentId
|
|
109
84
|
});
|
|
110
85
|
}
|
|
111
|
-
|
|
112
86
|
async packMultipleCapsules(capsules, writeOptions = {
|
|
113
87
|
override: true
|
|
114
88
|
}, dryRun = false, omitFullTarPath = false) {
|
|
@@ -120,24 +94,20 @@ class Packer {
|
|
|
120
94
|
});
|
|
121
95
|
return results;
|
|
122
96
|
}
|
|
123
|
-
|
|
124
97
|
async packCapsule(capsule, writeOptions = {
|
|
125
98
|
override: true
|
|
126
99
|
}, dryRun = false, omitFullTarPath = false) {
|
|
127
100
|
var _concreteWriteOpts$ou;
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
101
|
+
const concreteWriteOpts = writeOptions;
|
|
102
|
+
// Set the package-tar as out dir to easily read the tar later
|
|
131
103
|
concreteWriteOpts.outDir = (_concreteWriteOpts$ou = concreteWriteOpts.outDir) !== null && _concreteWriteOpts$ou !== void 0 ? _concreteWriteOpts$ou : DEFAULT_TAR_DIR_IN_CAPSULE;
|
|
132
104
|
const packResult = await this.legacyPacker.npmPack(capsule.path, concreteWriteOpts.outDir || capsule.path, concreteWriteOpts.override, dryRun);
|
|
133
105
|
const component = capsule.component;
|
|
134
106
|
const fieldsToRemove = [];
|
|
135
|
-
|
|
136
107
|
if (omitFullTarPath) {
|
|
137
108
|
fieldsToRemove.push('tarPath');
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
|
|
109
|
+
}
|
|
110
|
+
// TODO: @gilad please make sure to fix this type error now that I added lodash types
|
|
141
111
|
const metadata = (0, _lodash().default)(packResult.metadata).omitBy(_lodash().default.isUndefined).omit(fieldsToRemove).value();
|
|
142
112
|
return {
|
|
143
113
|
component,
|
|
@@ -148,7 +118,6 @@ class Packer {
|
|
|
148
118
|
endTime: packResult.endTime
|
|
149
119
|
};
|
|
150
120
|
}
|
|
151
|
-
|
|
152
121
|
getArtifactDefInCapsule(outDir) {
|
|
153
122
|
const rootDir = outDir || DEFAULT_TAR_DIR_IN_CAPSULE;
|
|
154
123
|
const def = {
|
|
@@ -157,7 +126,6 @@ class Packer {
|
|
|
157
126
|
};
|
|
158
127
|
return def;
|
|
159
128
|
}
|
|
160
|
-
|
|
161
129
|
async getCapsule(componentIdStr, legacyScope) {
|
|
162
130
|
const componentId = await this.host.resolveComponentId(componentIdStr);
|
|
163
131
|
const network = await this.isolator.isolateComponents([componentId], {
|
|
@@ -167,9 +135,7 @@ class Packer {
|
|
|
167
135
|
if (!capsule) throw new Error(`capsule not found for ${componentId}`);
|
|
168
136
|
return capsule;
|
|
169
137
|
}
|
|
170
|
-
|
|
171
138
|
}
|
|
172
|
-
|
|
173
139
|
exports.Packer = Packer;
|
|
174
140
|
|
|
175
141
|
//# sourceMappingURL=packer.js.map
|
package/dist/packer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_TAR_DIR_IN_CAPSULE","PACK_CONCURRENCY","TAR_FILE_ARTIFACT_NAME","Packer","constructor","isolator","logger","host","scope","legacyPacker","LegacyPacker","packComponent","componentId","scopePath","options","loadScopeFromCache","undefined","legacyScope","LegacyScope","load","ScopeNotFound","capsule","getCapsule","res","packCapsule","writeOptions","dryRun","Object","assign","_","omit","id","packMultipleCapsules","capsules","override","omitFullTarPath","results","pMap","concurrency","concreteWriteOpts","outDir","packResult","npmPack","path","component","fieldsToRemove","push","metadata","omitBy","isUndefined","value","errors","warnings","startTime","endTime","getArtifactDefInCapsule","rootDir","def","name","globPatterns","componentIdStr","resolveComponentId","network","isolateComponents","baseDir","seedersCapsules","Error"],"sources":["packer.ts"],"sourcesContent":["import _ from 'lodash';\nimport { ComponentFactory } from '@teambit/component';\nimport { ComponentResult, ArtifactDefinition } from '@teambit/builder';\nimport { Capsule, IsolatorMain } from '@teambit/isolator';\nimport { ScopeMain } from '@teambit/scope';\nimport LegacyScope from '@teambit/legacy/dist/scope/scope';\nimport { Packer as LegacyPacker, PackWriteOptions, PackOptions } from '@teambit/legacy/dist/pack';\nimport { Logger } from '@teambit/logger';\nimport pMap from 'p-map';\n\n// @ts-ignore (for some reason the tsc -w not found this)\nimport { ScopeNotFound } from './exceptions/scope-not-found';\n\nexport { PackOptions };\n\nexport type PackResult = Omit<ComponentResult, 'component'>;\nexport type PackResultWithId = PackResult & {\n id: string;\n};\n\nconst DEFAULT_TAR_DIR_IN_CAPSULE = 'package-tar';\nconst PACK_CONCURRENCY = 10;\nexport const TAR_FILE_ARTIFACT_NAME = 'package tar file';\n\nexport class Packer {\n legacyPacker: LegacyPacker;\n constructor(\n private isolator: IsolatorMain,\n private logger: Logger,\n private host: ComponentFactory,\n private scope?: ScopeMain\n ) {\n this.legacyPacker = new LegacyPacker(this.logger);\n }\n\n async packComponent(\n componentId: string,\n scopePath: string | undefined,\n options: PackOptions\n ): Promise<PackResultWithId> {\n // By default do not load scope from cache when packing\n const loadScopeFromCache =\n options && options.loadScopeFromCache !== undefined ? !!options.loadScopeFromCache : false;\n const legacyScope = scopePath ? await LegacyScope.load(scopePath, loadScopeFromCache) : this.scope?.legacyScope;\n if (!legacyScope) {\n throw new ScopeNotFound(scopePath);\n }\n const capsule = await this.getCapsule(componentId, legacyScope);\n const res = await this.packCapsule(capsule, options.writeOptions, options.dryRun);\n\n return Object.assign({}, _.omit(res, ['component']), { id: componentId });\n }\n\n async packMultipleCapsules(\n capsules: Capsule[],\n writeOptions: PackWriteOptions = { override: true },\n dryRun = false,\n omitFullTarPath = false\n ): Promise<ComponentResult[]> {\n // const description = `packing components${dryRun ? ' (dry-run)' : ''}`;\n const results = pMap(\n capsules,\n (capsule) => {\n return this.packCapsule(capsule, writeOptions, dryRun, omitFullTarPath);\n },\n { concurrency: PACK_CONCURRENCY }\n );\n return results;\n }\n\n async packCapsule(\n capsule: Capsule,\n writeOptions: PackWriteOptions = { override: true },\n dryRun = false,\n omitFullTarPath = false\n ): Promise<ComponentResult> {\n const concreteWriteOpts = writeOptions;\n // Set the package-tar as out dir to easily read the tar later\n concreteWriteOpts.outDir = concreteWriteOpts.outDir ?? DEFAULT_TAR_DIR_IN_CAPSULE;\n const packResult = await this.legacyPacker.npmPack(\n capsule.path,\n concreteWriteOpts.outDir || capsule.path,\n concreteWriteOpts.override,\n dryRun\n );\n const component = capsule.component;\n const fieldsToRemove: string[] = [];\n if (omitFullTarPath) {\n fieldsToRemove.push('tarPath');\n }\n // TODO: @gilad please make sure to fix this type error now that I added lodash types\n const metadata = _(packResult.metadata).omitBy(_.isUndefined).omit(fieldsToRemove).value() as any;\n\n return {\n component,\n metadata,\n errors: packResult.errors,\n warnings: packResult.warnings,\n startTime: packResult.startTime,\n endTime: packResult.endTime,\n };\n }\n\n getArtifactDefInCapsule(outDir?: string): ArtifactDefinition {\n const rootDir = outDir || DEFAULT_TAR_DIR_IN_CAPSULE;\n const def: ArtifactDefinition = {\n name: TAR_FILE_ARTIFACT_NAME,\n globPatterns: [`${rootDir}/*.tgz`],\n };\n return def;\n }\n\n private async getCapsule(componentIdStr: string, legacyScope: LegacyScope): Promise<Capsule> {\n const componentId = await this.host.resolveComponentId(componentIdStr);\n const network = await this.isolator.isolateComponents([componentId], { baseDir: this.host.path }, legacyScope);\n const capsule = network.seedersCapsules.getCapsule(componentId);\n\n if (!capsule) throw new Error(`capsule not found for ${componentId}`);\n return capsule;\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["DEFAULT_TAR_DIR_IN_CAPSULE","PACK_CONCURRENCY","TAR_FILE_ARTIFACT_NAME","Packer","constructor","isolator","logger","host","scope","legacyPacker","LegacyPacker","packComponent","componentId","scopePath","options","loadScopeFromCache","undefined","legacyScope","LegacyScope","load","ScopeNotFound","capsule","getCapsule","res","packCapsule","writeOptions","dryRun","Object","assign","_","omit","id","packMultipleCapsules","capsules","override","omitFullTarPath","results","pMap","concurrency","concreteWriteOpts","outDir","packResult","npmPack","path","component","fieldsToRemove","push","metadata","omitBy","isUndefined","value","errors","warnings","startTime","endTime","getArtifactDefInCapsule","rootDir","def","name","globPatterns","componentIdStr","resolveComponentId","network","isolateComponents","baseDir","seedersCapsules","Error"],"sources":["packer.ts"],"sourcesContent":["import _ from 'lodash';\nimport { ComponentFactory } from '@teambit/component';\nimport { ComponentResult, ArtifactDefinition } from '@teambit/builder';\nimport { Capsule, IsolatorMain } from '@teambit/isolator';\nimport { ScopeMain } from '@teambit/scope';\nimport LegacyScope from '@teambit/legacy/dist/scope/scope';\nimport { Packer as LegacyPacker, PackWriteOptions, PackOptions } from '@teambit/legacy/dist/pack';\nimport { Logger } from '@teambit/logger';\nimport pMap from 'p-map';\n\n// @ts-ignore (for some reason the tsc -w not found this)\nimport { ScopeNotFound } from './exceptions/scope-not-found';\n\nexport { PackOptions };\n\nexport type PackResult = Omit<ComponentResult, 'component'>;\nexport type PackResultWithId = PackResult & {\n id: string;\n};\n\nconst DEFAULT_TAR_DIR_IN_CAPSULE = 'package-tar';\nconst PACK_CONCURRENCY = 10;\nexport const TAR_FILE_ARTIFACT_NAME = 'package tar file';\n\nexport class Packer {\n legacyPacker: LegacyPacker;\n constructor(\n private isolator: IsolatorMain,\n private logger: Logger,\n private host: ComponentFactory,\n private scope?: ScopeMain\n ) {\n this.legacyPacker = new LegacyPacker(this.logger);\n }\n\n async packComponent(\n componentId: string,\n scopePath: string | undefined,\n options: PackOptions\n ): Promise<PackResultWithId> {\n // By default do not load scope from cache when packing\n const loadScopeFromCache =\n options && options.loadScopeFromCache !== undefined ? !!options.loadScopeFromCache : false;\n const legacyScope = scopePath ? await LegacyScope.load(scopePath, loadScopeFromCache) : this.scope?.legacyScope;\n if (!legacyScope) {\n throw new ScopeNotFound(scopePath);\n }\n const capsule = await this.getCapsule(componentId, legacyScope);\n const res = await this.packCapsule(capsule, options.writeOptions, options.dryRun);\n\n return Object.assign({}, _.omit(res, ['component']), { id: componentId });\n }\n\n async packMultipleCapsules(\n capsules: Capsule[],\n writeOptions: PackWriteOptions = { override: true },\n dryRun = false,\n omitFullTarPath = false\n ): Promise<ComponentResult[]> {\n // const description = `packing components${dryRun ? ' (dry-run)' : ''}`;\n const results = pMap(\n capsules,\n (capsule) => {\n return this.packCapsule(capsule, writeOptions, dryRun, omitFullTarPath);\n },\n { concurrency: PACK_CONCURRENCY }\n );\n return results;\n }\n\n async packCapsule(\n capsule: Capsule,\n writeOptions: PackWriteOptions = { override: true },\n dryRun = false,\n omitFullTarPath = false\n ): Promise<ComponentResult> {\n const concreteWriteOpts = writeOptions;\n // Set the package-tar as out dir to easily read the tar later\n concreteWriteOpts.outDir = concreteWriteOpts.outDir ?? DEFAULT_TAR_DIR_IN_CAPSULE;\n const packResult = await this.legacyPacker.npmPack(\n capsule.path,\n concreteWriteOpts.outDir || capsule.path,\n concreteWriteOpts.override,\n dryRun\n );\n const component = capsule.component;\n const fieldsToRemove: string[] = [];\n if (omitFullTarPath) {\n fieldsToRemove.push('tarPath');\n }\n // TODO: @gilad please make sure to fix this type error now that I added lodash types\n const metadata = _(packResult.metadata).omitBy(_.isUndefined).omit(fieldsToRemove).value() as any;\n\n return {\n component,\n metadata,\n errors: packResult.errors,\n warnings: packResult.warnings,\n startTime: packResult.startTime,\n endTime: packResult.endTime,\n };\n }\n\n getArtifactDefInCapsule(outDir?: string): ArtifactDefinition {\n const rootDir = outDir || DEFAULT_TAR_DIR_IN_CAPSULE;\n const def: ArtifactDefinition = {\n name: TAR_FILE_ARTIFACT_NAME,\n globPatterns: [`${rootDir}/*.tgz`],\n };\n return def;\n }\n\n private async getCapsule(componentIdStr: string, legacyScope: LegacyScope): Promise<Capsule> {\n const componentId = await this.host.resolveComponentId(componentIdStr);\n const network = await this.isolator.isolateComponents([componentId], { baseDir: this.host.path }, legacyScope);\n const capsule = network.seedersCapsules.getCapsule(componentId);\n\n if (!capsule) throw new Error(`capsule not found for ${componentId}`);\n return capsule;\n }\n}\n"],"mappings":"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"}
|
package/dist/pkg-artifact.js
CHANGED
|
@@ -4,14 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.PkgArtifact = void 0;
|
|
7
|
-
|
|
8
7
|
class PkgArtifact {
|
|
9
8
|
constructor(artifacts) {
|
|
10
9
|
this.artifacts = artifacts;
|
|
11
10
|
}
|
|
12
|
-
|
|
13
11
|
}
|
|
14
|
-
|
|
15
12
|
exports.PkgArtifact = PkgArtifact;
|
|
16
13
|
|
|
17
14
|
//# sourceMappingURL=pkg-artifact.js.map
|
package/dist/pkg-artifact.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PkgArtifact","constructor","artifacts"],"sources":["pkg-artifact.ts"],"sourcesContent":["import { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\n\nexport class PkgArtifact {\n constructor(private artifacts: AbstractVinyl[]) {}\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["PkgArtifact","constructor","artifacts"],"sources":["pkg-artifact.ts"],"sourcesContent":["import { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\n\nexport class PkgArtifact {\n constructor(private artifacts: AbstractVinyl[]) {}\n}\n"],"mappings":";;;;;;AAEO,MAAMA,WAAW,CAAC;EACvBC,WAAW,CAASC,SAA0B,EAAE;IAAA,KAA5BA,SAA0B,GAA1BA,SAA0B;EAAG;AACnD;AAAC"}
|
package/dist/pkg.aspect.js
CHANGED
|
@@ -4,21 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.PkgAspect = void 0;
|
|
7
|
-
|
|
8
7
|
function _harmony() {
|
|
9
8
|
const data = require("@teambit/harmony");
|
|
10
|
-
|
|
11
9
|
_harmony = function () {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
const PkgAspect = _harmony().Aspect.create({
|
|
19
15
|
id: 'teambit.pkg/pkg'
|
|
20
16
|
});
|
|
21
|
-
|
|
22
17
|
exports.PkgAspect = PkgAspect;
|
|
23
18
|
|
|
24
19
|
//# sourceMappingURL=pkg.aspect.js.map
|
package/dist/pkg.aspect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PkgAspect","Aspect","create","id"],"sources":["pkg.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const PkgAspect = Aspect.create({\n id: 'teambit.pkg/pkg',\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["PkgAspect","Aspect","create","id"],"sources":["pkg.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const PkgAspect = Aspect.create({\n id: 'teambit.pkg/pkg',\n});\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,SAAS,GAAGC,iBAAM,CAACC,MAAM,CAAC;EACrCC,EAAE,EAAE;AACN,CAAC,CAAC;AAAC"}
|
package/dist/pkg.composition.js
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.Logo = void 0;
|
|
9
|
-
|
|
10
8
|
function _react() {
|
|
11
9
|
const data = _interopRequireDefault(require("react"));
|
|
12
|
-
|
|
13
10
|
_react = function () {
|
|
14
11
|
return data;
|
|
15
12
|
};
|
|
16
|
-
|
|
17
13
|
return data;
|
|
18
14
|
}
|
|
19
|
-
|
|
20
15
|
const Logo = () => /*#__PURE__*/_react().default.createElement("div", {
|
|
21
16
|
style: {
|
|
22
17
|
height: '100%',
|
|
@@ -29,7 +24,6 @@ const Logo = () => /*#__PURE__*/_react().default.createElement("div", {
|
|
|
29
24
|
},
|
|
30
25
|
src: "https://static.bit.dev/extensions-icons/pkg.svg"
|
|
31
26
|
}));
|
|
32
|
-
|
|
33
27
|
exports.Logo = Logo;
|
|
34
28
|
|
|
35
29
|
//# sourceMappingURL=pkg.composition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Logo","height","display","justifyContent","width"],"sources":["pkg.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/pkg.svg\" />\n </div>\n);\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["Logo","height","display","justifyContent","width"],"sources":["pkg.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/pkg.svg\" />\n </div>\n);\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,IAAI,GAAG,mBAClB;EAAK,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxE;EAAK,KAAK,EAAE;IAAEC,KAAK,EAAE;EAAG,CAAE;EAAC,GAAG,EAAC;AAAiD,EAAG,CAEtF;AAAC"}
|
package/dist/pkg.graphql.js
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.pkgSchema = pkgSchema;
|
|
9
|
-
|
|
10
8
|
function _graphqlTag() {
|
|
11
9
|
const data = _interopRequireDefault(require("graphql-tag"));
|
|
12
|
-
|
|
13
10
|
_graphqlTag = function () {
|
|
14
11
|
return data;
|
|
15
12
|
};
|
|
16
|
-
|
|
17
13
|
return data;
|
|
18
14
|
}
|
|
19
|
-
|
|
20
15
|
function pkgSchema(pkg) {
|
|
21
16
|
return {
|
|
22
17
|
typeDefs: (0, _graphqlTag().default)`
|
|
@@ -66,7 +61,6 @@ function pkgSchema(pkg) {
|
|
|
66
61
|
if (version) {
|
|
67
62
|
return parent.versions.filter(v => v.version === version);
|
|
68
63
|
}
|
|
69
|
-
|
|
70
64
|
return parent.versions;
|
|
71
65
|
}
|
|
72
66
|
}
|
package/dist/pkg.graphql.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pkgSchema","pkg","typeDefs","gql","resolvers","Component","packageName","component","getPackageName","packageManifest","getManifest","PackageManifest","versions","parent","version","filter","v"],"sources":["pkg.graphql.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { Schema } from '@teambit/graphql';\nimport gql from 'graphql-tag';\n\nimport { PkgMain } from './pkg.main.runtime';\n\nexport function pkgSchema(pkg: PkgMain): Schema {\n return {\n typeDefs: gql`\n extend type Component {\n packageManifest: PackageManifest\n\n # package name of the component.\n packageName: String!\n }\n\n type TarDist {\n tarball: String\n shasum: String\n }\n\n type VersionsPackageManifest {\n name: String\n version: String\n main: String\n dependencies: JSONObject\n devDependencies: JSONObject\n peerDependencies: JSONObject\n scripts: JSONObject\n dist: TarDist\n }\n\n type PackageManifest {\n name: String\n distTags: JSONObject\n externalRegistry: Boolean\n versions(version: String): [VersionsPackageManifest]\n }\n `,\n resolvers: {\n Component: {\n packageName: (component: Component) => {\n return pkg.getPackageName(component);\n },\n packageManifest: (component: Component) => {\n return pkg.getManifest(component);\n },\n },\n PackageManifest: {\n versions: (parent, { version }) => {\n if (version) {\n return parent.versions.filter((v) => v.version === version);\n }\n return parent.versions;\n },\n },\n },\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["pkgSchema","pkg","typeDefs","gql","resolvers","Component","packageName","component","getPackageName","packageManifest","getManifest","PackageManifest","versions","parent","version","filter","v"],"sources":["pkg.graphql.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { Schema } from '@teambit/graphql';\nimport gql from 'graphql-tag';\n\nimport { PkgMain } from './pkg.main.runtime';\n\nexport function pkgSchema(pkg: PkgMain): Schema {\n return {\n typeDefs: gql`\n extend type Component {\n packageManifest: PackageManifest\n\n # package name of the component.\n packageName: String!\n }\n\n type TarDist {\n tarball: String\n shasum: String\n }\n\n type VersionsPackageManifest {\n name: String\n version: String\n main: String\n dependencies: JSONObject\n devDependencies: JSONObject\n peerDependencies: JSONObject\n scripts: JSONObject\n dist: TarDist\n }\n\n type PackageManifest {\n name: String\n distTags: JSONObject\n externalRegistry: Boolean\n versions(version: String): [VersionsPackageManifest]\n }\n `,\n resolvers: {\n Component: {\n packageName: (component: Component) => {\n return pkg.getPackageName(component);\n },\n packageManifest: (component: Component) => {\n return pkg.getManifest(component);\n },\n },\n PackageManifest: {\n versions: (parent, { version }) => {\n if (version) {\n return parent.versions.filter((v) => v.version === version);\n }\n return parent.versions;\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIO,SAASA,SAAS,CAACC,GAAY,EAAU;EAC9C,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAG,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,SAAS,EAAE;QACTC,WAAW,EAAGC,SAAoB,IAAK;UACrC,OAAON,GAAG,CAACO,cAAc,CAACD,SAAS,CAAC;QACtC,CAAC;QACDE,eAAe,EAAGF,SAAoB,IAAK;UACzC,OAAON,GAAG,CAACS,WAAW,CAACH,SAAS,CAAC;QACnC;MACF,CAAC;MACDI,eAAe,EAAE;QACfC,QAAQ,EAAE,CAACC,MAAM,EAAE;UAAEC;QAAQ,CAAC,KAAK;UACjC,IAAIA,OAAO,EAAE;YACX,OAAOD,MAAM,CAACD,QAAQ,CAACG,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACF,OAAO,KAAKA,OAAO,CAAC;UAC7D;UACA,OAAOD,MAAM,CAACD,QAAQ;QACxB;MACF;IACF;EACF,CAAC;AACH"}
|