@doswiftly/cli 0.1.4 → 0.1.6

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.
Files changed (38) hide show
  1. package/dist/commands/deploy.d.ts +9 -0
  2. package/dist/commands/deploy.d.ts.map +1 -1
  3. package/dist/commands/deploy.js +40 -1
  4. package/dist/commands/deploy.js.map +1 -1
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +7 -1
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/template.d.ts.map +1 -1
  9. package/dist/commands/template.js +388 -345
  10. package/dist/commands/template.js.map +1 -1
  11. package/dist/index.js +5 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/config.d.ts +63 -1
  14. package/dist/lib/config.d.ts.map +1 -1
  15. package/dist/lib/config.js +25 -2
  16. package/dist/lib/config.js.map +1 -1
  17. package/dist/lib/errors.d.ts.map +1 -1
  18. package/dist/lib/errors.js +4 -0
  19. package/dist/lib/errors.js.map +1 -1
  20. package/dist/lib/logger.d.ts +6 -0
  21. package/dist/lib/logger.d.ts.map +1 -1
  22. package/dist/lib/logger.js +11 -0
  23. package/dist/lib/logger.js.map +1 -1
  24. package/dist/lib/shared-api-client.d.ts.map +1 -1
  25. package/dist/lib/shared-api-client.js +14 -0
  26. package/dist/lib/shared-api-client.js.map +1 -1
  27. package/package.json +1 -1
  28. package/templates/storefront-nextjs/app/auth/register/page.tsx +0 -16
  29. package/templates/storefront-nextjs-shadcn/app/account/settings/page.tsx +1 -25
  30. package/templates/storefront-nextjs-shadcn/components/auth/register-form.tsx +0 -21
  31. package/dist/lib/api.d.ts +0 -67
  32. package/dist/lib/api.d.ts.map +0 -1
  33. package/dist/lib/api.js +0 -36
  34. package/dist/lib/api.js.map +0 -1
  35. package/templates/storefront-nextjs/.github/workflows/deploy.yml +0 -45
  36. package/templates/storefront-nextjs/.github/workflows/preview.yml +0 -45
  37. package/templates/storefront-nextjs-shadcn/.github/workflows/deploy.yml +0 -45
  38. package/templates/storefront-nextjs-shadcn/.github/workflows/preview.yml +0 -45
@@ -1 +1 @@
1
- {"version":3,"file":"shared-api-client.d.ts","sourceRoot":"","sources":["../../src/lib/shared-api-client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAqB7C;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAOrD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAQpC;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,aAAa,CAyCrF"}
1
+ {"version":3,"file":"shared-api-client.d.ts","sourceRoot":"","sources":["../../src/lib/shared-api-client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAqB7C;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAOrD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAQpC;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,aAAa,CA0DrF"}
@@ -87,6 +87,20 @@ export function createSharedApiClient(options) {
87
87
  if (shopSlug) {
88
88
  client.defaults.headers.common['X-Shop-Slug'] = shopSlug;
89
89
  }
90
+ // Warn on 401 when local config overrides profile API URL — likely JWT secret mismatch
91
+ const profileApiUrl = getApiUrl();
92
+ if (localApiUrl && profileApiUrl && localApiUrl !== profileApiUrl) {
93
+ client.interceptors.response.use(undefined, (error) => {
94
+ if (error.response?.status === 401) {
95
+ console.error(`\n ⚠ API URL mismatch detected!` +
96
+ `\n Request sent to: ${localApiUrl} (from doswiftly.config.ts)` +
97
+ `\n Profile API URL: ${profileApiUrl}` +
98
+ `\n Your token was issued by the profile API and is invalid on a different server.` +
99
+ `\n Fix: update api.url in doswiftly.config.ts, or remove it to use the profile URL.\n`);
100
+ }
101
+ return Promise.reject(error);
102
+ });
103
+ }
90
104
  return client;
91
105
  }
92
106
  //# sourceMappingURL=shared-api-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-api-client.js","sourceRoot":"","sources":["../../src/lib/shared-api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared-api-client.js","sourceRoot":"","sources":["../../src/lib/shared-api-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doswiftly/cli",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "DoSwiftly CLI - Scaffold and deploy e-commerce storefronts",
5
5
  "homepage": "https://doswiftly.pl",
6
6
  "publishConfig": {
@@ -16,7 +16,6 @@ function RegisterForm() {
16
16
  email: "",
17
17
  password: "",
18
18
  confirmPassword: "",
19
- acceptsMarketing: false,
20
19
  });
21
20
  const [error, setError] = useState<string | null>(null);
22
21
 
@@ -51,7 +50,6 @@ function RegisterForm() {
51
50
  password: formData.password,
52
51
  firstName: formData.firstName || undefined,
53
52
  lastName: formData.lastName || undefined,
54
- acceptsMarketing: formData.acceptsMarketing,
55
53
  },
56
54
  });
