piral-cli 1.11.0-beta.efd8b71 → 1.11.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-cli",
3
- "version": "1.11.0-beta.efd8b71",
3
+ "version": "1.11.0",
4
4
  "description": "The standard CLI for creating and building a Piral instance or a Pilet.",
5
5
  "keywords": [
6
6
  "portal",
@@ -78,5 +78,5 @@
78
78
  "open": "^10",
79
79
  "typescript": "^5"
80
80
  },
81
- "gitHead": "efd8b7195334dd209c5bb4373873f04d823d8eea"
81
+ "gitHead": "7bb5f7938f1a3211aa3e81ac5b7101b7605140d6"
82
82
  }
@@ -154,173 +154,145 @@ describe('Build Piral Command', () => {
154
154
  expect(error).toBeTruthy();
155
155
  });
156
156
 
157
- it(
158
- 'can create an emulator build without files in default subdir',
159
- async () => {
160
- const dir = scaffoldNewPiralInstance();
161
- let error = false;
162
-
163
- try {
164
- await buildPiral(dir, {
165
- type: 'emulator',
166
- });
167
- } catch (err) {
168
- console.log(err);
169
- error = true;
170
- }
171
-
172
- expect(error).toBeFalsy();
173
- expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeTruthy();
174
- expect(existsSync(resolve(dir, 'dist/piral-local-test-1.0.0.tgz'))).toBeFalsy();
175
- expect(existsSync(resolve(dir, 'dist/release'))).toBeFalsy();
176
- expect(existsSync(resolve(dir, 'dist/index.html'))).toBeFalsy();
177
- },
178
- testOptions,
179
- );
180
-
181
- it(
182
- 'can create an emulator build without files in explicit subdir',
183
- async () => {
184
- const dir = scaffoldNewPiralInstance();
185
- let error = false;
186
-
187
- try {
188
- await buildPiral(dir, {
189
- type: 'emulator',
190
- subdir: true,
191
- });
192
- } catch {
193
- error = true;
194
- }
195
-
196
- expect(error).toBeFalsy();
197
- expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeTruthy();
198
- expect(existsSync(resolve(dir, 'dist/piral-local-test-1.0.0.tgz'))).toBeFalsy();
199
- expect(existsSync(resolve(dir, 'dist/release'))).toBeFalsy();
200
- expect(existsSync(resolve(dir, 'dist/index.html'))).toBeFalsy();
201
- },
202
- testOptions,
203
- );
204
-
205
- it(
206
- 'can create an emulator build without files in no subdir',
207
- async () => {
208
- const dir = scaffoldNewPiralInstance();
209
- let error = false;
210
-
211
- try {
212
- await buildPiral(dir, {
213
- type: 'emulator',
214
- subdir: false,
215
- });
216
- } catch {
217
- error = true;
218
- }
219
-
220
- expect(error).toBeFalsy();
221
- expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeFalsy();
222
- expect(existsSync(resolve(dir, 'dist/piral-local-test-1.0.0.tgz'))).toBeTruthy();
223
- expect(existsSync(resolve(dir, 'dist/release'))).toBeFalsy();
224
- expect(existsSync(resolve(dir, 'dist/index.html'))).toBeFalsy();
225
- },
226
- testOptions,
227
- );
228
-
229
- it(
230
- 'can create a release build in implicit subdir',
231
- async () => {
232
- const dir = scaffoldNewPiralInstance();
233
- let error = false;
234
-
235
- try {
236
- await buildPiral(dir, {
237
- type: 'release',
238
- });
239
- } catch {
240
- error = true;
241
- }
242
-
243
- expect(error).toBeFalsy();
244
- expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeFalsy();
245
- expect(existsSync(resolve(dir, 'dist/piral-local-test-1.0.0.tgz'))).toBeFalsy();
246
- expect(existsSync(resolve(dir, 'dist/release/index.html'))).toBeTruthy();
247
- expect(existsSync(resolve(dir, 'dist/index.html'))).toBeFalsy();
248
- },
249
- testOptions,
250
- );
251
-
252
- it(
253
- 'can create a release build in explicit subdir',
254
- async () => {
255
- const dir = scaffoldNewPiralInstance();
256
- let error = false;
257
-
258
- try {
259
- await buildPiral(dir, {
260
- type: 'release',
261
- subdir: true,
262
- });
263
- } catch {
264
- error = true;
265
- }
266
-
267
- expect(error).toBeFalsy();
268
- expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeFalsy();
269
- expect(existsSync(resolve(dir, 'dist/piral-local-test-1.0.0.tgz'))).toBeFalsy();
270
- expect(existsSync(resolve(dir, 'dist/release/index.html'))).toBeTruthy();
271
- expect(existsSync(resolve(dir, 'dist/index.html'))).toBeFalsy();
272
- },
273
- testOptions,
274
- );
275
-
276
- it(
277
- 'can create a release build in no subdir',
278
- async () => {
279
- const dir = scaffoldNewPiralInstance();
280
- let error = false;
281
-
282
- try {
283
- await buildPiral(dir, {
284
- type: 'release',
285
- subdir: false,
286
- });
287
- } catch {
288
- error = true;
289
- }
290
-
291
- expect(error).toBeFalsy();
292
- expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeFalsy();
293
- expect(existsSync(resolve(dir, 'dist/piral-local-test-1.0.0.tgz'))).toBeFalsy();
294
- expect(existsSync(resolve(dir, 'dist/release/index.html'))).toBeFalsy();
295
- expect(existsSync(resolve(dir, 'dist/index.html'))).toBeTruthy();
296
- },
297
- testOptions,
298
- );
299
-
300
- it(
301
- 'can create all builds with files',
302
- async () => {
303
- const dir = scaffoldNewPiralInstance([
304
- 'foo.txt',
305
- {
306
- from: 'src/bar.txt',
307
- to: 'bar.txt',
308
- },
309
- ]);
310
- writeFileSync(resolve(dir, 'foo.txt'), 'foo!', 'utf8');
311
- writeFileSync(resolve(dir, 'src/bar.txt'), 'bar!', 'utf8');
312
- let error = false;
313
-
314
- try {
315
- await buildPiral(dir);
316
- } catch {
317
- error = true;
318
- }
319
-
320
- expect(error).toBeFalsy();
321
- expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeTruthy();
322
- expect(existsSync(resolve(dir, 'dist/release'))).toBeTruthy();
323
- },
324
- testOptions,
325
- );
157
+ it('can create an emulator build without files in default subdir', testOptions, async () => {
158
+ const dir = scaffoldNewPiralInstance();
159
+ let error = false;
160
+
161
+ try {
162
+ await buildPiral(dir, {
163
+ type: 'emulator',
164
+ });
165
+ } catch (err) {
166
+ console.log(err);
167
+ error = true;
168
+ }
169
+
170
+ expect(error).toBeFalsy();
171
+ expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeTruthy();
172
+ expect(existsSync(resolve(dir, 'dist/piral-local-test-1.0.0.tgz'))).toBeFalsy();
173
+ expect(existsSync(resolve(dir, 'dist/release'))).toBeFalsy();
174
+ expect(existsSync(resolve(dir, 'dist/index.html'))).toBeFalsy();
175
+ });
176
+
177
+ it('can create an emulator build without files in explicit subdir', testOptions, async () => {
178
+ const dir = scaffoldNewPiralInstance();
179
+ let error = false;
180
+
181
+ try {
182
+ await buildPiral(dir, {
183
+ type: 'emulator',
184
+ subdir: true,
185
+ });
186
+ } catch {
187
+ error = true;
188
+ }
189
+
190
+ expect(error).toBeFalsy();
191
+ expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeTruthy();
192
+ expect(existsSync(resolve(dir, 'dist/piral-local-test-1.0.0.tgz'))).toBeFalsy();
193
+ expect(existsSync(resolve(dir, 'dist/release'))).toBeFalsy();
194
+ expect(existsSync(resolve(dir, 'dist/index.html'))).toBeFalsy();
195
+ });
196
+
197
+ it('can create an emulator build without files in no subdir', testOptions, async () => {
198
+ const dir = scaffoldNewPiralInstance();
199
+ let error = false;
200
+
201
+ try {
202
+ await buildPiral(dir, {
203
+ type: 'emulator',
204
+ subdir: false,
205
+ });
206
+ } catch {
207
+ error = true;
208
+ }
209
+
210
+ expect(error).toBeFalsy();
211
+ expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeFalsy();
212
+ expect(existsSync(resolve(dir, 'dist/piral-local-test-1.0.0.tgz'))).toBeTruthy();
213
+ expect(existsSync(resolve(dir, 'dist/release'))).toBeFalsy();
214
+ expect(existsSync(resolve(dir, 'dist/index.html'))).toBeFalsy();
215
+ });
216
+
217
+ it('can create a release build in implicit subdir', testOptions, async () => {
218
+ const dir = scaffoldNewPiralInstance();
219
+ let error = false;
220
+
221
+ try {
222
+ await buildPiral(dir, {
223
+ type: 'release',
224
+ });
225
+ } catch {
226
+ error = true;
227
+ }
228
+
229
+ expect(error).toBeFalsy();
230
+ expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeFalsy();
231
+ expect(existsSync(resolve(dir, 'dist/piral-local-test-1.0.0.tgz'))).toBeFalsy();
232
+ expect(existsSync(resolve(dir, 'dist/release/index.html'))).toBeTruthy();
233
+ expect(existsSync(resolve(dir, 'dist/index.html'))).toBeFalsy();
234
+ });
235
+
236
+ it('can create a release build in explicit subdir', testOptions, async () => {
237
+ const dir = scaffoldNewPiralInstance();
238
+ let error = false;
239
+
240
+ try {
241
+ await buildPiral(dir, {
242
+ type: 'release',
243
+ subdir: true,
244
+ });
245
+ } catch {
246
+ error = true;
247
+ }
248
+
249
+ expect(error).toBeFalsy();
250
+ expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeFalsy();
251
+ expect(existsSync(resolve(dir, 'dist/piral-local-test-1.0.0.tgz'))).toBeFalsy();
252
+ expect(existsSync(resolve(dir, 'dist/release/index.html'))).toBeTruthy();
253
+ expect(existsSync(resolve(dir, 'dist/index.html'))).toBeFalsy();
254
+ });
255
+
256
+ it('can create a release build in no subdir', testOptions, async () => {
257
+ const dir = scaffoldNewPiralInstance();
258
+ let error = false;
259
+
260
+ try {
261
+ await buildPiral(dir, {
262
+ type: 'release',
263
+ subdir: false,
264
+ });
265
+ } catch {
266
+ error = true;
267
+ }
268
+
269
+ expect(error).toBeFalsy();
270
+ expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeFalsy();
271
+ expect(existsSync(resolve(dir, 'dist/piral-local-test-1.0.0.tgz'))).toBeFalsy();
272
+ expect(existsSync(resolve(dir, 'dist/release/index.html'))).toBeFalsy();
273
+ expect(existsSync(resolve(dir, 'dist/index.html'))).toBeTruthy();
274
+ });
275
+
276
+ it('can create all builds with files', testOptions, async () => {
277
+ const dir = scaffoldNewPiralInstance([
278
+ 'foo.txt',
279
+ {
280
+ from: 'src/bar.txt',
281
+ to: 'bar.txt',
282
+ },
283
+ ]);
284
+ writeFileSync(resolve(dir, 'foo.txt'), 'foo!', 'utf8');
285
+ writeFileSync(resolve(dir, 'src/bar.txt'), 'bar!', 'utf8');
286
+ let error = false;
287
+
288
+ try {
289
+ await buildPiral(dir);
290
+ } catch {
291
+ error = true;
292
+ }
293
+
294
+ expect(error).toBeFalsy();
295
+ expect(existsSync(resolve(dir, 'dist/emulator/piral-local-test-1.0.0.tgz'))).toBeTruthy();
296
+ expect(existsSync(resolve(dir, 'dist/release'))).toBeTruthy();
297
+ });
326
298
  });
