@wocker/ws 1.0.15 → 1.0.17

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.
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.NpmService = void 0;
10
+ const core_1 = require("@wocker/core");
11
+ const makes_1 = require("../makes");
12
+ const utils_1 = require("../utils");
13
+ let NpmService = class NpmService {
14
+ async getPackageInfo(name) {
15
+ const res = await makes_1.Http.get("https://registry.npmjs.org")
16
+ .send(name);
17
+ if (res.status === 404) {
18
+ throw new Error("Package not found");
19
+ }
20
+ if (res.status !== 200) {
21
+ throw new Error("Network error");
22
+ }
23
+ return res.data;
24
+ }
25
+ async install(name, version) {
26
+ console.info(`npm install -g ${version ? `${name}@${version}` : name}`);
27
+ await (0, utils_1.exec)(`npm install -g ${version ? `${name}@${version}` : name}`);
28
+ }
29
+ };
30
+ exports.NpmService = NpmService;
31
+ exports.NpmService = NpmService = __decorate([
32
+ (0, core_1.Injectable)()
33
+ ], NpmService);
@@ -49,7 +49,7 @@ let PluginService = class PluginService {
49
49
  const { default: Plugin } = await Promise.resolve(`${pluginName}`).then(s => __importStar(require(s)));
50
50
  const name = Reflect.getMetadata(core_1.PLUGIN_NAME_METADATA, Plugin);
51
51
  if (!name) {
52
- console.log("No name");
52
+ console.error("No name");
53
53
  }
54
54
  return !!name;
55
55
  }
@@ -1,14 +1,21 @@
1
- import { EnvConfig, Preset, Config, PresetProperties, AppConfigService } from "@wocker/core";
1
+ import { EnvConfig, Project, Preset, AppConfig, PresetProperties } from "@wocker/core";
2
+ import { AppConfigService } from "./AppConfigService";
3
+ import { LogService } from "./LogService";
2
4
  type SearchOptions = Partial<{
3
5
  name: string;
4
6
  source: string;
7
+ path: string;
5
8
  }>;
