@ramonclaudio/vexpo 0.1.0 → 0.1.1

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,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
- export { ascConnect, ascStatus } from './chunk-A43VGOE3.js';
2
+ export { ascStatus } from './chunk-VOL7YISA.js';
3
3
  import './chunk-PYXH4J77.js';
4
4
  import './chunk-QFP5R25M.js';
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export { ENV_FILE, ensureLine, readAll, readOne, removeLines } from './chunk-3TT4CDAJ.js';
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  // src/index.ts
3
3
  var REPO_URL = "https://github.com/ramonclaudio/vexpo";
4
- var CREATE_COMMAND = "bunx create-vexpo@latest";
5
- var NPM_CREATE_COMMAND = "npm create vexpo@latest";
4
+ var CREATE_COMMAND = "npm create @ramonclaudio/vexpo@latest";
5
+ var NPM_CREATE_COMMAND = "npm create @ramonclaudio/vexpo@latest";
6
6
 
7
7
  export { CREATE_COMMAND, NPM_CREATE_COMMAND, REPO_URL };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ramonclaudio/vexpo",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Operational CLI for vexpo projects: setup orchestration, drift detection, env sync, Apple JWT signing, ASC API integration.",
5
5
  "keywords": [
6
6
  "apple-sign-in",
@@ -43,25 +43,27 @@
43
43
  "scripts": {
44
44
  "build": "tsup",
45
45
  "dev": "tsup --watch",
46
+ "prepublishOnly": "npm run build",
46
47
  "typecheck": "tsc --noEmit",
47
48
  "test": "vitest run",
48
49
  "test:watch": "vitest",
49
- "test:e2e": "bun run build && __tests__/e2e/run.sh",
50
- "test:all": "bun run test && bun run test:e2e"
50
+ "test:e2e": "npm run build && __tests__/e2e/run.sh",
51
+ "test:e2e:api": "vitest run --config vitest.e2e.config.ts",
52
+ "test:all": "npm run test && npm run test:e2e"
51
53
  },
52
54
  "dependencies": {
53
- "commander": "^14.0.3",
55
+ "commander": "^15.0.0",
54
56
  "execa": "^9.6.1",
55
57
  "kleur": "^4.1.5",
56
58
  "ora": "^9.4.0",
57
59
  "prompts": "^2.4.2"
58
60
  },
59
61
  "devDependencies": {
60
- "@types/node": "^25.6.0",
62
+ "@types/node": "^25.9.0",
61
63
  "@types/prompts": "^2.4.9",
62
64
  "tsup": "^8.5.1",
63
65
  "typescript": "^6.0.3",
64
- "vitest": "^4.1.5"
66
+ "vitest": "^4.1.8"
65
67
  },
66
68
  "engines": {
67
69
  "node": ">=20.10"
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export { reviews, unansweredOlderThan } from './chunk-5JSZTHAP.js';
@@ -1,68 +0,0 @@
1
- #!/usr/bin/env node
2
- // src/lib/asc-reviews.ts
3
- function reviews(client) {
4
- return {
5
- customerReviews: {
6
- list(filter) {
7
- const query = {};
8
- if (filter?.territory) query["filter[territory]"] = filter.territory;
9
- if (filter?.rating) query["filter[rating]"] = String(filter.rating);
10
- query["include"] = "response";
11
- const path = filter?.appId ? `/v1/apps/${filter.appId}/customerReviews` : "/v1/customerReviews";
12
- return client.paginatedList(path, query, filter?.limit ?? 50);
13
- },
14
- async get(id) {
15
- const res = await client.request(
16
- "GET",
17
- `/v1/customerReviews/${id}`,
18
- void 0,
19
- { include: "response" }
20
- );
21
- return res.data;
22
- },
23
- async getResponse(reviewId) {
24
- try {
25
- const res = await client.request(
26
- "GET",
27
- `/v1/customerReviews/${reviewId}/response`
28
- );
29
- return res.data;
30
- } catch {
31
- return null;
32
- }
33
- }
34
- },
35
- customerReviewResponses: {
36
- async create(args) {
37
- const body = {
38
- data: {
39
- type: "customerReviewResponses",
40
- attributes: { responseBody: args.responseBody },
41
- relationships: {
42
- review: { data: { type: "customerReviews", id: args.reviewId } }
43
- }
44
- }
45
- };
46
- const res = await client.request(
47
- "POST",
48
- "/v1/customerReviewResponses",
49
- body
50
- );
51
- return res.data;
52
- },
53
- async delete(id) {
54
- await client.request("DELETE", `/v1/customerReviewResponses/${id}`);
55
- }
56
- }
57
- };
58
- }
59
- function unansweredOlderThan(list, daysAgo) {
60
- const cutoff = Date.now() - daysAgo * 864e5;
61
- return list.filter((r) => {
62
- const created = r.attributes.createdDate ? Date.parse(r.attributes.createdDate) : NaN;
63
- if (!Number.isFinite(created) || created > cutoff) return false;
64
- return !r.relationships?.response?.data;
65
- });
66
- }
67
-
68
- export { reviews, unansweredOlderThan };