@@ -47,101 +47,81 @@ const testOptions = {
47
47
  };
48
48
 
49
49
  describe('New Pilet Command', () => {
50
- it(
51
- 'scaffolding in an empty directory works',
52
- async () => {
53
- const dir = createTempDir();
54
- await newPilet(dir, {
55
- install: false,
56
- source: 'piral@latest',
57
- registry: 'https://someFakeRegistry.com',
58
- });
59
- expect(existsSync(resolve(dir, 'node_modules/piral/package.json'))).toBeTruthy();
60
- expect(existsSync(resolve(dir, 'package.json'))).toBeTruthy();
61
- expect(existsSync(resolve(dir, 'tsconfig.json'))).toBeTruthy();
62
- expect(existsSync(resolve(dir, 'src/index.tsx'))).toBeTruthy();
63
- expect(existsSync(resolve(dir, '.npmrc'))).toBeTruthy();
64
- },
65
- testOptions,
66
- );
67
-
68
- it(
69
- 'command will fail when providing invalid registry',
70
- async () => {
71
- // Arrange
72
- const dir = createTempDir();
73
- const options = {
74
- install: true,
75
- source: 'piral@latest',
76
- registry: 'https://someFakeRegistry.com',
77
- };
78
-
79
- let error = false;
80
-
81
- try {
82
- await newPilet(dir, options);
83
- } catch {
84
- error = true;
85
- }
86
-
87
- expect(error).toBeTruthy();
88
- },
89
- testOptions,
90
- );
91
-
92
- it(
93
- 'should scaffold without creating npmrc file',
94
- async () => {
95
- const dir = createTempDir();
96
- await newPilet(dir, {
97
- install: false,
98
- source: 'piral@latest',
99
- });
100
- expect(existsSync(resolve(dir, 'node_modules/piral/package.json'))).toBeTruthy();
101
- expect(existsSync(resolve(dir, 'package.json'))).toBeTruthy();
102
- expect(existsSync(resolve(dir, 'tsconfig.json'))).toBeTruthy();
103
- expect(existsSync(resolve(dir, 'src/index.tsx'))).toBeTruthy();
104
- expect(existsSync(resolve(dir, '.npmrc'))).toBeFalsy();
105
- },
106
- testOptions,
107
- );
108
-
109
- it(
110
- 'scaffolding with language JS works',
111
- async () => {
112
- const dir = createTempDir();
113
- await newPilet(dir, {
114
- language: 'js',
115
- install: false,
116
- source: 'piral@latest',
117
- });
118
- expect(existsSync(resolve(dir, 'node_modules/piral/package.json'))).toBeTruthy();
119
- expect(existsSync(resolve(dir, 'package.json'))).toBeTruthy();
120
- expect(existsSync(resolve(dir, 'tsconfig.json'))).toBeFalsy();
121
- expect(existsSync(resolve(dir, 'src/index.jsx'))).toBeTruthy();
122
- expect(existsSync(resolve(dir, '.npmrc'))).toBeFalsy();
123
- },
124
- testOptions,
125
- );
126
-
127
- it(
128
- 'should set pilet name if passed as argument',
129
- async () => {
130
- const dir = createTempDir();
131
- await newPilet(dir, {
132
- install: false,
133
- source: 'piral@latest',
134
- name: 'testpiralname',
135
- });
136
- expect(existsSync(resolve(dir, 'node_modules/piral/package.json'))).toBeTruthy();
137
- expect(existsSync(resolve(dir, 'package.json'))).toBeTruthy();
138
- expect(existsSync(resolve(dir, 'tsconfig.json'))).toBeTruthy();
139
- expect(existsSync(resolve(dir, 'src/index.tsx'))).toBeTruthy();
140
- expect(existsSync(resolve(dir, '.npmrc'))).toBeFalsy();
141
-
142
- const packageContent = await JSON.parse(readFileSync(`${dir}/package.json`, 'utf8'));
143
- expect(packageContent.name).toBe('testpiralname');
144
- },
145
- testOptions,
146
- );
50
+ it('scaffolding in an empty directory works', testOptions, async () => {
51
+ const dir = createTempDir();
52
+ await newPilet(dir, {
53
+ install: false,
54
+ source: 'piral@latest',
55
+ registry: 'https://someFakeRegistry.com',
56
+ });
57
+ expect(existsSync(resolve(dir, 'node_modules/piral/package.json'))).toBeTruthy();
58
+ expect(existsSync(resolve(dir, 'package.json'))).toBeTruthy();
59
+ expect(existsSync(resolve(dir, 'tsconfig.json'))).toBeTruthy();
60
+ expect(existsSync(resolve(dir, 'src/index.tsx'))).toBeTruthy();
61
+ expect(existsSync(resolve(dir, '.npmrc'))).toBeTruthy();
62
+ });
63
+
64
+ it('command will fail when providing invalid registry', testOptions, async () => {
65
+ // Arrange
66
+ const dir = createTempDir();
67
+ const options = {
68
+ install: true,
69
+ source: 'piral@latest',
70
+ registry: 'https://someFakeRegistry.com',
71
+ };
72
+
73
+ let error = false;
74
+
75
+ try {
76
+ await newPilet(dir, options);
77
+ } catch {
78
+ error = true;
79
+ }
80
+
81
+ expect(error).toBeTruthy();
82
+ });
83
+
84
+ it('should scaffold without creating npmrc file', testOptions, async () => {
85
+ const dir = createTempDir();
86
+ await newPilet(dir, {
87
+ install: false,
88
+ source: 'piral@latest',
89
+ });
90
+ expect(existsSync(resolve(dir, 'node_modules/piral/package.json'))).toBeTruthy();
91
+ expect(existsSync(resolve(dir, 'package.json'))).toBeTruthy();
92
+ expect(existsSync(resolve(dir, 'tsconfig.json'))).toBeTruthy();
93
+ expect(existsSync(resolve(dir, 'src/index.tsx'))).toBeTruthy();
94
+ expect(existsSync(resolve(dir, '.npmrc'))).toBeFalsy();
95
+ });
96
+
97
+ it('scaffolding with language JS works', testOptions, async () => {
98
+ const dir = createTempDir();
99
+ await newPilet(dir, {
100
+ language: 'js',
101
+ install: false,
102
+ source: 'piral@latest',
103
+ });
104
+ expect(existsSync(resolve(dir, 'node_modules/piral/package.json'))).toBeTruthy();
105
+ expect(existsSync(resolve(dir, 'package.json'))).toBeTruthy();
106
+ expect(existsSync(resolve(dir, 'tsconfig.json'))).toBeFalsy();
107
+ expect(existsSync(resolve(dir, 'src/index.jsx'))).toBeTruthy();
108
+ expect(existsSync(resolve(dir, '.npmrc'))).toBeFalsy();
109
+ });
110
+
111
+ it('should set pilet name if passed as argument', testOptions, async () => {
112
+ const dir = createTempDir();
113
+ await newPilet(dir, {
114
+ install: false,
115
+ source: 'piral@latest',
116
+ name: 'testpiralname',
117
+ });
118
+ expect(existsSync(resolve(dir, 'node_modules/piral/package.json'))).toBeTruthy();
119
+ expect(existsSync(resolve(dir, 'package.json'))).toBeTruthy();
120
+ expect(existsSync(resolve(dir, 'tsconfig.json'))).toBeTruthy();
121
+ expect(existsSync(resolve(dir, 'src/index.tsx'))).toBeTruthy();
122
+ expect(existsSync(resolve(dir, '.npmrc'))).toBeFalsy();
123
+
124
+ const packageContent = await JSON.parse(readFileSync(`${dir}/package.json`, 'utf8'));
125
+ expect(packageContent.name).toBe('testpiralname');
126
+ });
147
127
  });