xs-dev 1.4.0 → 1.5.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xs-dev",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "CLI for automating the setup and usage of Moddable XS tools",
5
5
  "type": "module",
6
6
  "types": "build/types/types.d.ts",
@@ -1,51 +1,19 @@
1
- import { type as platformType } from 'node:os';
2
- import { rmSync, cpSync, existsSync, statSync } from 'node:fs';
3
- import { readFile, writeFile } from 'node:fs/promises';
4
- import { join } from 'node:path';
5
1
  import { buildCommand } from '@stricli/core';
6
2
  import ora from 'ora';
7
- import { INSTALL_DIR, EXPORTS_FILE_PATH, getProfilePath, } from '../toolbox/setup/constants.js';
3
+ import { teardown } from '../toolbox/teardown/index.js';
8
4
  const command = buildCommand({
9
5
  docs: {
10
6
  brief: 'Remove all installed git repos and toolchains, unset environment changes',
11
7
  },
12
8
  async func() {
13
- const PROFILE_PATH = getProfilePath();
14
9
  const spinner = ora();
15
10
  spinner.start('Tearing down Moddable tools and platform dependencies');
16
- const remove = (path) => {
17
- rmSync(path, { recursive: true, force: true });
18
- };
19
- remove(EXPORTS_FILE_PATH);
20
- remove(join(INSTALL_DIR, 'moddable'));
21
- remove(join(INSTALL_DIR, 'wasm'));
22
- remove(join(INSTALL_DIR, 'esp32'));
23
- remove(join(INSTALL_DIR, 'esp'));
24
- remove(join(INSTALL_DIR, 'pico'));
25
- remove(join(INSTALL_DIR, 'fontbm'));
26
- remove(join(INSTALL_DIR, 'nrf52'));
27
- remove(join(INSTALL_DIR, 'zephyrproject'));
28
- if (platformType() === 'Darwin') {
29
- const NC_PREFS_BACKUP = join(INSTALL_DIR, 'ejectfix', 'com.apple.ncprefs.plist');
30
- if (existsSync(NC_PREFS_BACKUP) && statSync(NC_PREFS_BACKUP).isFile()) {
31
- cpSync(NC_PREFS_BACKUP, join(process.env.HOME ?? '~', 'Library', 'Preferences', 'com.apple.ncprefs.plist'));
32
- }
33
- remove(join(INSTALL_DIR, 'ejectfix'));
34
- remove('/Applications/xsbug.app');
35
- }
36
- if (existsSync(PROFILE_PATH)) {
37
- const contents = await readFile(PROFILE_PATH, 'utf8');
38
- const patched = contents
39
- .split('\n')
40
- .filter((line) => line.trim() !== `source ${EXPORTS_FILE_PATH}`)
41
- .join('\n');
42
- await writeFile(PROFILE_PATH, patched, 'utf8');
43
- }
44
- spinner.succeed(`Clean up complete!`);
11
+ await teardown();
12
+ spinner.succeed('Clean up complete!');
45
13
  },
46
14
  parameters: {
47
15
  flags: {},
48
16
  },
49
17
  });