57
55
 
@@ -182,20 +180,6 @@ function RegisterForm() {
182
180
  />
183
181
  </div>
184
182
 
185
- <div className="flex items-center gap-2">
186
- <input
187
- type="checkbox"
188
- id="acceptsMarketing"
189
- name="acceptsMarketing"
190
- checked={formData.acceptsMarketing}
191
- onChange={handleChange}
192
- className="h-4 w-4 rounded border-gray-300"
193
- />
194
- <label htmlFor="acceptsMarketing" className="text-sm text-gray-600">
195
- I want to receive marketing emails
196
- </label>
197
- </div>
198
-
199
183
  <button
200
184
  type="submit"
201
185
  disabled={register.isPending}
@@ -19,7 +19,6 @@ export default function SettingsPage() {
19
19
  const [firstName, setFirstName] = useState("");
20
20
  const [lastName, setLastName] = useState("");
21
21
  const [phone, setPhone] = useState("");
22
- const [acceptsMarketing, setAcceptsMarketing] = useState(false);
23
22
 
24
23
  // Fetch customer data
25
24
  const { data: customerData } = useQuery({
@@ -38,7 +37,6 @@ export default function SettingsPage() {
38
37
  setFirstName(customerData.customer.firstName || "");
39
38
  setLastName(customerData.customer.lastName || "");
40
39
  setPhone(customerData.customer.phone || "");
41
- setAcceptsMarketing(customerData.customer.acceptsMarketing || false);
42
40
  }
43
41
  });
44
42
 
@@ -66,7 +64,6 @@ export default function SettingsPage() {
66
64
  lastName,
67
65
  email,
68
66
  phone,
69
- acceptsMarketing,
70
67
  });
71
68
  };
72
69
 
@@ -166,28 +163,7 @@ export default function SettingsPage() {
166
163
  </CardContent>
167
164
  </Card>
168
165
 
169
- {/* Preferences */}
170
- <Card>
171
- <CardHeader>
172
- <CardTitle>Preferences</CardTitle>
173
- </CardHeader>
174
- <CardContent className="space-y-4">
175
- <div className="flex items-center justify-between">
176
- <div>
177
- <p className="font-medium">Marketing Emails</p>
178
- <p className="text-sm text-muted-foreground">
179
- Receive emails about new products and special offers
180
- </p>
181
- </div>
182
- <input
183
- type="checkbox"
184
- checked={acceptsMarketing}
185
- onChange={(e) => setAcceptsMarketing(e.target.checked)}
186
- className="h-4 w-4 rounded border-border text-primary focus:ring-2 focus:ring-ring"
187
- />
188
- </div>
189
- </CardContent>
190
- </Card>
166
+ {/* Email preferences are managed via the self-service preferences portal */}
191
167
  </div>
192
168
  </div>
193
169
  </div>
@@ -34,7 +34,6 @@ const registerSchema = z.object({
34
34
  /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/,
35
35
  "Password must contain at least one uppercase letter, one lowercase letter, and one number"
36
36
  ),
37
- acceptsMarketing: z.boolean().optional(),
38
37
  });
39
38
 
40
39
  type RegisterFormData = z.infer<typeof registerSchema>;
@@ -56,7 +55,6 @@ export function RegisterForm({ onSuccess, redirectTo = "/account" }: RegisterFor
56
55
  const [password, setPassword] = useState("");
57
56
  const [firstName, setFirstName] = useState("");
58
57
  const [lastName, setLastName] = useState("");
59
- const [acceptsMarketing, setAcceptsMarketing] = useState(false);
60
58
  const [error, setError] = useState("");
61
59
  const [fieldErrors, setFieldErrors] = useState<Partial<Record<keyof RegisterFormData, string>>>({});
62
60
 
@@ -68,7 +66,6 @@ export function RegisterForm({ onSuccess, redirectTo = "/account" }: RegisterFor
68
66
  password: string;
69
67
  firstName: string;
70
68
  lastName: string;
71
- acceptsMarketing: boolean;
72
69
  }) => {
73
70
  return client.request(CustomerCreateDocument, { input });
74
71
  },