6
9
  export declare class PresetService {
7
10
  protected readonly appConfigService: AppConfigService;
8
- constructor(appConfigService: AppConfigService);
11
+ protected readonly logService: LogService;
12
+ constructor(appConfigService: AppConfigService, logService: LogService);
9
13
  protected toObject(config: PresetProperties): Preset;
10
- protected getList(): Promise<Config["presets"]>;
11
- getImageName(preset: Preset, buildArgs?: EnvConfig): string;
14
+ protected getList(): Promise<AppConfig["presets"]>;
15
+ getImageNameForProject(project: Project, preset: Preset): string;
16
+ getImageName(preset: Preset, buildArgs: EnvConfig): string;
17
+ init(): Promise<void>;
18
+ deinit(): Promise<void>;
12
19
  get(name: string): Promise<Preset>;
13
20
  addPreset(name: string): Promise<void>;
14
21
  search(options?: SearchOptions): Promise<Preset[]>;
@@ -37,15 +37,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  exports.PresetService = void 0;
39
39
  const core_1 = require("@wocker/core");
40
+ const utils_1 = require("@wocker/utils");
40
41
  const md5_1 = __importDefault(require("md5"));
41
42
  const axios_1 = __importDefault(require("axios"));
42
43
  const unzipper_1 = require("unzipper");
43
44
  const Path = __importStar(require("path"));
45
+ const AppConfigService_1 = require("./AppConfigService");
46
+ const LogService_1 = require("./LogService");
44
47
  const env_1 = require("../env");
45
48
  const makes_1 = require("../makes");
46
49
  let PresetService = class PresetService {
47
- constructor(appConfigService) {
50
+ constructor(appConfigService, logService) {
48
51
  this.appConfigService = appConfigService;
52
+ this.logService = logService;
49
53
  }
50
54
  toObject(config) {
51
55
  const _this = this;
@@ -55,24 +59,32 @@ let PresetService = class PresetService {
55
59
  }
56
60
  async save() {
57
61
  const { source, path, ...rest } = this.toJSON();
58
- const config = await _this.appConfigService.getConfig();
62
+ const config = _this.appConfigService.getConfig();
59
63
  let presetData = config.presets.find((presetData) => {
60
64
  return presetData.name === this.name;
61
65
  });
62
- if (!makes_1.FS.existsSync(_this.appConfigService.dataPath("presets", this.name))) {
63
- makes_1.FS.mkdirSync(_this.appConfigService.dataPath("presets", this.name), {
64
- recursive: true
65
- });
66
+ switch (this.source) {
67
+ case core_1.PRESET_SOURCE_EXTERNAL:
68
+ const fs = new core_1.FileSystem(this.path);
69
+ await fs.writeJSON("config.json", rest);
70
+ break;
71
+ case core_1.PRESET_SOURCE_GITHUB: {
72
+ const fs = new core_1.FileSystem(_this.appConfigService.dataPath("presets", this.name));
73
+ if (!fs.exists()) {
74
+ fs.mkdir("");
75
+ }
76
+ await fs.writeJSON("config.json", rest);
77
+ break;
78
+ }
66
79
  }
67
- await makes_1.FS.writeJSON(_this.appConfigService.dataPath("presets", this.name, "config.json"), rest);
68
80
  if (!presetData) {
69
- config.registerPreset(this.name, source);
81
+ config.registerPreset(this.name, source, path);
70
82
  await config.save();
71
83
  }
72
84
  }
73
85
  async delete() {
74
86
  if (this.source === core_1.PRESET_SOURCE_GITHUB) {
75
- const config = await _this.appConfigService.getConfig();
87
+ const config = _this.appConfigService.getConfig();
76
88
  await makes_1.FS.rm(_this.appConfigService.dataPath("presets", this.name), {
77
89
  recursive: true
78
90
  });
@@ -84,7 +96,7 @@ let PresetService = class PresetService {
84
96
  }
85
97
  async getList() {
86
98
  const dirs = await makes_1.FS.readdir(env_1.PRESETS_DIR);
87
- const { presets } = await this.appConfigService.getConfig();
99
+ const { presets } = this.appConfigService.getConfig();
88
100
  return [
89
101
  ...dirs.map((name) => {
90
102
  return {
@@ -93,10 +105,23 @@ let PresetService = class PresetService {
93
105
  path: Path.join(env_1.PRESETS_DIR, name)
94
106
  };
95
107
  }),
96
- ...presets
108
+ ...presets.map((item) => {
109
+ if (item.source === core_1.PRESET_SOURCE_GITHUB) {
110
+ item.path = this.appConfigService.dataPath("presets", item.name);
111
+ }
112
+ return item;
113
+ })
97
114
  ];
98
115
  }
99
- getImageName(preset, buildArgs = {}) {
116
+ getImageNameForProject(project, preset) {
117
+ switch (project.presetMode) {
118
+ case "project":
119
+ return `project-${project.name}:develop`;
120
+ default:
121
+ return this.getImageName(preset, project.buildArgs || {});
122
+ }
123
+ }
124
+ getImageName(preset, buildArgs) {
100
125
  const rawValues = [];
101
126
  const hashValues = [];
102
127
  Object.keys(preset.buildArgsOptions || {}).forEach((key) => {
@@ -117,6 +142,117 @@ let PresetService = class PresetService {
117
142
  }).join("-");
118
143
  return `ws-preset-${preset.name}:${version}`;
119
144
  }
145
+ async init() {
146
+ let preset = await this.searchOne({
147
+ path: this.appConfigService.pwd()
148
+ });
149
+ const fs = new core_1.FileSystem(this.appConfigService.pwd());
150
+ if (!preset) {
151
+ if (!fs.exists("config.json")) {
152
+ preset = this.toObject({
153
+ name: "",
154
+ version: "",
155
+ source: "external",
156
+ path: this.appConfigService.pwd()
157
+ });
158
+ }
159
+ else {
160
+ preset = this.toObject(fs.readJSON("config.json"));
161
+ preset.source = "external";
162
+ preset.path = this.appConfigService.pwd();
163
+ }
164
+ }
165
+ if (!preset.name) {
166
+ const list = await this.getList();
167
+ preset.name = await (0, utils_1.promptText)({
168
+ message: "Preset name:",
169
+ required: true,
170
+ validate: async (value) => {
171
+ if (!/^[a-z][a-z0-9-_]+$/.test(value || "")) {
172
+ return "Invalid name";
173
+ }
174
+ const presetData = list.find((presetData) => {
175
+ return presetData.name === value;
176
+ });
177
+ if (presetData) {
178
+ return "Preset name is already taken";
179
+ }
180
+ return true;
181
+ },
182
+ default: preset.name
183
+ });
184
+ }
185
+ if (!preset.version) {
186
+ preset.version = await (0, utils_1.promptText)({
187
+ message: "Preset version:",
188
+ validate: (version) => {
189
+ if (!/^[0-9]+\.[0.9]+\.[0-9]+$/.test(version)) {
190
+ return "Invalid version";
191
+ }
192
+ return true;
193
+ },
194
+ default: preset.version
195
+ });
196
+ }
197
+ if (!preset.type) {
198
+ preset.type = await (0, utils_1.promptSelect)({
199
+ message: "Preset type:",
200
+ options: ["dockerfile", "image"]
201
+ });
202
+ }
203
+ switch (preset.type) {
204
+ case "dockerfile":
205
+ if (!preset.dockerfile) {
206
+ const files = await fs.readdirFiles();
207
+ const dockerfiles = files.filter((fileName) => {
208
+ if (new RegExp("^(.*)\\.dockerfile$").test(fileName)) {
209
+ return true;
210
+ }
211
+ return new RegExp("^Dockerfile(\\..*)?").test(fileName);
212
+ });
213
+ if (dockerfiles.length === 0) {
214
+ throw new Error("No dockerfiles found");
215
+ }
216
+ preset.dockerfile = await (0, utils_1.promptSelect)({
217
+ message: "Preset dockerfile:",
218
+ options: dockerfiles
219
+ });
220
+ }
221
+ break;
222
+ case "image":
223
+ if (preset.image) {
224
+ preset.image = await (0, utils_1.promptText)({
225
+ message: "Preset image:",
226
+ required: true,
227
+ validate(value) {
228
+ if (!/^[a-z0-9]+(?:[._-][a-z0-9]+)*(?::[a-z0-9]+(?:[._-][a-z0-9]+)*)?$/.test(value)) {
229
+ return "Invalid image name";
230
+ }
231
+ return true;
232
+ }
233
+ });
234
+ }
235
+ break;
236
+ }
237
+ console.info(JSON.stringify(preset.toJSON(), null, 4));
238
+ const confirm = await (0, utils_1.promptConfirm)({
239
+ message: "Correct?"
240
+ });
241
+ if (confirm) {
242
+ await preset.save();
243
+ }
244
+ }
245
+ async deinit() {
246
+ const preset = await this.searchOne({
247
+ path: this.appConfigService.pwd()
248
+ });
249
+ if (!preset) {
250
+ return;
251
+ }
252
+ const config = this.appConfigService.getConfig();
253
+ config.unregisterPreset(preset.name);
254
+ await config.save();
255
+ }
120
256
  async get(name) {
121
257
  const list = await this.getList();
122
258
  const item = list.find((item) => {
@@ -125,12 +261,6 @@ let PresetService = class PresetService {
125
261
  if (!item) {
126
262
  throw new Error(`Preset ${name} not found`);
127
263
  }
128
- if (item.source === core_1.PRESET_SOURCE_GITHUB) {
129
- item.path = this.appConfigService.dataPath("presets", item.name);
130
- }
131
- else if (item.source === core_1.PRESET_SOURCE_INTERNAL) {
132
- item.path = Path.join(env_1.PRESETS_DIR, item.name);
133
- }
134
264
  const config = await makes_1.FS.readJSON(item.path, "config.json");
135
265
  return this.toObject({
136
266
  ...item,
@@ -180,7 +310,7 @@ let PresetService = class PresetService {
180
310
  console.log(preset.version);
181
311
  }
182
312
  async search(options = {}) {
183
- const { name, source } = options;
313
+ const { name, source, path } = options;
184
314
  const presets = [];
185
315
  const presetConfigs = await this.getList();
186
316
  for (const presetConfig of presetConfigs) {
@@ -190,11 +320,11 @@ let PresetService = class PresetService {
190
320
  if (source && source !== presetConfig.source) {
191
321
  continue;
192
322
  }
323
+ if (path && path !== presetConfig.path) {
324
+ continue;
325
+ }
193
326
  try {
194
327
  const fullConfig = await makes_1.FS.readJSON(presetConfig.path, "config.json");
195
- if (!fullConfig.name) {
196
- console.log(presetConfig.name);
197
- }
198
328
  const preset = this.toObject({
199
329
  ...presetConfig,
200
330
  ...fullConfig
@@ -202,6 +332,7 @@ let PresetService = class PresetService {
202
332
  presets.push(preset);
203
333
  }
204
334
  catch (err) {
335
+ this.logService.error("PresetService.search(", options, ") ->", err.message);
205
336
  }
206
337
  }
207
338
  return presets;
@@ -214,5 +345,6 @@ let PresetService = class PresetService {
214
345
  exports.PresetService = PresetService;
215
346
  exports.PresetService = PresetService = __decorate([
216
347
  (0, core_1.Injectable)(),
217
- __metadata("design:paramtypes", [core_1.AppConfigService])
348
+ __metadata("design:paramtypes", [AppConfigService_1.AppConfigService,
349
+ LogService_1.LogService])
218
350
  ], PresetService);
@@ -1,7 +1,6 @@
1
1
  import { Project, ProjectProperties } from "@wocker/core";
2
2
  import { DockerService, AppConfigService, AppEventsService } from "../services";
3
3
  type SearchParams = Partial<{
4
- id: string;
5
4
  name: string;
6
5
  path: string;
7
6
  }>;
@@ -1,40 +1,16 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
2
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
3
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
4
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
23
7
  };
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
31
8
  var __metadata = (this && this.__metadata) || function (k, v) {
32
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
10
  };
34
11
  Object.defineProperty(exports, "__esModule", { value: true });
35
12
  exports.ProjectService = void 0;
36
13
  const core_1 = require("@wocker/core");
37
- const Path = __importStar(require("path"));
38
14
  const makes_1 = require("../makes");
39
15
  const services_1 = require("../services");
40
16
  let ProjectService = class ProjectService {
@@ -56,7 +32,7 @@ let ProjectService = class ProjectService {
56
32
  }
57
33
  async get() {
58
34
  const project = await this.searchOne({
59
- path: this.appConfigService.getPWD()
35
+ path: this.appConfigService.pwd()
60
36
  });
61
37
  if (!project) {
62
38
  throw new Error("Project not found");
@@ -64,8 +40,13 @@ let ProjectService = class ProjectService {
64
40
  return project;
65
41
  }
66
42
  async getById(id) {
43
+ const config = this.appConfigService.getConfig();
44
+ const projectData = config.getProject(id);
67
45
  const data = await makes_1.FS.readJSON(this.appConfigService.dataPath("projects", id, "config.json"));
68
- return this.fromObject(data);
46
+ return this.fromObject({
47
+ ...data,
48
+ path: projectData.path || projectData.src
49
+ });
69
50
  }
70
51
  async cdProject(name) {
71
52
  const project = await this.searchOne({
@@ -96,7 +77,7 @@ let ProjectService = class ProjectService {
96
77
  await this.dockerService.buildImage({
97
78
  tag: project.imageName,
98
79
  buildArgs: project.buildArgs,
99
- context: this.appConfigService.getPWD(),
80
+ context: this.appConfigService.pwd(),
100
81
  src: project.dockerfile
101
82
  });
102
83
  }
@@ -105,7 +86,7 @@ let ProjectService = class ProjectService {
105
86
  await this.appEventsService.emit("project:rebuild", project);
106
87
  }
107
88
  await this.appEventsService.emit("project:beforeStart", project);
108
- const config = await this.appConfigService.getConfig();
89
+ const config = this.appConfigService.getConfig();
109
90
  container = await this.dockerService.createContainer({
110
91
  name: project.containerName,
111
92
  image: project.imageName,
@@ -113,12 +94,18 @@ let ProjectService = class ProjectService {
113
94
  ...config.env || {},
114
95
  ...project.env || {}
115
96
  },
97
+ ports: project.ports || [],
116
98
  volumes: (project.volumes || []).map((volume) => {
117
99
  const regVolume = /^([^:]+):([^:]+)(?::([^:]+))?$/;
118
100
  const [, source, destination, options] = regVolume.exec(volume);
119
- return `${Path.join(this.appConfigService.getPWD(), source)}:${destination}` + (options ? `:${options}` : "");
101
+ if (source.startsWith("/")) {
102
+ return volume;
103
+ }
104
+ return `${this.appConfigService.pwd(source)}:${destination}` + (options ? `:${options}` : "");
120
105
  }),
121
- ports: project.ports || []
106
+ extraHosts: Object.keys(project.extraHosts || {}).map((host) => {
107
+ return `${project.extraHosts[host]}:${host}`;
108
+ })
122
109
  });
123
110
  }
124
111
  const { State: { Status } } = await container.inspect();
@@ -145,27 +132,25 @@ let ProjectService = class ProjectService {
145
132
  if (!project.id) {
146
133
  project.id = project.name;
147
134
  }
148
- const projectDirPath = this.appConfigService.dataPath("projects", project.id);
149
135
  const config = await this.appConfigService.getConfig();
150
- const configPath = this.appConfigService.dataPath("projects", project.id, "config.json");
151
- if (!makes_1.FS.existsSync(projectDirPath)) {
152
- await makes_1.FS.mkdir(projectDirPath, {
153
- recursive: true
154
- });
136
+ const fs = new core_1.FileSystem(this.appConfigService.dataPath("projects", project.id));
137
+ if (!fs.exists()) {
138
+ fs.mkdir("", { recursive: true });
155
139
  }
156
- config.setProject(project.id, project.path);
157
- await makes_1.FS.writeJSON(configPath, project);
140
+ const { path, ...rest } = project.toJSON();
141
+ config.addProject(project.id, project.name, path);
142
+ await fs.writeJSON("config.json", rest);
158
143
  await config.save();
159
144
  }
160
145
  async search(params = {}) {
161
- const { id, name, path } = params;
146
+ const { name, path } = params;
162
147
  const config = await this.appConfigService.getConfig();
163
148
  const projects = [];
164
149
  for (const projectConfig of config.projects) {
165
- if (id && projectConfig.id !== id) {
150
+ if (name && projectConfig.name !== name) {
166
151
  continue;
167
152
  }
168
- if (path && projectConfig.src !== path) {
153
+ if (path && (projectConfig.path || projectConfig.src) !== path) {
169
154
  continue;
170
155
  }
171
156
  const project = await this.getById(projectConfig.id);
@@ -46,7 +46,7 @@ let ProxyService = class ProxyService {
46
46
  mode: 0o700
47
47
  });
48
48
  }
49
- const config = await this.appConfigService.getConfig();
49
+ const config = this.appConfigService.getConfig();
50
50
  const httpPort = config.getMeta("PROXY_HTTP_PORT", "80");
51
51
  const httpsPort = config.getMeta("PROXY_HTTPS_PORT", "443");
52
52
  container = await this.dockerService.createContainer({
@@ -65,11 +65,11 @@ let ProxyService = class ProxyService {
65
65
  `${certsDir}:/etc/nginx/certs`
66
66
  ]
67
67
  });
68
- const { State: { Status } } = await container.inspect();
69
- if (["created", "exited"].includes(Status)) {
70
- await container.start();
71
- console.info("Started");
72
- }
68
+ }
69
+ const { State: { Status } } = await container.inspect();
70
+ if (["created", "exited"].includes(Status)) {
71
+ await container.start();
72
+ console.info("Proxy started");
73
73
  }
74
74
  }
75
75
  async stop() {
@@ -2,6 +2,7 @@ export * from "./AppConfigService";
2
2
  export * from "./AppEventsService";
3
3
  export * from "./DockerService";
4
4
  export * from "./LogService";
5
+ export * from "./NpmService";
5
6
  export * from "./PluginService";
6
7
  export * from "./PresetService";
7
8
  export * from "./ProjectService";
@@ -18,6 +18,7 @@ __exportStar(require("./AppConfigService"), exports);
18
18
  __exportStar(require("./AppEventsService"), exports);
19
19
  __exportStar(require("./DockerService"), exports);
20
20
  __exportStar(require("./LogService"), exports);
21
+ __exportStar(require("./NpmService"), exports);
21
22
  __exportStar(require("./PluginService"), exports);
22
23
  __exportStar(require("./PresetService"), exports);
23
24
  __exportStar(require("./ProjectService"), exports);
@@ -0,0 +1,20 @@
1
+ export type PackageInfo = {
2
+ name: string;
3
+ "dist-tags": {
4
+ [tag: string]: string;
5
+ };
6
+ versions: {
7
+ [version: string]: {
8
+ name: string;
9
+ version: string;
10
+ };
11
+ };
12
+ time: {
13
+ created: string;
14
+ modified: string;
15
+ } & {
16
+ [version: string]: string;
17
+ };
18
+ readme: string;
19
+ readmeFilename: string;
20
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export * from "./PackageInfo";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./PackageInfo"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wocker/ws",
3
- "version": "1.0.15",
3
+ "version": "1.0.17",
4
4
  "author": "Kris Papercut <krispcut@gmail.com>",
5
5
  "description": "Docker workspace for web projects",
6
6
  "license": "MIT",
@@ -25,8 +25,8 @@
25
25
  "lint": "eslint \"**/*.{js,jsx,ts,tsx}\""
26
26
  },
27
27
  "dependencies": {
28
- "@wocker/core": "^1.0.14",
29
- "@wocker/utils": "^1.0.5",
28
+ "@wocker/core": "1.0.17",
29
+ "@wocker/utils": "^1.0.7",
30
30
  "async-mutex": "^0.4.0",
31
31
  "axios": "^1.6.7",
32
32
  "chalk": "^2.4.2",