50
18
  export default command;
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhcmRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdGVhcmRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksSUFBSSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDaEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM1QyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUE7QUFFckIsT0FBTyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsY0FBYyxHQUNmLE1BQU0sK0JBQStCLENBQUE7QUFFdEMsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDO0lBQzNCLElBQUksRUFBRTtRQUNKLEtBQUssRUFDSCwwRUFBMEU7S0FDN0U7SUFDRCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sWUFBWSxHQUFHLGNBQWMsRUFBRSxDQUFBO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFBO1FBQ3JCLE9BQU8sQ0FBQyxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQTtRQUV0RSxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQVksRUFBUSxFQUFFO1lBQ3BDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ2hELENBQUMsQ0FBQTtRQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7UUFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQTtRQUUxQyxJQUFJLFlBQVksRUFBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FDMUIsV0FBVyxFQUNYLFVBQVUsRUFDVix5QkFBeUIsQ0FDMUIsQ0FBQTtZQUNELElBQUksVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO2dCQUN0RSxNQUFNLENBQ0osZUFBZSxFQUNmLElBQUksQ0FDRixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQ3ZCLFNBQVMsRUFDVCxhQUFhLEVBQ2IseUJBQXlCLENBQzFCLENBQ0YsQ0FBQTtZQUNILENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFBO1lBQ3JDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO1FBQ25DLENBQUM7UUFFRCxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQzdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sUUFBUSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUNyRCxNQUFNLE9BQU8sR0FBRyxRQUFRO2lCQUNyQixLQUFLLENBQUMsSUFBSSxDQUFDO2lCQUNYLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLFVBQVUsaUJBQWlCLEVBQUUsQ0FBQztpQkFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2IsTUFBTSxTQUFTLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUNoRCxDQUFDO1FBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFDRCxVQUFVLEVBQUU7UUFDVixLQUFLLEVBQUUsRUFBRTtLQUNWO0NBQ0YsQ0FBQyxDQUFBO0FBRUYsZUFBZSxPQUFPLENBQUEifQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhcmRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdGVhcmRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM1QyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUE7QUFFckIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRXZELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztJQUMzQixJQUFJLEVBQUU7UUFDSixLQUFLLEVBQ0gsMEVBQTBFO0tBQzdFO0lBQ0QsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQTtRQUNyQixPQUFPLENBQUMsS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUE7UUFDdEUsTUFBTSxRQUFRLEVBQUUsQ0FBQTtRQUNoQixPQUFPLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDdkMsQ0FBQztJQUNELFVBQVUsRUFBRTtRQUNWLEtBQUssRUFBRSxFQUFFO0tBQ1Y7Q0FDRixDQUFDLENBQUE7QUFFRixlQUFlLE9BQU8sQ0FBQSJ9
@@ -0,0 +1,37 @@
1
+ import { type as platformType, homedir } from 'node:os';
2
+ import { rmSync, cpSync, existsSync, statSync } from 'node:fs';
3
+ import { readFile, writeFile } from 'node:fs/promises';
4
+ import { join } from 'node:path';
5
+ import { INSTALL_DIR, EXPORTS_FILE_PATH, getProfilePath, } from '../setup/constants.js';
6
+ export async function teardown() {
7
+ const PROFILE_PATH = getProfilePath();
8
+ const remove = (path) => {
9
+ rmSync(path, { recursive: true, force: true });
10
+ };
11
+ remove(EXPORTS_FILE_PATH);
12
+ remove(join(INSTALL_DIR, 'moddable'));
13
+ remove(join(INSTALL_DIR, 'wasm'));
14
+ remove(join(INSTALL_DIR, 'esp32'));
15
+ remove(join(INSTALL_DIR, 'esp'));
16
+ remove(join(INSTALL_DIR, 'pico'));
17
+ remove(join(INSTALL_DIR, 'fontbm'));
18
+ remove(join(INSTALL_DIR, 'nrf52'));
19
+ remove(join(INSTALL_DIR, 'zephyrproject'));
20
+ if (platformType() === 'Darwin') {
21
+ const NC_PREFS_BACKUP = join(INSTALL_DIR, 'ejectfix', 'com.apple.ncprefs.plist');
22
+ if (existsSync(NC_PREFS_BACKUP) && statSync(NC_PREFS_BACKUP).isFile()) {
23
+ cpSync(NC_PREFS_BACKUP, join(homedir(), 'Library', 'Preferences', 'com.apple.ncprefs.plist'));
24
+ }
25
+ remove(join(INSTALL_DIR, 'ejectfix'));
26
+ remove('/Applications/xsbug.app');
27
+ }
28
+ if (existsSync(PROFILE_PATH)) {
29
+ const contents = await readFile(PROFILE_PATH, 'utf8');
30
+ const patched = contents
31
+ .split('\n')
32
+ .filter((line) => line.trim() !== `source ${EXPORTS_FILE_PATH}`)
33
+ .join('\n');
34
+ await writeFile(PROFILE_PATH, patched, 'utf8');
35
+ }
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdG9vbGJveC90ZWFyZG93bi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDaEMsT0FBTyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsY0FBYyxHQUNmLE1BQU0sdUJBQXVCLENBQUE7QUFFOUIsTUFBTSxDQUFDLEtBQUssVUFBVSxRQUFRO0lBQzVCLE1BQU0sWUFBWSxHQUFHLGNBQWMsRUFBRSxDQUFBO0lBRXJDLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBWSxFQUFRLEVBQUU7UUFDcEMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7SUFDaEQsQ0FBQyxDQUFBO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtJQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQ2pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUNoQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQ2pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUNsQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFBO0lBRTFDLElBQUksWUFBWSxFQUFFLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUMxQixXQUFXLEVBQ1gsVUFBVSxFQUNWLHlCQUF5QixDQUMxQixDQUFBO1FBQ0QsSUFBSSxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDdEUsTUFBTSxDQUNKLGVBQWUsRUFDZixJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSx5QkFBeUIsQ0FBQyxDQUNyRSxDQUFBO1FBQ0gsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7UUFDckMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUE7SUFDbkMsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxRQUFRLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3JELE1BQU0sT0FBTyxHQUFHLFFBQVE7YUFDckIsS0FBSyxDQUFDLElBQUksQ0FBQzthQUNYLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLFVBQVUsaUJBQWlCLEVBQUUsQ0FBQzthQUMvRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDYixNQUFNLFNBQVMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ2hELENBQUM7QUFDSCxDQUFDIn0=
@@ -0,0 +1 @@
1
+ export declare function teardown(): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xs-dev",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "CLI for automating the setup and usage of Moddable XS tools",
5
5
  "type": "module",
6
6
  "types": "build/types/types.d.ts",