@@ -85,7 +82,6 @@ export function RegisterForm({ onSuccess, redirectTo = "/account" }: RegisterFor
85
82
  lastName,
86
83
  email,
87
84
  password,
88
- acceptsMarketing,
89
85
  });
90
86
 
91
87
  if (!result.success) {
@@ -106,7 +102,6 @@ export function RegisterForm({ onSuccess, redirectTo = "/account" }: RegisterFor
106
102
  password,
107
103
  firstName,
108
104
  lastName,
109
- acceptsMarketing,
110
105
  });
111
106
 
112
107
  // Check for user errors first
@@ -267,22 +262,6 @@ export function RegisterForm({ onSuccess, redirectTo = "/account" }: RegisterFor
267
262
  )}
268
263
  </div>
269
264
 
270
- <div className="flex items-start gap-2">
271
- <input
272
- id="acceptsMarketing"
273
- type="checkbox"
274
- checked={acceptsMarketing}
275
- onChange={(e) => setAcceptsMarketing(e.target.checked)}
276
- className="mt-1 h-4 w-4 rounded border-border text-primary focus:ring-2 focus:ring-ring focus:ring-offset-2"
277
- />
278
- <label
279
- htmlFor="acceptsMarketing"
280
- className="text-sm text-muted-foreground"
281
- >
282
- I want to receive emails about products, promotions, and special offers
283
- </label>
284
- </div>
285
-
286
265
  <Button
287
266
  type="submit"
288
267
  className="w-full"
