diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c310c863..0cf0af36 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -115,9 +115,9 @@ The content sources for the auto generation of `docs/balena-cli.md` are:
* [Selected
sections](https://github.com/balena-io/balena-cli/blob/v12.23.0/automation/capitanodoc/capitanodoc.ts#L199-L204)
of the README file.
-* The CLI's command documentation in source code (`lib/commands/` folder), for example:
- * `lib/commands/push.ts`
- * `lib/commands/env/add.ts`
+* The CLI's command documentation in source code (`src/commands/` folder), for example:
+ * `src/commands/push.ts`
+ * `src/commands/env/add.ts`
The README file is manually edited, but subsections are automatically extracted for inclusion in
`docs/balena-cli.md` by the `getCapitanoDoc()` function in
@@ -224,7 +224,7 @@ command, or by manually editing or copying files to the `node_modules` folder.
Unexpected behavior may then be observed because of the CLI's use of the
[fast-boot2](https://www.npmjs.com/package/fast-boot2) package that caches module resolution.
-`fast-boot2` is configured in `lib/fast-boot.ts` to automatically invalidate the cache if
+`fast-boot2` is configured in `src/fast-boot.ts` to automatically invalidate the cache if
changes are made to the `package.json` or `npm-shrinkwrap.json` files, but the cache won't
be automatically invalidated if `npm link` is used or if manual modifications are made to the
`node_modules` folder. In this situation:
diff --git a/INSTALL-ADVANCED.md b/INSTALL-ADVANCED.md
index 25672d4c..c828e37b 100644
--- a/INSTALL-ADVANCED.md
+++ b/INSTALL-ADVANCED.md
@@ -40,7 +40,7 @@ By default, the CLI is installed to the following folders:
OS | Folders
--- | ---
Windows: | `C:\Program Files\balena-cli\`
-macOS: | `/usr/local/lib/balena-cli/`
`/usr/local/bin/balena`
+macOS: | `/usr/local/src/balena-cli/`
`/usr/local/bin/balena`
## Standalone Zip Package
diff --git a/INSTALL-MAC.md b/INSTALL-MAC.md
index 7cfa543d..0b14f542 100644
--- a/INSTALL-MAC.md
+++ b/INSTALL-MAC.md
@@ -27,7 +27,7 @@ To update the balena CLI, repeat the steps above for the new version.
To uninstall it, run the following command on a terminal prompt:
```text
-sudo /usr/local/lib/balena-cli/bin/uninstall
+sudo /usr/local/src/balena-cli/bin/uninstall
```
## Additional Dependencies
diff --git a/automation/build-bin.ts b/automation/build-bin.ts
index 520f5f39..2ba3c479 100644
--- a/automation/build-bin.ts
+++ b/automation/build-bin.ts
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-import type { JsonVersions } from '../lib/commands/version/index';
+import type { JsonVersions } from '../src/commands/version/index';
import { run as oclifRun } from '@oclif/core';
import * as archiver from 'archiver';
diff --git a/automation/capitanodoc/capitanodoc.ts b/automation/capitanodoc/capitanodoc.ts
index 93a7f5b3..f687050d 100644
--- a/automation/capitanodoc/capitanodoc.ts
+++ b/automation/capitanodoc/capitanodoc.ts
@@ -28,7 +28,7 @@ import { GlobSync } from 'glob';
*
* IMPORTANT
*
- * All commands need to be stored under a folder in lib/commands to maintain uniformity
+ * All commands need to be stored under a folder in src/commands to maintain uniformity
* Generating docs will error out if directive not followed
* To add a custom heading for command docs, add the heading next to the folder name
* in the `commandHeadings` dictionary.
diff --git a/automation/capitanodoc/index.ts b/automation/capitanodoc/index.ts
index 75e79272..b82f0097 100644
--- a/automation/capitanodoc/index.ts
+++ b/automation/capitanodoc/index.ts
@@ -18,7 +18,7 @@ import * as path from 'path';
import { getCapitanoDoc } from './capitanodoc';
import type { Category, Document, OclifCommand } from './doc-types';
import * as markdown from './markdown';
-import { stripIndent } from '../../lib/utils/lazy';
+import { stripIndent } from '../../src/utils/lazy';
/**
* Generates the markdown document (as a string) for the CLI documentation
diff --git a/automation/capitanodoc/markdown.ts b/automation/capitanodoc/markdown.ts
index c0e2dc80..44cfc422 100644
--- a/automation/capitanodoc/markdown.ts
+++ b/automation/capitanodoc/markdown.ts
@@ -18,8 +18,8 @@ import { Parser } from '@oclif/core';
import * as ent from 'ent';
import * as _ from 'lodash';
-import { getManualSortCompareFunction } from '../../lib/utils/helpers';
-import { capitanoizeOclifUsage } from '../../lib/utils/oclif-utils';
+import { getManualSortCompareFunction } from '../../src/utils/helpers';
+import { capitanoizeOclifUsage } from '../../src/utils/oclif-utils';
import type { Category, Document, OclifCommand } from './doc-types';
function renderOclifCommand(command: OclifCommand): string[] {
diff --git a/automation/check-doc.ts b/automation/check-doc.ts
index 9ad65dc4..bdc33a49 100644
--- a/automation/check-doc.ts
+++ b/automation/check-doc.ts
@@ -43,8 +43,8 @@ async function checkBuildTimestamps() {
...gitStatus.staged,
...gitStatus.renamed.map((o) => o.to),
])
- // select only staged files that start with lib/ or typings/
- .filter((f) => f.match(/^(lib|typings)[/\\]/))
+ // select only staged files that start with src/ or typings/
+ .filter((f) => f.match(/^(src|typings)[/\\]/))
.map((f) => path.join(ROOT, f));
const fStats = await Promise.all(stagedFiles.map((f) => fs.stat(f)));
diff --git a/bin/dev.js b/bin/dev.js
index ceaf47c4..0d1662ea 100755
--- a/bin/dev.js
+++ b/bin/dev.js
@@ -29,7 +29,7 @@ const path = require('path');
const rootDir = path.join(__dirname, '..');
// Allow balena-dev to work with oclif by temporarily
-// pointing oclif config options to lib/ instead of build/
+// pointing oclif config options to src/ instead of build/
modifyOclifPaths();
// Undo changes on exit
process.on('exit', function () {
@@ -57,9 +57,9 @@ require('ts-node').register({
project: path.join(rootDir, 'tsconfig.json'),
transpileOnly: true,
});
-require('../lib/app').run(undefined, { dir: __dirname, development: true });
+require('../src/app').run(undefined, { dir: __dirname, development: true });
-// Modify package.json oclif paths from build/ -> lib/, or vice versa
+// Modify package.json oclif paths from build/ -> src/, or vice versa
function modifyOclifPaths(revert) {
const fs = require('fs');
const packageJsonPath = path.join(rootDir, 'package.json');
@@ -73,9 +73,9 @@ function modifyOclifPaths(revert) {
let oclifSectionText = JSON.stringify(packageObj.oclif);
if (!revert) {
- oclifSectionText = oclifSectionText.replace(/\/build\//g, '/lib/');
+ oclifSectionText = oclifSectionText.replace(/\/build\//g, '/src/');
} else {
- oclifSectionText = oclifSectionText.replace(/\/lib\//g, '/build/');
+ oclifSectionText = oclifSectionText.replace(/\/src\//g, '/build/');
}
packageObj.oclif = JSON.parse(oclifSectionText);
diff --git a/package.json b/package.json
index 4b61e19a..495fa2ae 100644
--- a/package.json
+++ b/package.json
@@ -14,7 +14,7 @@
"bin/",
"build/",
"doc/",
- "lib/",
+ "src/",
"patches/",
"!patches/**/**.dev.patch",
"*.md",
@@ -51,7 +51,7 @@
"build": "npm run build:src && npm run catch-uncommitted",
"build:t": "npm run lint && npm run build:fast && npm run build:test",
"build:src": "npm run lint && npm run build:fast && npm run build:test && npm run build:doc && npm run build:completion",
- "build:pages": "mkdirp ./build/auth/pages/&& inline-source --compress ./lib/auth/pages/error.ejs ./build/auth/pages/error.ejs && inline-source --compress ./lib/auth/pages/success.ejs ./build/auth/pages/success.ejs",
+ "build:pages": "mkdirp ./build/auth/pages/&& inline-source --compress ./src/auth/pages/error.ejs ./build/auth/pages/error.ejs && inline-source --compress ./src/auth/pages/success.ejs ./build/auth/pages/success.ejs",
"build:fast": "npm run build:pages && tsc && npx oclif manifest",
"build:test": "tsc -P ./tsconfig.dev.json --noEmit",
"build:doc": "ts-node --transpile-only automation/capitanodoc/index.ts > docs/balena-cli.md",
@@ -73,7 +73,7 @@
"catch-uncommitted": "ts-node --transpile-only automation/run.ts catch-uncommitted",
"ci": "npm run test && npm run catch-uncommitted",
"lint": "npm run lint-tsconfig && npm run lint-other",
- "lint-tsconfig": "balena-lint -e ts -e js -t tsconfig.dev.json --fix automation/ lib/ tests/ typings/",
+ "lint-tsconfig": "balena-lint -e ts -e js -t tsconfig.dev.json --fix automation/ src/ tests/ typings/",
"lint-other": "balena-lint -e ts -e js --fix bin/run.js bin/dev.js completion/ .mocharc.js .mocharc-standalone.js",
"update": "ts-node --transpile-only ./automation/update-module.ts",
"prepare": "echo {} > bin/.fast-boot.json",
diff --git a/src/events.ts b/src/events.ts
index fd0f74f6..3aa2826a 100644
--- a/src/events.ts
+++ b/src/events.ts
@@ -30,7 +30,7 @@ import { stripIndent } from './utils/lazy';
*
* The username and command signature are also added as extra context
* information in Sentry.io error reporting, for CLI debugging purposes
- * (mainly unexpected/unhandled exceptions -- see also `lib/errors.ts`).
+ * (mainly unexpected/unhandled exceptions -- see also `src/errors.ts`).
*
* For more details on the data collected by balena generally, check this page:
* https://www.balena.io/docs/learn/more/collected-data/
diff --git a/src/fast-boot.ts b/src/fast-boot.ts
index d66dd499..f178fdb6 100644
--- a/src/fast-boot.ts
+++ b/src/fast-boot.ts
@@ -20,7 +20,7 @@
* we have permissions over the cache file before even attempting to load
* fast boot.
* DON'T IMPORT BALENA-CLI MODULES HERE, as this module is loaded directly
- * from `bin/run.js`, before the CLI's entrypoint in `lib/app.ts`.
+ * from `bin/run.js`, before the CLI's entrypoint in `src/app.ts`.
*/
import * as fs from 'fs';
@@ -63,7 +63,7 @@ async function $start() {
process.env.BALENARC_DATA_DIRECTORY || path.join(os.homedir(), dotBalena),
);
// Consider that the CLI may be installed to a folder owned by root
- // such as `/usr[/local]/lib/balena-cli`, while being executed by
+ // such as `/usr[/local]/src/balena-cli`, while being executed by
// a regular user account.
const cacheFile = path.join(dataDir, 'cli-module-cache.json');
const root = path.join(__dirname, '..');
diff --git a/src/utils/bootstrap.ts b/src/utils/bootstrap.ts
index bcf5c587..679e66f3 100644
--- a/src/utils/bootstrap.ts
+++ b/src/utils/bootstrap.ts
@@ -130,8 +130,8 @@ let cachedUsername: CachedUsername | undefined;
/**
* Return the parsed contents of the `~/.balena/cachedUsername` file. If the file
* does not exist, create it with the details from the cloud. If not connected
- * to the internet, return undefined. This function is used by `lib/events.ts`
- * (event tracking) and `lib/utils/device/ssh.ts` and needs to gracefully handle
+ * to the internet, return undefined. This function is used by `src/events.ts`
+ * (event tracking) and `src/utils/device/ssh.ts` and needs to gracefully handle
* the scenario of not being connected to the internet.
*/
export async function getCachedUsername(): Promise {
diff --git a/tests/utils/device/live.spec.ts b/tests/utils/device/live.spec.ts
index 844c01d2..6ca79bb6 100644
--- a/tests/utils/device/live.spec.ts
+++ b/tests/utils/device/live.spec.ts
@@ -21,7 +21,7 @@ import { promises as fs } from 'fs';
import * as path from 'path';
import { promisify } from 'util';
-import { LivepushManager } from '../../../lib/utils/device/live';
+import { LivepushManager } from '../../../src/utils/device/live';
import { resetDockerignoreCache } from '../../docker-build';
import { setupDockerignoreTestData } from '../../projects';
@@ -42,11 +42,11 @@ class MockLivepushManager extends LivepushManager {
composition: { version: '2.1', services: {} },
buildTasks: [],
docker: {} as import('dockerode'),
- api: {} as import('../../../lib/utils/device/api').DeviceAPI,
- logger: {} as import('../../../lib/utils/logger'),
+ api: {} as import('../../../src/utils/device/api').DeviceAPI,
+ logger: {} as import('../../../src/utils/logger'),
imageIds: {},
deployOpts:
- {} as import('../../../lib/utils/device/deploy').DeviceDeployOptions,
+ {} as import('../../../src/utils/device/deploy').DeviceDeployOptions,
});
}
diff --git a/tsconfig.dev.json b/tsconfig.dev.json
index 3b00a90e..9762f3df 100644
--- a/tsconfig.dev.json
+++ b/tsconfig.dev.json
@@ -6,7 +6,7 @@
},
"include": [
"./automation/**/*",
- "./lib/**/*",
+ "./src/**/*",
"./patches/*",
"./tests/**/*",
"./typings/**/*"
diff --git a/tsconfig.json b/tsconfig.json
index bfe183cb..8632c46d 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -20,5 +20,5 @@
],
"preserveSymlinks": true
},
- "include": ["./lib/**/*", "./typings/**/*"]
+ "include": ["./src/**/*", "./typings/**/*"]
}