package/dist/lib/api.d.ts DELETED
@@ -1,67 +0,0 @@
1
- import { AxiosInstance } from "axios";
2
- export declare function createApiClient(token: string): AxiosInstance;
3
- export interface CLIConfig {
4
- project: {
5
- id: string;
6
- name: string;
7
- subdomain: string;
8
- team: {
9
- id: string;
10
- name: string;
11
- };
12
- };
13
- commerce: {
14
- enabled: boolean;
15
- storeName: string;
16
- currency: string;
17
- locale: string;
18
- };
19
- features: {
20
- cart: boolean;
21
- checkout: boolean;
22
- customerAuth: boolean;
23
- guestCheckout: boolean;
24
- wishlist: boolean;
25
- productReviews: boolean;
26
- returns: boolean;
27
- multiCurrency: boolean;
28
- };
29
- shipping: {
30
- providers: string[];
31
- default: string;
32
- freeThreshold?: number;
33
- };
34
- payments: {
35
- providers: string[];
36
- default: string;
37
- };
38
- storefront: {
39
- primaryColor?: string;
40
- logo?: string;
41
- customCss?: string;
42
- metaTitle?: string;
43
- metaDescription?: string;
44
- };
45
- business: {
46
- taxEnabled: boolean;
47
- taxRate: number;
48
- taxId?: string;
49
- };
50
- returnPolicy: {
51
- enabled: boolean;
52
- daysToReturn: number;
53
- instructions: string;
54
- };
55
- apiKey: {
56
- public: string;
57
- };
58
- api?: {
59
- url?: string;
60
- };
61
- dev?: {
62
- port?: number;
63
- openBrowser?: boolean;
64
- };
65
- }
66
- export declare function fetchCLIConfig(token: string, projectId: string): Promise<CLIConfig>;
67
- //# sourceMappingURL=api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM7C,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAc5D;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE;YACJ,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;IAEF,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,QAAQ,EAAE;QACR,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,cAAc,EAAE,OAAO,CAAC;QACxB,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IAEF,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,UAAU,EAAE;QACV,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF,QAAQ,EAAE;QACR,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,YAAY,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,GAAG,CAAC,EAAE;QACJ,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IAEF,GAAG,CAAC,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,SAAS,CAAC,CAoBpB"}
package/dist/lib/api.js DELETED
@@ -1,36 +0,0 @@
1
- import axios from "axios";
2
- const API_URL = process.env.DOSWIFTLY_API_URL || "https://api.doswiftly.pl";
3
- let apiClient = null;
4
- export function createApiClient(token) {
5
- if (!apiClient) {
6
- apiClient = axios.create({
7
- baseURL: API_URL,
8
- headers: {
9
- "Content-Type": "application/json",
10
- },
11
- });
12
- }
13
- // Set authorization header
14
- apiClient.defaults.headers.common["Authorization"] = `Bearer ${token}`;
15
- return apiClient;
16
- }
17
- export async function fetchCLIConfig(token, projectId) {
18
- const client = createApiClient(token);
19
- try {
20
- const response = await client.get(`/v1/projects/${projectId}/cli-config`);
21
- return response.data;
22
- }
23
- catch (error) {
24
- if (axios.isAxiosError(error)) {
25
- if (error.response?.status === 401) {
26
- throw new Error("Authentication failed. Please login again.");
27
- }
28
- if (error.response?.status === 404) {
29
- throw new Error(`Project ${projectId} not found.`);
30
- }
31
- throw new Error(`API error: ${error.response?.data?.message || error.message}`);
32
- }
33
- throw error;
34
- }
35
- }
36
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,0BAA0B,CAAC;AAE5E,IAAI,SAAS,GAAyB,IAAI,CAAC;AAE3C,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;YACvB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;IAEvE,OAAO,SAAS,CAAC;AACnB,CAAC;AA4ED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAa,EACb,SAAiB;IAEjB,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,SAAS,aAAa,CAAC,CAAC;QAC1E,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,aAAa,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,IAAI,KAAK,CACb,cAAc,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAC/D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,45 +0,0 @@
1
- name: Deploy Storefront
2
-
3
- on:
4
- push:
5
- branches: [main]
6
-
7
- jobs:
8
- deploy:
9
- runs-on: ubuntu-latest
10
- env:
11
- NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }}
12
- NEXT_PUBLIC_SHOP_SLUG: ${{ secrets.NEXT_PUBLIC_SHOP_SLUG }}
13
- steps:
14
- - uses: actions/checkout@v4
15
-
16
- - name: Detect package manager
17
- id: pm
18
- run: |
19
- if [ -f pnpm-lock.yaml ]; then
20
- echo "manager=pnpm" >> $GITHUB_OUTPUT
21
- echo "install=pnpm install --frozen-lockfile" >> $GITHUB_OUTPUT
22
- elif [ -f yarn.lock ]; then
23
- echo "manager=yarn" >> $GITHUB_OUTPUT
24
- echo "install=yarn install --frozen-lockfile" >> $GITHUB_OUTPUT
25
- else
26
- echo "manager=npm" >> $GITHUB_OUTPUT
27
- echo "install=npm ci" >> $GITHUB_OUTPUT
28
- fi
29
-
30
- - name: Setup pnpm
31
- if: steps.pm.outputs.manager == 'pnpm'
32
- uses: pnpm/action-setup@v4
33
-
34
- - uses: actions/setup-node@v4
35
- with:
36
- node-version: 20
37
- cache: ${{ steps.pm.outputs.manager }}
38
-
39
- - name: Install dependencies
40
- run: ${{ steps.pm.outputs.install }}
41
-
42
- - name: Deploy to DoSwiftly
43
- run: npx --yes @doswiftly/cli deploy run --type PRODUCTION
44
- env:
45
- DOSWIFTLY_DEPLOY_TOKEN: ${{ secrets.DOSWIFTLY_DEPLOY_TOKEN }}
@@ -1,45 +0,0 @@
1
- name: Preview Deployment
2
-
3
- on:
4
- pull_request:
5
- types: [opened, synchronize]
6
-
7
- jobs:
8
- preview:
9
- runs-on: ubuntu-latest
10
- env:
11
- NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }}
12
- NEXT_PUBLIC_SHOP_SLUG: ${{ secrets.NEXT_PUBLIC_SHOP_SLUG }}
13
- steps:
14
- - uses: actions/checkout@v4
15
-
16
- - name: Detect package manager
17
- id: pm
18
- run: |
19
- if [ -f pnpm-lock.yaml ]; then
20
- echo "manager=pnpm" >> $GITHUB_OUTPUT
21
- echo "install=pnpm install --frozen-lockfile" >> $GITHUB_OUTPUT
22
- elif [ -f yarn.lock ]; then
23
- echo "manager=yarn" >> $GITHUB_OUTPUT
24
- echo "install=yarn install --frozen-lockfile" >> $GITHUB_OUTPUT
25
- else
26
- echo "manager=npm" >> $GITHUB_OUTPUT
27
- echo "install=npm ci" >> $GITHUB_OUTPUT
28
- fi
29
-
30
- - name: Setup pnpm
31
- if: steps.pm.outputs.manager == 'pnpm'
32
- uses: pnpm/action-setup@v4
33
-
34
- - uses: actions/setup-node@v4
35
- with:
36
- node-version: 20
37
- cache: ${{ steps.pm.outputs.manager }}
38
-
39
- - name: Install dependencies
40
- run: ${{ steps.pm.outputs.install }}
41
-
42
- - name: Deploy preview
43
- run: npx --yes @doswiftly/cli deploy run --type PREVIEW --branch ${{ github.head_ref }}
44
- env:
45
- DOSWIFTLY_DEPLOY_TOKEN: ${{ secrets.DOSWIFTLY_DEPLOY_TOKEN }}
@@ -1,45 +0,0 @@
1
- name: Deploy Storefront
2
-
3
- on:
4
- push:
5
- branches: [main]
6
-
7
- jobs:
8
- deploy:
9
- runs-on: ubuntu-latest
10
- env:
11
- NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }}
12
- NEXT_PUBLIC_SHOP_SLUG: ${{ secrets.NEXT_PUBLIC_SHOP_SLUG }}
13
- steps:
14
- - uses: actions/checkout@v4
15
-
16
- - name: Detect package manager
17
- id: pm
18
- run: |
19
- if [ -f pnpm-lock.yaml ]; then
20
- echo "manager=pnpm" >> $GITHUB_OUTPUT
21
- echo "install=pnpm install --frozen-lockfile" >> $GITHUB_OUTPUT
22
- elif [ -f yarn.lock ]; then
23
- echo "manager=yarn" >> $GITHUB_OUTPUT
24
- echo "install=yarn install --frozen-lockfile" >> $GITHUB_OUTPUT
25
- else
26
- echo "manager=npm" >> $GITHUB_OUTPUT
27
- echo "install=npm ci" >> $GITHUB_OUTPUT
28
- fi
29
-
30
- - name: Setup pnpm
31
- if: steps.pm.outputs.manager == 'pnpm'
32
- uses: pnpm/action-setup@v4
33
-
34
- - uses: actions/setup-node@v4
35
- with:
36
- node-version: 20
37
- cache: ${{ steps.pm.outputs.manager }}
38
-
39
- - name: Install dependencies
40
- run: ${{ steps.pm.outputs.install }}
41
-
42
- - name: Deploy to DoSwiftly
43
- run: npx --yes @doswiftly/cli deploy run --type PRODUCTION
44
- env:
45
- DOSWIFTLY_DEPLOY_TOKEN: ${{ secrets.DOSWIFTLY_DEPLOY_TOKEN }}
@@ -1,45 +0,0 @@
1
- name: Preview Deployment
2
-
3
- on:
4
- pull_request:
5
- types: [opened, synchronize]
6
-
7
- jobs:
8
- preview:
9
- runs-on: ubuntu-latest
10
- env:
11
- NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }}
12
- NEXT_PUBLIC_SHOP_SLUG: ${{ secrets.NEXT_PUBLIC_SHOP_SLUG }}
13
- steps:
14
- - uses: actions/checkout@v4
15
-
16
- - name: Detect package manager
17
- id: pm
18
- run: |
19
- if [ -f pnpm-lock.yaml ]; then
20
- echo "manager=pnpm" >> $GITHUB_OUTPUT
21
- echo "install=pnpm install --frozen-lockfile" >> $GITHUB_OUTPUT
22
- elif [ -f yarn.lock ]; then
23
- echo "manager=yarn" >> $GITHUB_OUTPUT
24
- echo "install=yarn install --frozen-lockfile" >> $GITHUB_OUTPUT
25
- else
26
- echo "manager=npm" >> $GITHUB_OUTPUT
27
- echo "install=npm ci" >> $GITHUB_OUTPUT
28
- fi
29
-
30
- - name: Setup pnpm
31
- if: steps.pm.outputs.manager == 'pnpm'
32
- uses: pnpm/action-setup@v4
33
-
34
- - uses: actions/setup-node@v4
35
- with:
36
- node-version: 20
37
- cache: ${{ steps.pm.outputs.manager }}
38
-
39
- - name: Install dependencies
40
- run: ${{ steps.pm.outputs.install }}
41
-
42
- - name: Deploy preview
43
- run: npx --yes @doswiftly/cli deploy run --type PREVIEW --branch ${{ github.head_ref }}
44
- env:
45
- DOSWIFTLY_DEPLOY_TOKEN: ${{ secrets.DOSWIFTLY_DEPLOY_TOKEN }}