diff --git a/.gitattributes b/.gitattributes index a481f5d1d1..5a5718e0d5 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,3 +4,6 @@ bin/nativescript.js eol=lf # Use LF for shell scripts *.sh eol=lf + +# Use LF for all files +* text=auto eol=lf diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 5ef9b1bb07..0000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -name: Bug report -about: 'We really appreciate your effort to provide feedback. Before opening a new - issue, please make sure that this case is not already reported in GitHub as an - issue or in StackOverflow as a question.' - ---- - -**Environment** -Provide version numbers for the following components (information can be retrieved by running `tns info` in your project folder or by inspecting the `package.json` of the project): - - CLI: - - Cross-platform modules: - - Android Runtime: - - iOS Runtime: - - Plugin(s): - -**Describe the bug** - - -**To Reproduce** - - -**Expected behavior** - -**Sample project** - - -**Additional context** - diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml new file mode 100644 index 0000000000..3870bdf8d7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -0,0 +1,114 @@ +name: 🐞 Bug report +description: Create a bug report to help us improve NativeScript CLI +labels: [bug-pending-triage] + +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to report an issue. + + > ## Important! :warning: + > + > The issue list is reserved exclusively for bug reports and feature requests. That means we do not accept usage questions. If you open an issue that does not conform to the requirements, it will be closed. + > + > For usage questions, please refer to the following resources: + > * Search the [docs](https://docs.nativescript.org/) + > * Search or ask in [Discord](https://nativescript.org/discord) + > * Search or ask in [Discussions](https://github.com/NativeScript/NativeScript/discussions) + > * Search or ask on [StackOverflow](https://stackoverflow.com/questions/tagged/nativescript) + > * Watch [video tutorials](https://nativescripting.com/) + + - type: textarea + validations: + required: true + attributes: + label: Issue Description + description: | + A clear and concise description of what the bug is. + Please, explain whether it's a build-time error or a runtime error. + + If you intend to submit a PR for this issue, tell us in the description. + placeholder: | + When I do , happens and I see the following error message: + + ``` + + ``` + + Expected behavior: + + When I do , should happen instead. + + - type: textarea + attributes: + label: Reproduction + description: | + Add commands used or steps taken to reproduce the behaviour. + Include links, references or anything else that will give us more context about the issue you are encountering. + placeholder: | + e.g: + https://github.com/NativeScript/nativescript-cli + + 1. clone, and run with `ns run ios` + 2. Click on '...' + 3. See error + + - type: textarea + attributes: + label: Relevant log output (if applicable) + description: | + Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. + + Using the `--log trace` flag will usuall print more verbose logs that will help identify the issue quicker. + + When pasting verbose logs, please make sure you remove any sensitive information. + render: shell + + - type: textarea + attributes: + label: Environment + description: | + Provide information about your environment. Run + + ```shell + echo 'y' | npx nativescript-envinfo + ``` + + inside the project and paste the output directly without manual formatting. + placeholder: | + Paste the result of + + echo 'y' | npx nativescript-envinfo + + - type: markdown + attributes: + value: | + --- + + Before you submit this issue, please confirm the following: + + **1. Is there an existing issue for this?** + + Please search to see if an issue already exists for the bug you encountered or is not already reported on [StackOverflow](https://stackoverflow.com/questions/tagged/nativescript) as a question. + + **2. Confirm you are submitting a bug report** + + Please confirm you are submitting a bug report and not a usage question. + + **3. Code of Conduct** + + By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/NativeScript/NativeScript/blob/master/tools/notes/CONTRIBUTING.md#coc) + + --- + - type: checkboxes + id: terms + attributes: + label: Please accept these terms + options: + - label: I have searched the [existing issues](https://github.com/NativeScript/nativescript-cli/issues) as well as [StackOverflow](https://stackoverflow.com/questions/tagged/nativescript) and this has not been posted before + required: true + - label: This is a bug report + required: true + - label: I agree to follow this project's [Code of Conduct](https://github.com/NativeScript/NativeScript/blob/master/tools/notes/CONTRIBUTING.md#coc) + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..7c53936a50 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,14 @@ +blank_issues_enabled: false +contact_links: + - name: Search the Docs + url: https://docs.nativescript.org + about: Refer to the docs and search for what you are looking for. + - name: Search or ask in Discord + url: https://nativescript.org/discord + about: Ask questions and discuss with other NativeScript users in real-time. + - name: Search or ask in Discussions + url: https://github.com/NativeScript/NativeScript/discussions + about: Use GitHub discussions for message-board style questions and discussions. + - name: Search or ask on StackOverflow + url: https://stackoverflow.com/questions/tagged/nativescript + about: Use StackOverflow to look for answered questions that may be similar to yours. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 397090987c..0000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project - ---- - -**Is your feature request related to a problem? Please describe.** - - -**Describe the solution you'd like** - - -**Describe alternatives you've considered** - - -**Additional context** - diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml new file mode 100644 index 0000000000..6c929ebfc1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -0,0 +1,71 @@ +name: 🚀 Feature request +description: Suggest an idea for NativeScript CLI +labels: ["feature-pending-triage"] + +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to request a feature for NativeScript! + + > ## Important! :warning: + > + > The issue list is reserved exclusively for bug reports and feature requests. That means we do not accept usage questions. If you open an issue that does not conform to the requirements, it will be closed. + > + > For usage questions, please refer to the following resources: + > * Search the [docs](https://docs.nativescript.org/) + > * Search or ask in [Discord](https://nativescript.org/discord) + > * Search or ask in [Discussions](https://github.com/NativeScript/NativeScript/discussions) + > * Search or ask on [StackOverflow](https://stackoverflow.com/questions/tagged/nativescript) + > * Watch [video tutorials](https://nativescripting.com/) + + - type: textarea + attributes: + label: Is your feature request related to a problem? Please describe. + description: A clear and concise description of what the problem is. + placeholder: | + I wish I could use NativeScript CLI to do [...] + or + I'm always frustrated when [...] + + - type: textarea + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + + - type: textarea + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + + - type: textarea + attributes: + label: Anything else? + description: Add any other context, code examples, or references to existing implementations about the feature request here. + + - type: markdown + attributes: + value: | + --- + + Before you submit this feature request, please confirm the following: + + **1. Is there an existing issue for this?** + + Please search to see if an issue related to this feature request already exists. + + **2. Code of Conduct** + + By submitting this feature request, you agree to follow our [Code of Conduct](https://github.com/NativeScript/NativeScript/blob/master/tools/notes/CONTRIBUTING.md#coc) + + --- + + - type: checkboxes + id: terms + attributes: + label: Please accept these terms + options: + - label: I have searched the [existing issues](https://github.com/NativeScript/nativescript-cli/issues) as well as [StackOverflow](https://stackoverflow.com/questions/tagged/nativescript) and this has not been posted before + required: true + - label: I agree to follow this project's [Code of Conduct](https://github.com/NativeScript/NativeScript/blob/master/tools/notes/CONTRIBUTING.md#coc) + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index b9354924af..f10437293c 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -9,7 +9,7 @@ To help the rest of the community review your change, please follow the instruct ## PR Checklist -- [ ] The PR title follows our guidelines: https://github.com/NativeScript/NativeScript/blob/master/CONTRIBUTING.md#commit-messages. +- [ ] The PR title follows our guidelines: https://github.com/NativeScript/NativeScript/blob/master/tools/notes/CONTRIBUTING.md#commit-messages. - [ ] There is an issue for the bug/feature this PR is for. To avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it. - [ ] You have signed the [CLA](http://www.nativescript.org/cla). - [ ] All existing tests are passing: https://github.com/NativeScript/nativescript-cli/blob/master/CONTRIBUTING.md#contribute-to-the-code-base diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..2ac7ef3191 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,36 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: monthly + + - package-ecosystem: npm + directory: / + schedule: + interval: monthly + time: "23:00" + open-pull-requests-limit: 10 + ignore: + - dependency-name: "*" + update-types: ["version-update:semver-major"] + + - package-ecosystem: npm + directory: /packages/doctor + schedule: + interval: monthly + time: "23:00" + open-pull-requests-limit: 10 + ignore: + - dependency-name: "*" + update-types: ["version-update:semver-major"] + + - package-ecosystem: npm + directory: /packages/nativescript-envinfo + schedule: + interval: monthly + time: "23:00" + open-pull-requests-limit: 10 + ignore: + - dependency-name: "*" + update-types: ["version-update:semver-major"] diff --git a/.github/workflows/codeql-advanced.yml b/.github/workflows/codeql-advanced.yml new file mode 100644 index 0000000000..23bea62599 --- /dev/null +++ b/.github/workflows/codeql-advanced.yml @@ -0,0 +1,103 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL Advanced" + +on: + push: + branches: [ "main", "release" ] + pull_request: + branches: [ "main", "release" ] + schedule: + - cron: '21 2 * * 1' + +permissions: + contents: read + +jobs: + analyze: + name: Analyze (${{ matrix.language }}) + # Runner size impacts CodeQL analysis time. To learn more, please see: + # - https://gh.io/recommended-hardware-resources-for-running-codeql + # - https://gh.io/supported-runners-and-hardware-resources + # - https://gh.io/using-larger-runners (GitHub.com only) + # Consider using larger runners or machines with greater resources for possible analysis time improvements. + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + permissions: + # required for all workflows + security-events: write + + # required to fetch internal or private CodeQL packs + packages: read + + # only required for workflows in private repositories + actions: read + contents: read + + strategy: + fail-fast: false + matrix: + include: + - language: actions + build-mode: none + - language: javascript-typescript + build-mode: none + # CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift' + # Use `c-cpp` to analyze code written in C, C++ or both + # Use 'java-kotlin' to analyze code written in Java, Kotlin or both + # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both + # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis, + # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning. + # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how + # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages + steps: + - name: Checkout repository + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + + # Add any setup steps before running the `github/codeql-action/init` action. + # This includes steps like installing compilers or runtimes (`actions/setup-node` + # or others). This is typically only required for manual builds. + # - name: Setup runtime (example) + # uses: actions/setup-example@v1 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9 + with: + languages: ${{ matrix.language }} + build-mode: ${{ matrix.build-mode }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + # If the analyze step fails for one of the languages you are analyzing with + # "We were unable to automatically build your code", modify the matrix above + # to set the build mode to "manual" for that language. Then modify this step + # to build your code. + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + - if: matrix.build-mode == 'manual' + shell: bash + run: | + echo 'If you are using a "manual" build mode for one or more of the' \ + 'languages you are analyzing, replace this with the commands to build' \ + 'your code, for example:' + echo ' make bootstrap' + echo ' make release' + exit 1 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9 + with: + category: "/language:${{matrix.language}}" diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml new file mode 100644 index 0000000000..2f8e435dd4 --- /dev/null +++ b/.github/workflows/dependency-review.yml @@ -0,0 +1,22 @@ +# Dependency Review Action +# +# This Action will scan dependency manifest files that change as part of a Pull Request, +# surfacing known-vulnerable versions of the packages declared or updated in the PR. +# Once installed, if the workflow run is marked as required, +# PRs introducing known-vulnerable packages will be blocked from merging. +# +# Source repository: https://github.com/actions/dependency-review-action +name: 'Dependency Review' +on: [pull_request] + +permissions: + contents: read + +jobs: + dependency-review: + runs-on: ubuntu-latest + steps: + - name: 'Checkout Repository' + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4.3.0 + - name: 'Dependency Review' + uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 # v4.8.2 diff --git a/.github/workflows/npm_release_cli.yml b/.github/workflows/npm_release_cli.yml new file mode 100644 index 0000000000..70dae07342 --- /dev/null +++ b/.github/workflows/npm_release_cli.yml @@ -0,0 +1,162 @@ +name: 'nativescript -> npm' + +on: + push: + branches: + - main + tags: + - "v*" + paths-ignore: + - 'packages/**' + workflow_dispatch: + +env: + NPM_TAG: 'next' + +jobs: + build: + name: Build + runs-on: macos-latest + outputs: + npm_version: ${{ steps.npm_version_output.outputs.NPM_VERSION }} + npm_tag: ${{ steps.npm_version_output.outputs.NPM_TAG }} + + steps: + - name: Harden the runner (Audit all outbound calls) + uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 + with: + egress-policy: audit + + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + fetch-depth: 0 + + - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version: 22.14.0 + registry-url: "https://registry.npmjs.org" + + - name: Setup + run: npm i --ignore-scripts --legacy-peer-deps --no-package-lock + + - name: Get Current Version + run: | + NPM_VERSION=$(node -e "console.log(require('./package.json').version);") + echo NPM_VERSION=$NPM_VERSION >> $GITHUB_ENV + + - name: Bump version for dev release + if: ${{ !contains(github.ref, 'refs/tags/') }} + run: | + NPM_VERSION=$(node ./scripts/get-next-version.js) + echo NPM_VERSION=$NPM_VERSION >> $GITHUB_ENV + npm version $NPM_VERSION --no-git-tag-version + + - name: Output NPM Version and tag + id: npm_version_output + run: | + NPM_TAG=$(node ./scripts/get-npm-tag.js) + echo NPM_VERSION=$NPM_VERSION >> $GITHUB_OUTPUT + echo NPM_TAG=$NPM_TAG >> $GITHUB_OUTPUT + + - name: Build nativescript + run: npm pack + + - name: Upload npm package artifact + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + with: + name: npm-package + path: nativescript-${{steps.npm_version_output.outputs.NPM_VERSION}}.tgz + + publish: + runs-on: ubuntu-latest + environment: npm-publish + needs: + - build + permissions: + contents: read + id-token: write + env: + NPM_VERSION: ${{needs.build.outputs.npm_version}} + NPM_TAG: ${{needs.build.outputs.npm_tag}} + steps: + - name: Harden the runner (Audit all outbound calls) + uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 + with: + egress-policy: audit + + - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version: 22.14.0 + registry-url: "https://registry.npmjs.org" + + - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + with: + name: npm-package + path: dist + + - name: Update npm (required for OIDC trusted publishing) + run: | + npm install -g npm@^11.5.1 + npm --version + + - name: Publish package (OIDC trusted publishing) + if: ${{ vars.USE_NPM_TOKEN != 'true' }} + run: | + echo "Publishing nativescript@$NPM_VERSION to NPM with tag $NPM_TAG via OIDC trusted publishing..." + unset NODE_AUTH_TOKEN + if [ -n "${NPM_CONFIG_USERCONFIG:-}" ]; then + rm -f "$NPM_CONFIG_USERCONFIG" + fi + npm publish ./dist/nativescript-${{env.NPM_VERSION}}.tgz --tag $NPM_TAG --access public --provenance + env: + NODE_AUTH_TOKEN: "" + + - name: Publish package (granular token) + if: ${{ vars.USE_NPM_TOKEN == 'true' }} + run: | + echo "Publishing nativescript@$NPM_VERSION to NPM with tag $NPM_TAG via granular token..." + npm publish ./dist/nativescript-${{env.NPM_VERSION}}.tgz --tag $NPM_TAG --access public --provenance + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} + + github-release: + runs-on: ubuntu-latest + # only runs on tagged commits + if: ${{ contains(github.ref, 'refs/tags/') }} + permissions: + contents: write + needs: + - build + env: + NPM_VERSION: ${{needs.build.outputs.npm_version}} + steps: + - name: Harden the runner (Audit all outbound calls) + uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 + with: + egress-policy: audit + + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + fetch-depth: 0 + + - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version: 22.14.0 + + - name: Setup + run: npm i --ignore-scripts --legacy-peer-deps --no-package-lock + + - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + with: + name: npm-package + path: dist + + - name: Partial Changelog + run: npx conventional-changelog -p angular -r2 > body.md + + - uses: ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b # v1.20.0 + with: + artifacts: "dist/nativescript-*.tgz" + bodyFile: "body.md" + prerelease: ${{needs.build.outputs.npm_tag != 'latest'}} + allowUpdates: true diff --git a/.github/workflows/npm_release_doctor.yml b/.github/workflows/npm_release_doctor.yml new file mode 100644 index 0000000000..3098c795a9 --- /dev/null +++ b/.github/workflows/npm_release_doctor.yml @@ -0,0 +1,52 @@ +name: '@nativescript/doctor -> npm' + +on: + push: + branches: [ 'main' ] + paths: + - 'packages/doctor/**' + workflow_dispatch: + +defaults: + run: + working-directory: packages/doctor + +env: + NPM_TAG: 'next' + +permissions: + contents: read + +jobs: + release: + runs-on: ubuntu-latest + + steps: + + - name: Harden the runner (Audit all outbound calls) + uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 + with: + egress-policy: audit + + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + + - name: Setup + run: npm install + + - name: Generate Version + run: | + echo NPM_VERSION=$(node -e "console.log(require('./package.json').version);")-$NPM_TAG-$(date +"%m-%d-%Y")-$GITHUB_RUN_ID >> $GITHUB_ENV + + - name: Bump Version + run: npm --no-git-tag-version version $NPM_VERSION + + - name: Build @nativescript/doctor + run: npm pack + + - name: Publish @nativescript/doctor + env: + NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} + run: | + echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc + echo "Publishing @nativescript/doctor@$NPM_VERSION to NPM with tag $NPM_TAG..." + npm publish nativescript-doctor-$NPM_VERSION.tgz --tag $NPM_TAG diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml new file mode 100644 index 0000000000..7595c41d05 --- /dev/null +++ b/.github/workflows/scorecard.yml @@ -0,0 +1,73 @@ +name: Scorecard supply-chain security +on: + # For Branch-Protection check. Only the default branch is supported. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection + branch_protection_rule: + # To guarantee Maintained check is occasionally updated. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained + schedule: + - cron: '20 7 * * 2' + push: + branches: ["main"] + +# Declare default permissions as read only. +permissions: read-all + +jobs: + analysis: + name: Scorecard analysis + runs-on: ubuntu-latest + permissions: + # Needed to upload the results to code-scanning dashboard. + security-events: write + # Needed to publish results and get a badge (see publish_results below). + id-token: write + contents: read + actions: read + # To allow GraphQL ListCommits to work + issues: read + pull-requests: read + # To detect SAST tools + checks: read + + steps: + + - name: "Checkout code" + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4.3.0 + with: + persist-credentials: false + + - name: "Run analysis" + uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3 + with: + results_file: results.sarif + results_format: sarif + # (Optional) "write" PAT token. Uncomment the `repo_token` line below if: + # - you want to enable the Branch-Protection check on a *public* repository, or + # - you are installing Scorecards on a *private* repository + # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat. + # repo_token: ${{ secrets.SCORECARD_TOKEN }} + + # Public repositories: + # - Publish results to OpenSSF REST API for easy access by consumers + # - Allows the repository to include the Scorecard badge. + # - See https://github.com/ossf/scorecard-action#publishing-results. + # For private repositories: + # - `publish_results` will always be set to `false`, regardless + # of the value entered here. + publish_results: true + + # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF + # format to the repository Actions tab. + - name: "Upload artifact" + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + with: + name: SARIF file + path: results.sarif + retention-days: 5 + + # Upload the results to GitHub's code scanning dashboard. + - name: "Upload to code-scanning" + uses: github/codeql-action/upload-sarif@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9 + with: + sarif_file: results.sarif \ No newline at end of file diff --git a/.gitignore b/.gitignore index c351a62d44..0fd3dda24f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ *.js !/*.js !bin/nativescript.js +!bin/nsc.js !vendor/*.js !resources/** !lib/common/test/resources/**/* @@ -31,9 +32,12 @@ results scratch/ .idea/ .settings/ +test-reports.xml + +# VSCode .vscode/** !.vscode/launch.json -test-reports.xml +!.vscode/settings.json npm-debug.log node_modules @@ -83,3 +87,5 @@ lib/common/test-reports.xml !lib/common/test-scripts/** !lib/common/scripts/** config/test-deps-versions-generated.json +!scripts/get-next-version.js +!scripts/get-npm-tag.js \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000000..c37466e2b3 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx lint-staged \ No newline at end of file diff --git a/.idea/.name b/.idea/.name deleted file mode 100644 index a3bf33e13a..0000000000 --- a/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -nativescript-cli \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index f758959656..0000000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 4b29c89c25..8cff9841d3 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -5,5 +5,4 @@ - - + \ No newline at end of file diff --git a/.idea/scopes/Nativescript_CLI_TypeScript.xml b/.idea/scopes/Nativescript_CLI_TypeScript.xml deleted file mode 100644 index efb2748f34..0000000000 --- a/.idea/scopes/Nativescript_CLI_TypeScript.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/scopes/scope_settings.xml b/.idea/scopes/scope_settings.xml deleted file mode 100644 index 922003b843..0000000000 --- a/.idea/scopes/scope_settings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml index c80f2198b5..94a25f7f4c 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -3,5 +3,4 @@ - - + \ No newline at end of file diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000000..3c53558cd9 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,11 @@ +{ + "useTabs": true, + "overrides": [ + { + "files": "*.json", + "options": { + "useTabs": false + } + } + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json index e1dd227cc5..6e28092972 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,52 +1,65 @@ { - // Use IntelliSense to learn about possible Node.js debug attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "type": "node", - "request": "launch", - "cwd": "${workspaceRoot}", - "sourceMaps": true, - // In case you want to debug child processes started from CLI: - // "autoAttachChildProcesses": true, - "name": "Launch CLI (Node 6+)", - "program": "${workspaceRoot}/lib/nativescript-cli.js", - - // example commands - "args": [ "create", "cliapp", "--path", "${workspaceRoot}/scratch"] - // "args": [ "test", "android", "--justlaunch"] - // "args": [ "platform", "add", "android@1.3.0", "--path", "cliapp"] - // "args": [ "platform", "remove", "android", "--path", "cliapp"] - // "args": [ "plugin", "add", "nativescript-barcodescanner", "--path", "cliapp"] - // "args": [ "plugin", "remove", "nativescript-barcodescanner", "--path", "cliapp"] - // "args": [ "build", "android", "--path", "cliapp"] - // "args": [ "run", "android", "--path", "cliapp"] - // "args": [ "debug", "android", "--path", "cliapp"] - // "args": [ "livesync", "android", "--path", "cliapp"] - // "args": [ "livesync", "android", "--watch", "--path", "cliapp"], - // "args": [ "resources", "generate", "icons", "./test/image-generation-test.png", "--path", "cliapp" ], - // "args": [ "resources", "generate", "splashes", "./test/image-generation-test.png", "--path", "cliapp", "--background", "#8000ff" ], - }, - { - // in case you want to debug a single test, modify it's code to be `it.only(...` instead of `it(...` - "type": "node", - "request": "launch", - "name": "Launch Tests (Node 6+)", - "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha", - "cwd": "${workspaceRoot}", - "sourceMaps": true - }, - - { - "type": "node", - "request": "attach", - "name": "Attach to Broker Process", - // In case you want to debug Analytics Broker process, add `--debug-brk=9897` (or --inspect-brk=9897) when spawning analytics-broker-process. - "port": 9897, - "sourceMaps": true - } - - ] -} \ No newline at end of file + // Use IntelliSense to learn about possible Node.js debug attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "cwd": "${workspaceRoot}", + "sourceMaps": true, + // In case you want to debug child processes started from CLI: + // "autoAttachChildProcesses": true, + "name": "Launch CLI (Node 6+)", + "program": "${workspaceRoot}/lib/nativescript-cli.js", + // example commands + "args": [ + "create", + "cliapp", + "--path", + "${workspaceRoot}/scratch" + ] + // "args": [ "test", "android", "--justlaunch"] + // "args": [ "platform", "add", "android@1.3.0", "--path", "cliapp"] + // "args": [ "platform", "remove", "android", "--path", "cliapp"] + // "args": [ "plugin", "add", "nativescript-barcodescanner", "--path", "cliapp"] + // "args": [ "plugin", "remove", "nativescript-barcodescanner", "--path", "cliapp"] + // "args": [ "build", "android", "--path", "cliapp"] + // "args": [ "run", "android", "--path", "cliapp"] + // "args": [ "debug", "android", "--path", "cliapp"] + // "args": [ "livesync", "android", "--path", "cliapp"] + // "args": [ "livesync", "android", "--watch", "--path", "cliapp"], + // "args": [ "resources", "generate", "icons", "./test/image-generation-test.png", "--path", "cliapp" ], + // "args": [ "resources", "generate", "splashes", "./test/image-generation-test.png", "--path", "cliapp", "--background", "#8000ff" ], + }, + { + // in case you want to debug a single test, modify it's code to be `it.only(...` instead of `it(...` + "type": "node", + "request": "launch", + "name": "Launch Tests (Node 6+)", + "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha", + "cwd": "${workspaceRoot}", + "sourceMaps": true + }, + { + "type": "node", + "request": "attach", + "name": "Attach to Broker Process", + // In case you want to debug Analytics Broker process, add `--debug-brk=9897` (or --inspect-brk=9897) when spawning analytics-broker-process. + "port": 9897, + "sourceMaps": true + }, + { + "name": "Attach to Node Debugger", + "type": "node", + "request": "attach", + "port": 9229, + "address": "127.0.0.1", + "skipFiles": [ + "/**" + ], + "sourceMaps": true + } + ] +} diff --git a/lib/common/.vscode/settings.json b/.vscode/settings.json similarity index 80% rename from lib/common/.vscode/settings.json rename to .vscode/settings.json index ba7c1b45f0..5a586207df 100644 --- a/lib/common/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,6 +4,7 @@ "**/.git": true, "**/.DS_Store": true, "**/*.js": { "when": "$(basename).ts"}, - "**/*.js.map": true + "**/*.js.map": true, + "**/.husky/_": true } } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 33b9880440..a4ce9d17da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,879 @@ +## [9.0.2](https://github.com/NativeScript/nativescript-cli/compare/v9.0.1...v9.0.2) (2026-01-04) + + +### Bug Fixes + +* vite build and prepare ([#5948](https://github.com/NativeScript/nativescript-cli/issues/5948)) ([e892f48](https://github.com/NativeScript/nativescript-cli/commit/e892f48ea86510b1aafbb739a42bfd834fbdc12e)) + + + +## [9.0.1](https://github.com/NativeScript/nativescript-cli/compare/v9.0.0...v9.0.1) (2025-11-18) + + +### Bug Fixes + +* prevent error if nativescript.config entry is undefined ([#5919](https://github.com/NativeScript/nativescript-cli/issues/5919)) ([bfad89e](https://github.com/NativeScript/nativescript-cli/commit/bfad89ead225c881c46e2a6a4de042a1cb434323)) + + + +# [9.0.0](https://github.com/NativeScript/nativescript-cli/compare/v8.9.3...v9.0.0) (2025-11-17) + + +### Bug Fixes + +* **android:** livesync tool connect race condition ([#5857](https://github.com/NativeScript/nativescript-cli/issues/5857)) ([1daa553](https://github.com/NativeScript/nativescript-cli/commit/1daa5533d72408b2bba6773ddbd012f5284dc41f)) +* clear all deprecated dependencies ([#5858](https://github.com/NativeScript/nativescript-cli/issues/5858)) ([d9bced3](https://github.com/NativeScript/nativescript-cli/commit/d9bced3427f620f78ca7da62066f836e4961b084)) +* **config:** using set with undefined ([#5883](https://github.com/NativeScript/nativescript-cli/issues/5883)) ([b09510f](https://github.com/NativeScript/nativescript-cli/commit/b09510f5c994226030097332b6f0996c21d1d96c)) +* remove lock from default clean ([#5881](https://github.com/NativeScript/nativescript-cli/issues/5881)) ([a1c39f6](https://github.com/NativeScript/nativescript-cli/commit/a1c39f6d7e9912b74c913a793adc3b6edf125574)) +* **security:** axios 1.11.0 ([#5847](https://github.com/NativeScript/nativescript-cli/issues/5847)) ([0b08cb2](https://github.com/NativeScript/nativescript-cli/commit/0b08cb29bda03495a1e9a99e4bef100bc2d88838)) +* **security:** xml2js and braces ([#5848](https://github.com/NativeScript/nativescript-cli/issues/5848)) ([debc85a](https://github.com/NativeScript/nativescript-cli/commit/debc85a584cdb305ff329bca12c255750e8a9658)) +* update ios-sim-portable to version 4.5.1 ([#5850](https://github.com/NativeScript/nativescript-cli/issues/5850)) ([f575bdc](https://github.com/NativeScript/nativescript-cli/commit/f575bdcc39a1a749788aa04e4cc33d2d26f92489)) +* **visionos:** build/prepare ([e40a1b8](https://github.com/NativeScript/nativescript-cli/commit/e40a1b8d6cfd055016ac2612ecccb771176766b0)) + + +### Features + +* add config to help menu ([#5916](https://github.com/NativeScript/nativescript-cli/issues/5916)) ([f81499d](https://github.com/NativeScript/nativescript-cli/commit/f81499d4092426a801ac2a4bf9579a03c463a2b9)) +* add Dependabot configuration ([#5859](https://github.com/NativeScript/nativescript-cli/issues/5859)) ([93a214c](https://github.com/NativeScript/nativescript-cli/commit/93a214c093c3aa5d47df6b19371c12b26d3c97ed)) +* add Dependency Review Action workflow ([#5860](https://github.com/NativeScript/nativescript-cli/issues/5860)) ([1478ba9](https://github.com/NativeScript/nativescript-cli/commit/1478ba9b8d6cd987833dbd7108a19ed37c0f041f)) +* android upgrades, bundletool to 1.18.2, kotlin to 2.2.20 ([#5917](https://github.com/NativeScript/nativescript-cli/issues/5917)) ([cc94b80](https://github.com/NativeScript/nativescript-cli/commit/cc94b80328ac22828509e71313848bb10d444150)) +* **android:** api level 36 + start up emulator with unknown target versions ([#5842](https://github.com/NativeScript/nativescript-cli/issues/5842)) ([de2cb8c](https://github.com/NativeScript/nativescript-cli/commit/de2cb8c1e68bfbf0c7651a440bbaff72de27cf50)) +* **android:** update default compileSdkVersion and buildToolsVersion to 35 ([#5849](https://github.com/NativeScript/nativescript-cli/issues/5849)) ([cca32f9](https://github.com/NativeScript/nativescript-cli/commit/cca32f99d644c176f61383866cd45979d6e1f6b2)) +* config settings to use different bundlers ([#5837](https://github.com/NativeScript/nativescript-cli/issues/5837)) ([27e94e8](https://github.com/NativeScript/nativescript-cli/commit/27e94e8bececb837ce901e37e9b1c0d4581603dd)) +* hooks command ([#5918](https://github.com/NativeScript/nativescript-cli/issues/5918)) ([87cbca9](https://github.com/NativeScript/nativescript-cli/commit/87cbca902f8a30f27b8db524d307fd40d808216a)) +* **hooks:** support ES Modules ([#5843](https://github.com/NativeScript/nativescript-cli/issues/5843)) ([23c07aa](https://github.com/NativeScript/nativescript-cli/commit/23c07aa097750147432a8a823a4673c328df76fc)) +* migration updates ([52e5749](https://github.com/NativeScript/nativescript-cli/commit/52e57499806431ee5e3919e9a7cd631e030481ac)) +* replace chalk/ansi-colors/glob with Node.js built-ins ([#5853](https://github.com/NativeScript/nativescript-cli/issues/5853)) ([e562267](https://github.com/NativeScript/nativescript-cli/commit/e562267ce6a7d5cf2172679d6498b2ab79a9aff7)) + + + +## [8.9.3](https://github.com/NativeScript/nativescript-cli/compare/v8.9.2...v8.9.3) (2025-07-16) + + +### Bug Fixes + +* **bundler:** include process.env first ([4df139d](https://github.com/NativeScript/nativescript-cli/commit/4df139dc83456ac98dc4cdae765b72a47a945f91)) +* pass down process environment to webpack process ([#5844](https://github.com/NativeScript/nativescript-cli/issues/5844)) ([1e8b93f](https://github.com/NativeScript/nativescript-cli/commit/1e8b93fb0b8c5ac3080fdb5eecec5b7326859c81)) + + + +## [8.9.2](https://github.com/NativeScript/nativescript-cli/compare/v8.9.1...v8.9.2) (2025-03-25) + + +### Bug Fixes + +* icon generator color type error ([#5838](https://github.com/NativeScript/nativescript-cli/issues/5838)) ([af81491](https://github.com/NativeScript/nativescript-cli/commit/af8149113844a7aebcd6bf66eeae73154ac7927b)) +* remove --legacy-peer-deps flag on install ([#5839](https://github.com/NativeScript/nativescript-cli/issues/5839)) ([ca6fb68](https://github.com/NativeScript/nativescript-cli/commit/ca6fb68a96cbf4006885c878527c0743b3dae248)) + + + +## [8.9.1](https://github.com/NativeScript/nativescript-cli/compare/v8.9.0...v8.9.1) (2025-03-05) + + +### Bug Fixes + +* support node < 22.14 ([#5834](https://github.com/NativeScript/nativescript-cli/issues/5834)) ([9c5fdb2](https://github.com/NativeScript/nativescript-cli/commit/9c5fdb24a826974d62ce72b74a13e5e419136d77)) + + + +# [8.9.0](https://github.com/NativeScript/nativescript-cli/compare/v8.8.3...v8.9.0) (2025-02-27) + + +### Bug Fixes + +* add webpack env data so that scripts can read it ([#5817](https://github.com/NativeScript/nativescript-cli/issues/5817)) ([bc23679](https://github.com/NativeScript/nativescript-cli/commit/bc23679c426858dc4a6824641123116a8720d33f)) +* **android:** emulator ini file parsing ([#5824](https://github.com/NativeScript/nativescript-cli/issues/5824)) ([2f35b34](https://github.com/NativeScript/nativescript-cli/commit/2f35b347e1d9710f17862009784826cfb0c589aa)) +* **android:** logging after app restart ([#5815](https://github.com/NativeScript/nativescript-cli/issues/5815)) ([86d9f29](https://github.com/NativeScript/nativescript-cli/commit/86d9f29ced188a8b7904a83f3c58f06131db8282)) +* apple team id not being used when persisted to the platforms folder ([#5821](https://github.com/NativeScript/nativescript-cli/issues/5821)) ([4176e98](https://github.com/NativeScript/nativescript-cli/commit/4176e989cc132591b94d2a876fe72a3ab85a3527)) +* ensure plugin path is defined to process configs ([d96fde1](https://github.com/NativeScript/nativescript-cli/commit/d96fde1f151e1565ac38d311b42a91b552d70d1c)) +* ios-device-lib compiled with arm and x64 ([#5825](https://github.com/NativeScript/nativescript-cli/issues/5825)) ([9eac531](https://github.com/NativeScript/nativescript-cli/commit/9eac5314ac34ee1eea69d480534e1de7e3c99cd6)) +* ios-mobileprovision-finder updates for profile location adjustments ([ea0a138](https://github.com/NativeScript/nativescript-cli/commit/ea0a1389bc91c5549744cf710bef7f471bcc9823)) +* ios-mobileprovision-finder updates for windows ([c06e099](https://github.com/NativeScript/nativescript-cli/commit/c06e0995364769848e693ad513fcad8b6699029a)) +* ns publish, apple authentication, appstore list ([#5820](https://github.com/NativeScript/nativescript-cli/issues/5820)) ([5e381d4](https://github.com/NativeScript/nativescript-cli/commit/5e381d435ee8e65d729b5683040cef0a9a03a71c)) +* **windows:** APPDATA required ([#5823](https://github.com/NativeScript/nativescript-cli/issues/5823)) ([91eab28](https://github.com/NativeScript/nativescript-cli/commit/91eab28c982e98f7dec6ab3aa943900daed2f12a)) + + +### Features + +* build flag to append generated suffix to bundles ([#5814](https://github.com/NativeScript/nativescript-cli/issues/5814)) ([d10b817](https://github.com/NativeScript/nativescript-cli/commit/d10b817f7428f7fc668b21c38302704592060823)) +* custom android-studio path to support nixos using new env.NATIVESCRIPT_ANDROID_STUDIO_PATH ([#5816](https://github.com/NativeScript/nativescript-cli/issues/5816)) ([661b653](https://github.com/NativeScript/nativescript-cli/commit/661b653f39332859bb808cec5992c6b4fcbfe150)) +* **ios:** 'ns widget ios' for single command widget generator ([#5829](https://github.com/NativeScript/nativescript-cli/issues/5829)) ([89d09d3](https://github.com/NativeScript/nativescript-cli/commit/89d09d3d27030ec98ce1e50b21be2d238c79f2e5)) +* **ios:** allow collections of NativeSource to be included via nativescript.config ([#5830](https://github.com/NativeScript/nativescript-cli/issues/5830)) ([daa567c](https://github.com/NativeScript/nativescript-cli/commit/daa567caa7250d17cb567883a4753480dcb6b933)) +* **ios:** multi target support for swift packages ([#5828](https://github.com/NativeScript/nativescript-cli/issues/5828)) ([2090491](https://github.com/NativeScript/nativescript-cli/commit/209049163b6235f6726230e8eec2f19908e893ea)) +* plugins can now define their own nativescript.config for SPMPackage inclusion ([#5826](https://github.com/NativeScript/nativescript-cli/issues/5826)) ([b2bad0c](https://github.com/NativeScript/nativescript-cli/commit/b2bad0cfaaaea4d1aafddfdf1153e1f3e3afee5d)) +* support solid with typescript template ([1b6202d](https://github.com/NativeScript/nativescript-cli/commit/1b6202db13eb585e342b72604028dd3e0aeef97f)) + + + +## [8.8.3](https://github.com/NativeScript/nativescript-cli/compare/v8.8.2...v8.8.3) (2024-12-03) + +* SPM package version now supports semver ranges + * `~1.0.0` => upToNextMinor + * `^1.0.0` => upToNextMajor + * `#hash` => specific commit hash + * `` => specific branch + +## [8.8.2](https://github.com/NativeScript/nativescript-cli/compare/v8.8.1...v8.8.2) (2024-08-28) + + +### Bug Fixes + +* don't quote executable in windows ([823565e](https://github.com/NativeScript/nativescript-cli/commit/823565e95102343449bc687387d43a5f223390b1)) +* typings path separator on windows ([#5812](https://github.com/NativeScript/nativescript-cli/issues/5812)) ([25c3d67](https://github.com/NativeScript/nativescript-cli/commit/25c3d67ff92980b45326a4cc5043561bba393598)) + + + +## [8.8.1](https://github.com/NativeScript/nativescript-cli/compare/v8.8.0...v8.8.1) (2024-08-19) + + +### Bug Fixes + +* quote windows command line arguments ([#5808](https://github.com/NativeScript/nativescript-cli/issues/5808)) ([bf9a6cd](https://github.com/NativeScript/nativescript-cli/commit/bf9a6cdbed227c876b8a94a13e3517e684dad924)) + + +### Features + +* add android 35 support ([#5811](https://github.com/NativeScript/nativescript-cli/issues/5811)) ([abc7ab4](https://github.com/NativeScript/nativescript-cli/commit/abc7ab474024bda566374271e0497f4c73d78b4d)) + + + +# [8.8.0](https://github.com/NativeScript/nativescript-cli/compare/v8.7.2...v8.8.0) (2024-07-11) + + +### Bug Fixes + +* `ns config set` failure with prettier plugins ([67e68c6](https://github.com/NativeScript/nativescript-cli/commit/67e68c64aec9fcf180cbb91bcc1bfb1ee897094b)) +* **android:** use more accurate PID detection on restart ([#5804](https://github.com/NativeScript/nativescript-cli/issues/5804)) ([6509773](https://github.com/NativeScript/nativescript-cli/commit/650977342c67056a1ac3138d3810739cab95d5d5)) + + +### Features + +* ability to embed NativeScript into host Swift and Kotlin projects ([#5803](https://github.com/NativeScript/nativescript-cli/issues/5803)) ([42177c3](https://github.com/NativeScript/nativescript-cli/commit/42177c31bd034b6106500259b264db6347c5e21e)) +* add support for custom platform 'projectName' from nativescript.config ([#2107](https://github.com/NativeScript/nativescript-cli/issues/2107)) ([#5801](https://github.com/NativeScript/nativescript-cli/issues/5801)) ([32f8fc5](https://github.com/NativeScript/nativescript-cli/commit/32f8fc5332cfe8deda9606346906a4fa179fe78d)) +* gradle 8, kotlin 2 & updated bundletool ([#5799](https://github.com/NativeScript/nativescript-cli/issues/5799)) ([29acc76](https://github.com/NativeScript/nativescript-cli/commit/29acc76479646c1150440f9a4d0defa19faa74f0)) +* migrate 8.8 and associated depedencies ([#5807](https://github.com/NativeScript/nativescript-cli/issues/5807)) ([9e9773f](https://github.com/NativeScript/nativescript-cli/commit/9e9773f481991e30ac9c0aaf7a3a5dcc947fc801)) +* native add command to add native source files to the project ([#5806](https://github.com/NativeScript/nativescript-cli/issues/5806)) ([2f2d1e0](https://github.com/NativeScript/nativescript-cli/commit/2f2d1e0bfa5e3e41bba653de2393e9a2c169bd38)) + + + +## [8.7.2](https://github.com/NativeScript/nativescript-cli/compare/v8.7.1...v8.7.2) (2024-05-28) + +### Bug Fixes + +* fix `npm i -g nativescript` on npm 10.4.0+ ([9d2ec7c](https://github.com/NativeScript/nativescript-cli/commit/9d2ec7cb6a12ea10439ea287991812645a156473)) + +### Features + +* don't uninstall app by default ([bac14c0](https://github.com/NativeScript/nativescript-cli/commit/bac14c06568c7a0538618d9ca1e369a56dd272b5)) + + + +## [8.7.1](https://github.com/NativeScript/nativescript-cli/compare/v8.7.0...v8.7.1) (2024-05-16) + + +### Bug Fixes + +* **windows:** make compatible with latest node patch levels ([#5802](https://github.com/NativeScript/nativescript-cli/issues/5802)) ([8795e98](https://github.com/NativeScript/nativescript-cli/commit/8795e98e7876d11ac0032135607fb13bf00d246d)) + + +### Features + +* interactive typings generation for android ([#5798](https://github.com/NativeScript/nativescript-cli/issues/5798)) ([d3f2e70](https://github.com/NativeScript/nativescript-cli/commit/d3f2e70101d44a9bc8450c5d0b90419945c2604f)) + + + +# [8.7.0](https://github.com/NativeScript/nativescript-cli/compare/v8.6.5...v8.7.0) (2024-04-08) + + +### Bug Fixes + +* **autocomplete:** fix the generation of the autocomplete script and prevent duplication on enable/disable ([#5794](https://github.com/NativeScript/nativescript-cli/issues/5794)) ([7c87b49](https://github.com/NativeScript/nativescript-cli/commit/7c87b49bd3779ad4a43ebae044595e2bdac8b373)) +* **debug-ios:** don't explicitly bind ws to `localhost` ([#5788](https://github.com/NativeScript/nativescript-cli/issues/5788)) ([280b10d](https://github.com/NativeScript/nativescript-cli/commit/280b10d3410d9b5340e7dd7e532a11e4cdd7bca5)) +* **ios:** only allow IPHONEOS_DEPLOYMENT_TARGET to be explicitly set vs entire xcconfig ([ac8afcc](https://github.com/NativeScript/nativescript-cli/commit/ac8afcc70c68c8c8476278ec508265483635f105)) +* **ios:** skip package validation on xcodebuild ([#5782](https://github.com/NativeScript/nativescript-cli/issues/5782)) ([e47cff4](https://github.com/NativeScript/nativescript-cli/commit/e47cff471ab25f7608360c8c0c94463a83116788)) +* **plugins:** parse name issue with invalid plugins ([#5770](https://github.com/NativeScript/nativescript-cli/issues/5770)) ([f826248](https://github.com/NativeScript/nativescript-cli/commit/f82624892c1433ea1aefdbeb06b5bd53e954b8a1)) +* remove python six requirement ([#5785](https://github.com/NativeScript/nativescript-cli/issues/5785)) ([25ae1f0](https://github.com/NativeScript/nativescript-cli/commit/25ae1f0842469697826c0061b499f55b54f0987d)) +* tests ([13b0bdb](https://github.com/NativeScript/nativescript-cli/commit/13b0bdb808a4796ea0c68575fd41308db5ef840c)) + + +### Features + +* add experimental bun package manager support ([#5791](https://github.com/NativeScript/nativescript-cli/issues/5791)) ([f758f6c](https://github.com/NativeScript/nativescript-cli/commit/f758f6cac3ed5e1ba6adeb9b68a683a21fdd0e07)) +* add open ios/android ([#5779](https://github.com/NativeScript/nativescript-cli/issues/5779)) ([81b32bc](https://github.com/NativeScript/nativescript-cli/commit/81b32bcaa125d2914c4e3ad41068d7da9671635d)) +* **ios:** ensure user defined xcconfig always takes priority ([#5784](https://github.com/NativeScript/nativescript-cli/issues/5784)) ([500d751](https://github.com/NativeScript/nativescript-cli/commit/500d75176cee0f5c5a5551ffcc1d4c00c7543b5a)) +* provide appId to webpack config ([#5778](https://github.com/NativeScript/nativescript-cli/issues/5778)) ([e3ef37d](https://github.com/NativeScript/nativescript-cli/commit/e3ef37dc648e99ff09844e22e11c917f7d727cdf)) +* support for solid/solidjs templates and migrations for 8.7 ([#5796](https://github.com/NativeScript/nativescript-cli/issues/5796)) ([cf788f0](https://github.com/NativeScript/nativescript-cli/commit/cf788f053fd976ee7dd62af2ac61bb1590498be0)) +* visionOS support ([#5783](https://github.com/NativeScript/nativescript-cli/issues/5783)) ([6a6a832](https://github.com/NativeScript/nativescript-cli/commit/6a6a8322655b1dedadda912d712cf26ee6d51f56)) + + + +## [8.6.4](https://github.com/NativeScript/nativescript-cli/compare/v8.6.3...v8.6.4) (2024-01-17) + + +### Bug Fixes + +* skip log-source-maps for large files ([#5780](https://github.com/NativeScript/nativescript-cli/issues/5780)) ([c53b4e9](https://github.com/NativeScript/nativescript-cli/commit/c53b4e9111f3da98547ec273c92a73ead89aca13)) + + + +## [8.6.1](https://github.com/NativeScript/nativescript-cli/compare/v8.6.0...v8.6.1) (2023-10-23) + + +### Bug Fixes + +* remove cli-table aliasing ([#5763](https://github.com/NativeScript/nativescript-cli/issues/5763)) ([dd1640c](https://github.com/NativeScript/nativescript-cli/commit/dd1640ca15235be82d945fe6401e3993a6a4442a)) +* resolve pacote regression with creating app from a template directory ([#5766](https://github.com/NativeScript/nativescript-cli/issues/5766)) ([2cd7a62](https://github.com/NativeScript/nativescript-cli/commit/2cd7a62ee8535f72c578e681806ca441c752c357)) +* setup docs links ([#5762](https://github.com/NativeScript/nativescript-cli/issues/5762)) ([b229fdf](https://github.com/NativeScript/nativescript-cli/commit/b229fdf4eb4d942fce5734166e02c1b4b193cdb7)) + + + +# [8.6.0](https://github.com/NativeScript/nativescript-cli/compare/v8.5.3...v8.6.0) (2023-10-10) + + +### Bug Fixes + +* bump resolve-package-path to fix aliased module resolution ([3307155](https://github.com/NativeScript/nativescript-cli/commit/33071556385e9a1ec8945e66eb57b5f1ef744c28)) +* check if interactive before attaching key commands ([27d3940](https://github.com/NativeScript/nativescript-cli/commit/27d394030fec6c39dd58138411a65b80def7fcb8)) +* get framework name from Info.plist ([#5759](https://github.com/NativeScript/nativescript-cli/issues/5759)) ([6bc6ca9](https://github.com/NativeScript/nativescript-cli/commit/6bc6ca91422b6e6d9c7b5dbc4457c69ec58b74f0)) +* hash plugin files after prepare ([#5753](https://github.com/NativeScript/nativescript-cli/issues/5753)) ([ecf1959](https://github.com/NativeScript/nativescript-cli/commit/ecf19599eda49dbbdb0d01333880e736bb02d222)) +* **ios-device-lib:** use 0.9.3 with device core handling ([5cc76f4](https://github.com/NativeScript/nativescript-cli/commit/5cc76f4ad890b3f8e79bfdcd64d6e9842baf081d)) +* **logs:** android log detection fixes ([b5cc32e](https://github.com/NativeScript/nativescript-cli/commit/b5cc32ece0ec7e38fd084ea3398abca2fedc0a9a)) +* **logs:** correctly trim ios logs + fix tests ([be1e737](https://github.com/NativeScript/nativescript-cli/commit/be1e737a7457d4e35eda76619369a52b88d0dcab)) +* **logs:** don't trim leading whitespace ([f522401](https://github.com/NativeScript/nativescript-cli/commit/f522401e03322c328e7859cea2881af73f6889fe)) +* use valid interface ([a35dfa6](https://github.com/NativeScript/nativescript-cli/commit/a35dfa6a4841e01efd9dbc85b66048be90bcee1c)) + + +### Features + +* add key commands ([5dbc780](https://github.com/NativeScript/nativescript-cli/commit/5dbc780f3b5e216669092db3cb413fa0fc25f53e)) +* allow android plugins to have cpp code ([#5758](https://github.com/NativeScript/nativescript-cli/issues/5758)) ([c5f7b85](https://github.com/NativeScript/nativescript-cli/commit/c5f7b85e55c76eadb9697efc554814a8ed31b1ab)) +* allow running on visionOS ([#5745](https://github.com/NativeScript/nativescript-cli/issues/5745)) ([f6a0fdd](https://github.com/NativeScript/nativescript-cli/commit/f6a0fdd14ee409e791fa75de52cd6f85154db3cb)) +* **angular:** use 16.2.0 on ns update ([a31b3bb](https://github.com/NativeScript/nativescript-cli/commit/a31b3bb881a74e7d46eb30e172c145dd9536e0ad)) +* **extension:** initial per-extension provisioning ([#5749](https://github.com/NativeScript/nativescript-cli/issues/5749)) ([c564e18](https://github.com/NativeScript/nativescript-cli/commit/c564e189b36334a2f8a7a7fc57e911b9139cb358)) +* **extensions:** add extension podfile and setup extension with provision ([#5751](https://github.com/NativeScript/nativescript-cli/issues/5751)) ([ba3293c](https://github.com/NativeScript/nativescript-cli/commit/ba3293c174155b1143e87662ed49c978e9cac32d)) +* **extensions:** allow seperate release/debug build configuration ([#5741](https://github.com/NativeScript/nativescript-cli/issues/5741)) ([fdcc98e](https://github.com/NativeScript/nativescript-cli/commit/fdcc98e9fc45786fd362444dad2fa1d458d09cb6)) +* **ios:** always override xcconfig with user values ([#5735](https://github.com/NativeScript/nativescript-cli/issues/5735)) ([5b88e06](https://github.com/NativeScript/nativescript-cli/commit/5b88e06404bf910da966ec1a7969f13c8f843fe4)) +* **logs:** improve android logging ([#5755](https://github.com/NativeScript/nativescript-cli/issues/5755)) ([8c5ef04](https://github.com/NativeScript/nativescript-cli/commit/8c5ef043bc8355e5ce421dbc4ee02efd78e06caa)) +* **spm:** add support for local SPM packages ([#5748](https://github.com/NativeScript/nativescript-cli/issues/5748)) ([c40e217](https://github.com/NativeScript/nativescript-cli/commit/c40e2177ecbc452d124a6d6f750d1bfeb9de7e50)) + + + +## [8.5.3](https://github.com/NativeScript/nativescript-cli/compare/v8.5.2...v8.5.3) (2023-04-12) + + +### Bug Fixes + +* correctly merge IPHONEOS_DEPLOYMENT_TARGET in xcconfigs ([#5728](https://github.com/NativeScript/nativescript-cli/issues/5728)) ([e6c09c0](https://github.com/NativeScript/nativescript-cli/commit/e6c09c0048534f6079634291706b0b38ac193a6c)) +* hooks not being called ([#5729](https://github.com/NativeScript/nativescript-cli/issues/5729)) ([c35673e](https://github.com/NativeScript/nativescript-cli/commit/c35673eb9ed02116e1286351ca7a711d6ee231e7)) +* migrate - safeguard possibly null values ([#5730](https://github.com/NativeScript/nativescript-cli/issues/5730)) ([68d9373](https://github.com/NativeScript/nativescript-cli/commit/68d9373aec1427a71e1f6236fff4f8084c33a421)) + + + +## [8.5.2](https://github.com/NativeScript/nativescript-cli/compare/v8.5.1...v8.5.2) (2023-04-06) + + +### Features + +* clean multiple projects ([#5726](https://github.com/NativeScript/nativescript-cli/issues/5726)) ([e39e8db](https://github.com/NativeScript/nativescript-cli/commit/e39e8dbea725bbb541c9f76fc7b8723bf204d423)) + + + +## [8.5.1](https://github.com/NativeScript/nativescript-cli/compare/v8.5.0...v8.5.1) (2023-03-29) + + +### Reverts + +* "fix: build plugins using same gradle config structure as apps ([#5671](https://github.com/NativeScript/nativescript-cli/issues/5671))" ([2c2c964](https://github.com/NativeScript/nativescript-cli/commit/2c2c964c791a831f091a5a10432d4b9f6266e5d4)) + + + +# [8.5.0](https://github.com/NativeScript/nativescript-cli/compare/v8.4.0...v8.5.0) (2023-03-28) + + +### Bug Fixes + +* **publish:** various apple publish/sign-in fixes ([#5718](https://github.com/NativeScript/nativescript-cli/issues/5718)) ([1c27c2b](https://github.com/NativeScript/nativescript-cli/commit/1c27c2bf17a7df1fcfa434b7c04fda3a41f38a34)) +* build plugins using same gradle config structure as apps ([#5671](https://github.com/NativeScript/nativescript-cli/issues/5671)) ([40e459a](https://github.com/NativeScript/nativescript-cli/commit/40e459ac2669bed5a1b661f47336691cc8d0b997)) +* **android:** support unsigned apks ([#5706](https://github.com/NativeScript/nativescript-cli/issues/5706)) ([32d3a0f](https://github.com/NativeScript/nativescript-cli/commit/32d3a0fe4a83943c2580b42c1e1536236a3d6164)) +* **doctor:** check for python3 instead of python ([f21156c](https://github.com/NativeScript/nativescript-cli/commit/f21156c8d02964308f503dcdf8f9dc2764745b4e)) + + +### Features + +* **migrate:** 8.5.0 migrations ([#5725](https://github.com/NativeScript/nativescript-cli/issues/5725)) ([b11357d](https://github.com/NativeScript/nativescript-cli/commit/b11357d1c1c7ee717acd43fbccee568367d77016)) +* support generating android adaptive icons ([#5667](https://github.com/NativeScript/nativescript-cli/issues/5667)) ([73694bd](https://github.com/NativeScript/nativescript-cli/commit/73694bd447625f3df91f999c66e13e9ddc6fb01e)) +* **profiling:** generate chrome compatible timeline data ([#5686](https://github.com/NativeScript/nativescript-cli/issues/5686)) ([0569873](https://github.com/NativeScript/nativescript-cli/commit/0569873139576c3264c631699d9357a96d2d4dbf)) +* experimental SPM support ([#5721](https://github.com/NativeScript/nativescript-cli/issues/5721)) ([1443240](https://github.com/NativeScript/nativescript-cli/commit/14432403857354a8281b8fd1c1d3b4c2f6659403)) +* experimental yarn2+ support ([#5701](https://github.com/NativeScript/nativescript-cli/issues/5701)) ([363db96](https://github.com/NativeScript/nativescript-cli/commit/363db96d7a07245cf1635a2dc22b7a2110941f29)) + + + +# [8.4.0](https://github.com/NativeScript/nativescript-cli/compare/v8.3.3...v8.4.0) (2022-11-30) + + +### Bug Fixes + +* get `targetSdkVersion` from project ext ([#5656](https://github.com/NativeScript/nativescript-cli/issues/5656)) ([7574be2](https://github.com/NativeScript/nativescript-cli/commit/7574be2f4cd19b3f9ed28bf351f59ed22f11d7ae)) +* handle unknown/undefined platform edge case ([#5694](https://github.com/NativeScript/nativescript-cli/issues/5694)) ([aa3de73](https://github.com/NativeScript/nativescript-cli/commit/aa3de73193356eedc8ba1c68c9ae9e62b3902832)) +* hmr doesn't work properly in paths with the character '.' ([#5703](https://github.com/NativeScript/nativescript-cli/issues/5703)) ([7a312a2](https://github.com/NativeScript/nativescript-cli/commit/7a312a2113796a75d4fa22541249526bd4ef2dd6)) +* only include EXCLUDED_ARCHS workaround in xcode 12 ([#5705](https://github.com/NativeScript/nativescript-cli/issues/5705)) ([3e430cf](https://github.com/NativeScript/nativescript-cli/commit/3e430cffb52e5f210d3e32e293b9f464f2fc75b6)) +* **testing:** pin karma-jasmine to 4.0.2 ([#5695](https://github.com/NativeScript/nativescript-cli/issues/5695)) ([a5bbac7](https://github.com/NativeScript/nativescript-cli/commit/a5bbac7d32c0a60ea3426b3fbd9b795402d757d1)), closes [#5690](https://github.com/NativeScript/nativescript-cli/issues/5690) + + +### Features + +* **doctor:** more informative android compile SDK messages ([#5697](https://github.com/NativeScript/nativescript-cli/issues/5697)) ([cfaa882](https://github.com/NativeScript/nativescript-cli/commit/cfaa882dd42d0d2447efb597442359ed19d9665d)) +* include-settings.gradle plugin ([#5693](https://github.com/NativeScript/nativescript-cli/issues/5693)) ([6155ff7](https://github.com/NativeScript/nativescript-cli/commit/6155ff7f40c37c1183f9cf66b3ea0a464fb6497c)) +* pass in tempPlugin flag during plugin build ([#5691](https://github.com/NativeScript/nativescript-cli/issues/5691)) ([645e9ea](https://github.com/NativeScript/nativescript-cli/commit/645e9ea516063db5da230fbd08db7d9fe37ab971)) +* **migrations:** use Angular 14.2 ([3dc0323](https://github.com/NativeScript/nativescript-cli/commit/3dc03231c7edc7efce9f97445a211f7657c8da1e)) + + + +## [8.3.3](https://github.com/NativeScript/nativescript-cli/compare/v8.3.2...v8.3.3) (2022-08-22) + + +### Bug Fixes + +* **console:** disable long line splitting ([be8274d](https://github.com/NativeScript/nativescript-cli/commit/be8274d7dce5f9d43a4aa3bf78d6beb414115dfc)) +* **preview:** windows spawn error ([f737579](https://github.com/NativeScript/nativescript-cli/commit/f73757929550f54fca4509f597da4dd746297ba7)) + + +### Features + +* ensure App_Resources exists before running ([#5689](https://github.com/NativeScript/nativescript-cli/issues/5689)) ([ba8dd58](https://github.com/NativeScript/nativescript-cli/commit/ba8dd58e289c0e2b8a3bc847a4c8a4e5d1bc0d73)) + + + +## [8.3.2](https://github.com/NativeScript/nativescript-cli/compare/v8.3.1...v8.3.2) (2022-07-31) + + +### Bug Fixes + +* **logger:** don't trim text if maxWidth is NaN or <10 ([5415582](https://github.com/NativeScript/nativescript-cli/commit/541558270d54be32f2d38f0848a958e0cbca2a0b)) + + + +## [8.3.1](https://github.com/NativeScript/nativescript-cli/compare/v8.3.0...v8.3.1) (2022-07-29) + + +### Bug Fixes + +* use correct path to emulator executable ([#5663](https://github.com/NativeScript/nativescript-cli/issues/5663)) ([d49b666](https://github.com/NativeScript/nativescript-cli/commit/d49b6664f216456f84bfbf3dc5f1b362588e1951)) + + +### Features + +* **migrate:** update to 8.3 ([#5685](https://github.com/NativeScript/nativescript-cli/issues/5685)) ([50de194](https://github.com/NativeScript/nativescript-cli/commit/50de1946986b634bd3a9cf6d06d5f9b0c93a3caf)) + + + +# [8.3.0](https://github.com/NativeScript/nativescript-cli/compare/v8.2.3...v8.3.0) (2022-07-25) + + +### Bug Fixes + +* **ios-publish:** Update API calls to get applications ([#5678](https://github.com/NativeScript/nativescript-cli/issues/5678)) ([4abe2c9](https://github.com/NativeScript/nativescript-cli/commit/4abe2c901829b28f1e1fa26009996db96af06047)) +* **unit-test-runner:** node 18 binding family ([#5673](https://github.com/NativeScript/nativescript-cli/issues/5673)) ([1da28bc](https://github.com/NativeScript/nativescript-cli/commit/1da28bcb506650a0c43f468a43f4d577a7d9d3d4)) +* ios log filtering ([#5679](https://github.com/NativeScript/nativescript-cli/issues/5679)) ([8446000](https://github.com/NativeScript/nativescript-cli/commit/8446000ec7580fdc2aff4d7154edd174bf2d1d52)) + + +### Features + +* bump @nativescript/doctor version ([893989b](https://github.com/NativeScript/nativescript-cli/commit/893989b250c6372937a67f4c55ac05e92c1f26a8)) +* cleaner log output ([#5680](https://github.com/NativeScript/nativescript-cli/issues/5680)) ([5330207](https://github.com/NativeScript/nativescript-cli/commit/53302079e30580242e7bf4f9cad88f9b37d1a789)) +* **doctor:** add android-33 to supported sdks ([b8f15a0](https://github.com/NativeScript/nativescript-cli/commit/b8f15a06ffab855ed7f77b580b6421650bbed52a)) +* **migrate:** use Angular 14.1 ([#5681](https://github.com/NativeScript/nativescript-cli/issues/5681)) ([d5d4206](https://github.com/NativeScript/nativescript-cli/commit/d5d4206c4041e10e4abb0e11ae6f7a9c8c89412e)) +* add watchAction hooks ([#5661](https://github.com/NativeScript/nativescript-cli/issues/5661)) ([bb3a696](https://github.com/NativeScript/nativescript-cli/commit/bb3a6965792cc565ab6d516c30a640ac98313ee7)) +* alias --simulator to --emulator ([e9d9d5a](https://github.com/NativeScript/nativescript-cli/commit/e9d9d5a878c455d9a69cc1416fe21d07c1c5e5c4)) +* re-enable preview command ([#5676](https://github.com/NativeScript/nativescript-cli/issues/5676)) ([98124e7](https://github.com/NativeScript/nativescript-cli/commit/98124e70a8867ad6161a199ee11129ca6b269eb4)) + + + +## [8.2.3](https://github.com/NativeScript/nativescript-cli/compare/v8.2.2...v8.2.3) (2022-03-23) + + +### Bug Fixes + +* **doctor:** improve target and sdk compatibility detection on <8.2 ([#5648](https://github.com/NativeScript/nativescript-cli/issues/5648)) ([fa257dd](https://github.com/NativeScript/nativescript-cli/commit/fa257dd455ca55374cf419d638ac74166dc727db)) +* **ios-publish:** changes in Apple API to set Team ([#5653](https://github.com/NativeScript/nativescript-cli/issues/5653)) ([5ceb254](https://github.com/NativeScript/nativescript-cli/commit/5ceb254f317d0cb186bfc31b89e2d2b28625094c)) +* **spawn:** resolve relative paths to prevent ENOENT errors ([37d576b](https://github.com/NativeScript/nativescript-cli/commit/37d576bcde7352b7fa6c937d5e765e10486fedf3)), closes [#5649](https://github.com/NativeScript/nativescript-cli/issues/5649) +* **test:** node17 resolves localhost to ipv6 instead of ipv4 ([81cb9c3](https://github.com/NativeScript/nativescript-cli/commit/81cb9c37cdd4e24115be79b24b68dfbaf8cdcfd2)) + + + +## [8.2.2](https://github.com/NativeScript/nativescript-cli/compare/v8.2.1...v8.2.2) (2022-03-09) + + +### Bug Fixes + +* topological dependency sorting ([#5647](https://github.com/NativeScript/nativescript-cli/issues/5647)) ([9d8d967](https://github.com/NativeScript/nativescript-cli/commit/9d8d967096fba41325ee9082eed02a880cb803f6)) + + +### Features + +* read gradle versions from local runtime first ([#5646](https://github.com/NativeScript/nativescript-cli/issues/5646)) ([1b9cde3](https://github.com/NativeScript/nativescript-cli/commit/1b9cde38f2272ae142520141469962fbe5f55954)) + + + +# [8.2.1](https://github.com/NativeScript/nativescript-cli/compare/v8.2.0...v8.2.1) (2022-03-08) + +### Bug Fixes + +* node17 debugger can't attach ([fc84d92](https://github.com/NativeScript/nativescript-cli/commit/fc84d92d9c102ddaca036c0cda1800b8e41fd653)) + +# [8.2.0](https://github.com/NativeScript/nativescript-cli/compare/v8.1.5...v8.2.0) (2022-03-08) + + +### Bug Fixes + +* remove deprecated property ([f7b4a74](https://github.com/NativeScript/nativescript-cli/commit/f7b4a74f58cb4b5fb8c6baa6f6b9d75512f21c1f)) +* **pnpm:** escape + in podfile path string ([#5638](https://github.com/NativeScript/nativescript-cli/issues/5638)) ([a11cace](https://github.com/NativeScript/nativescript-cli/commit/a11cace045856499a44637cd3052501ef34b5757)) +* add a missing newline to the clean command ([#5611](https://github.com/NativeScript/nativescript-cli/issues/5611)) ([46c396d](https://github.com/NativeScript/nativescript-cli/commit/46c396d6caecb88aae9774157e86d1f6bd7a6d1f)) +* correctly allow plugins build to detect before-plugins.gradle ([#5631](https://github.com/NativeScript/nativescript-cli/issues/5631)) ([3b42042](https://github.com/NativeScript/nativescript-cli/commit/3b420428e80594661968313ec63bd44089f960b0)) +* import performance from perf_hooks ([fade332](https://github.com/NativeScript/nativescript-cli/commit/fade3326765bac5cd9bbbda9efe54320e34360a9)) +* move additionalPathsToClean under cli object ([d16a932](https://github.com/NativeScript/nativescript-cli/commit/d16a932c1d660bf34f1bb0135899471f1de08260)) +* write project settings to gradle.properties ([#5640](https://github.com/NativeScript/nativescript-cli/issues/5640)) ([e0ed7f2](https://github.com/NativeScript/nativescript-cli/commit/e0ed7f2dd7e23d5fbb4fe3185e0b7f85534018d7)) +* **doctor:** Cannot read property 'toLowerCase' of null ([#5604](https://github.com/NativeScript/nativescript-cli/issues/5604)) ([0be52e9](https://github.com/NativeScript/nativescript-cli/commit/0be52e914540898fa0cdc679edfa303192c812f7)) +* **test:** exit test command if karma finishes execution ([#5618](https://github.com/NativeScript/nativescript-cli/issues/5618)) ([9f73e96](https://github.com/NativeScript/nativescript-cli/commit/9f73e9640357ebe6736dfd52e0ad5997c5c0b339)) + + +### Features + +* --gradlePath argument support ([#5628](https://github.com/NativeScript/nativescript-cli/issues/5628)) ([387c7c0](https://github.com/NativeScript/nativescript-cli/commit/387c7c0f2eaefcf942e9d6087edaa2a9c42ce064)) +* `--gradleArgs` option to pass gradle parameters ([#5630](https://github.com/NativeScript/nativescript-cli/issues/5630)) ([02d179a](https://github.com/NativeScript/nativescript-cli/commit/02d179a358297d099f1e2d2377b042db374edcad)) +* build transient native dependencies ([#5643](https://github.com/NativeScript/nativescript-cli/issues/5643)) ([1435eef](https://github.com/NativeScript/nativescript-cli/commit/1435eef272aced36e7f97a355ff5c7ea936f94e7)) +* bump migrate versions for 8.2.0 ([#5645](https://github.com/NativeScript/nativescript-cli/issues/5645)) ([6726ccc](https://github.com/NativeScript/nativescript-cli/commit/6726ccc3816afd17369633eb94e2c28735984efa)) +* compute and log build time ([#5602](https://github.com/NativeScript/nativescript-cli/issues/5602)) ([fb0a7b8](https://github.com/NativeScript/nativescript-cli/commit/fb0a7b80a0710226b57627246df7470c67ad4c8a)) +* improved --json output from devices ([#5565](https://github.com/NativeScript/nativescript-cli/issues/5565)) ([8446795](https://github.com/NativeScript/nativescript-cli/commit/84467951331982cc001504e078df23865bb25f31)) +* reduce aar size by removing R.class and BuildConfig.class ([#5644](https://github.com/NativeScript/nativescript-cli/issues/5644)) ([9ad80bf](https://github.com/NativeScript/nativescript-cli/commit/9ad80bfedf1f9e8c726ef8a546da2132c2b40897)) +* **android:** add gradle 7+ support ([#5614](https://github.com/NativeScript/nativescript-cli/issues/5614)) ([be6706a](https://github.com/NativeScript/nativescript-cli/commit/be6706af99c89765f3773e7e324a70037b2ec7b8)) +* **clean:** allow overriding pathsToClean in config ([b33507d](https://github.com/NativeScript/nativescript-cli/commit/b33507d703ce416e0c89423d55a2ad9d8f085a31)) +* **typings:** support --aar inputs ([#5641](https://github.com/NativeScript/nativescript-cli/issues/5641)) ([67fdd0a](https://github.com/NativeScript/nativescript-cli/commit/67fdd0afd05492543e74584f54986a274131c723)) +* launch last used simulator instead of iPhone 6 ([289317d](https://github.com/NativeScript/nativescript-cli/commit/289317d3bc3e78fe31de477f01bd8f452dd68512)) + + +### Performance Improvements + +* doctor cache runtimeVersion ([#5642](https://github.com/NativeScript/nativescript-cli/issues/5642)) ([3063550](https://github.com/NativeScript/nativescript-cli/commit/306355042065435348c77fefe163429c6164c643)) + + + +## [8.1.5](https://github.com/NativeScript/nativescript-cli/compare/v8.1.4...v8.1.5) (2021-11-26) + + +### Bug Fixes + +* **clean:** report failures to remove item ([#5601](https://github.com/NativeScript/nativescript-cli/issues/5601)) ([3902257](https://github.com/NativeScript/nativescript-cli/commit/3902257b335a0b652bda6ebfcf35585c02e05fb9)) +* **config:** handle invalid/unset projectDir ([b844498](https://github.com/NativeScript/nativescript-cli/commit/b8444986f34d1552b68a9257a4a4224d1f799abe)) +* **migrate:** create polyfills.ts if missing for angular projects ([#5593](https://github.com/NativeScript/nativescript-cli/issues/5593)) ([8728335](https://github.com/NativeScript/nativescript-cli/commit/87283355bba2e0a7bfa487fee15dfa82798db755)) + + +### Features + +* `ns -v --json` to skip update checks ([d7330b0](https://github.com/NativeScript/nativescript-cli/commit/d7330b0cdb4ca392b8b3f6c81b49ae1a0eb3a07a)) +* github issue forms ([#5609](https://github.com/NativeScript/nativescript-cli/issues/5609)) ([676630b](https://github.com/NativeScript/nativescript-cli/commit/676630bcb86203c532c52dd004d2ccd78cc17e6b)) +* nativescript-envinfo package ([#5600](https://github.com/NativeScript/nativescript-cli/issues/5600)) ([fd3b3a8](https://github.com/NativeScript/nativescript-cli/commit/fd3b3a86de02e512471158aa1fe501ec49c5c6e7)) +* unit-test-runner 3.0 with optional coverage report handling ([#5610](https://github.com/NativeScript/nativescript-cli/issues/5610)) ([ae7f286](https://github.com/NativeScript/nativescript-cli/commit/ae7f28634ca3de0167c309d2019cf7f78e3fc2c5)) +* **config:** cli.packageManager override support ([#5596](https://github.com/NativeScript/nativescript-cli/issues/5596)) ([3c03579](https://github.com/NativeScript/nativescript-cli/commit/3c035794489c26fe9100b30d011b7eaa94f4b353)) +* **hooks:** project persistent hooks in config ([#5597](https://github.com/NativeScript/nativescript-cli/issues/5597)) ([97bbe33](https://github.com/NativeScript/nativescript-cli/commit/97bbe3388fa150c7818fbe24e4220c9a6238267b)) + + + +## [8.1.4](https://github.com/NativeScript/nativescript-cli/compare/v8.1.3...v8.1.4) (2021-10-11) + + +### Bug Fixes + +* **migrate:** loosen up migrate condition for missing dependencies ([96af85b](https://github.com/NativeScript/nativescript-cli/commit/96af85bc985ee0881bfc95eae96182d0638dbe01)) +* runtime version detection for tags ([#5587](https://github.com/NativeScript/nativescript-cli/issues/5587)) ([a0663f4](https://github.com/NativeScript/nativescript-cli/commit/a0663f4e8733eee748060f47d7358b4a37b4ce98)), closes [#5574](https://github.com/NativeScript/nativescript-cli/issues/5574) + + + +## [8.1.3](https://github.com/NativeScript/nativescript-cli/compare/v8.1.2...v8.1.3) (2021-09-30) + + +### Bug Fixes + +* **ios-publish:** update API ([#5580](https://github.com/NativeScript/nativescript-cli/issues/5580)) ([63acaa6](https://github.com/NativeScript/nativescript-cli/commit/63acaa6defdf610aecbd49abd59ef3185948720c)) +* **m1:** cocoapods command when installed natively ([#5584](https://github.com/NativeScript/nativescript-cli/issues/5584)) ([65dcf01](https://github.com/NativeScript/nativescript-cli/commit/65dcf01bb213c5c7b0581a1f92d7aba7fb3aec0c)) +* **metadata-filtering:** only add when there are items to add ([ab9fc0f](https://github.com/NativeScript/nativescript-cli/commit/ab9fc0f9b7fd3a4adde10c28d538518d61039107)) +* **test-execution-service:** canStartKarma condition ([c68d58e](https://github.com/NativeScript/nativescript-cli/commit/c68d58edff8023875d4b973d7b5c65528e550b66)) +* fix source map path ([#5583](https://github.com/NativeScript/nativescript-cli/issues/5583)) ([8ecb335](https://github.com/NativeScript/nativescript-cli/commit/8ecb33541cdf405f5769b7cfa7385423e512ae80)) +* require.resolve for packages with exports field in package.json ([#5579](https://github.com/NativeScript/nativescript-cli/issues/5579)) ([56ed35b](https://github.com/NativeScript/nativescript-cli/commit/56ed35b71323f25759d36e1e1750ed9cd267a66d)) +* source-map appPath prefix detection ([77a8ce7](https://github.com/NativeScript/nativescript-cli/commit/77a8ce77d1d3110b67c858b19651abfde71afe8c)) + + +### Features + +* allow plugin blacklist metadata ([#5582](https://github.com/NativeScript/nativescript-cli/issues/5582)) ([5e9de51](https://github.com/NativeScript/nativescript-cli/commit/5e9de518785717ae44aff85c900d06e1dbebf882)) + + + +## [8.1.2](https://github.com/NativeScript/nativescript-cli/compare/v8.1.1...v8.1.2) (2021-09-15) + + +### Bug Fixes + +* **http-client:** requests with no proxy configured ([#5573](https://github.com/NativeScript/nativescript-cli/issues/5573)) ([d5121b4](https://github.com/NativeScript/nativescript-cli/commit/d5121b4082ed49dfc5c8994005d938223d114f25)) + + + +## [8.1.1](https://github.com/NativeScript/nativescript-cli/compare/v8.1.0...v8.1.1) (2021-09-12) + + +### Bug Fixes + +* launching android 11 and 12 emulators ([f32642e](https://github.com/NativeScript/nativescript-cli/commit/f32642e8fa2eaf799c872da96a7240805fc164ad)) +* order package.json keys the right way on project creation ([e68dcc8](https://github.com/NativeScript/nativescript-cli/commit/e68dcc89826704d83cf03bdfc9f7112ecfc092cd)) +* **create-project:** local template handling ([4f8d644](https://github.com/NativeScript/nativescript-cli/commit/4f8d6440538f5687ef198b61605c4479da0e41f3)) +* gradle build error when building some plugins ([58a0e60](https://github.com/NativeScript/nativescript-cli/commit/58a0e60bcbb8f0ee4732a4947cb2a78241fc065f)) +* runtime versions with a range ([e0bbf1b](https://github.com/NativeScript/nativescript-cli/commit/e0bbf1b4548b235c9638cdf9688035c99e4552f9)) + + +### Features + +* **create-project:** allow --force to forcefully create git repo inside another one ([30d42d2](https://github.com/NativeScript/nativescript-cli/commit/30d42d253e13d071c33aba7aded7affd5695fe32)) +* **create-project:** cleaner post-create message ([7c8741e](https://github.com/NativeScript/nativescript-cli/commit/7c8741eae122983b495dc82bb559e540684cc315)) +* **create-project:** detect git repo before initializing and --no-git support ([6d9b7df](https://github.com/NativeScript/nativescript-cli/commit/6d9b7df1284ec8f7332f32d14079c6858a8859f1)) +* new ns update handling ([bff78e3](https://github.com/NativeScript/nativescript-cli/commit/bff78e32b0a5cf5cd2d01f6ff35c46b9373b7fe7)) +* updated migration rules ([b2d51da](https://github.com/NativeScript/nativescript-cli/commit/b2d51da373c4d81ffa75bb313c55ac50362beeb3)) + + +### Performance Improvements + +* implement a memoize decorator with smart caching ([6521671](https://github.com/NativeScript/nativescript-cli/commit/6521671f17e8c4dc16d7c6c3378d1814b6ab1cb4)) + + + +# [8.1.0](https://github.com/NativeScript/nativescript-cli/compare/v8.0.2...v8.1.0) (2021-09-08) + + +### Bug Fixes + +* autocompletion aliases ([1640eee](https://github.com/NativeScript/nativescript-cli/commit/1640eee23b4592f12500b88162de2f562ee5a8f8)) +* CFBundleIdentifier override warning ([e62784e](https://github.com/NativeScript/nativescript-cli/commit/e62784ed802cb3f63cb2b157980af11d7b91b2c1)) +* check for not installed dependencies using require.resolve ([1fc817f](https://github.com/NativeScript/nativescript-cli/commit/1fc817f0220507ae5454fa56e150ab4969410e88)) +* xcodebuild destination warning ([#5564](https://github.com/NativeScript/nativescript-cli/issues/5564)) ([943eec6](https://github.com/NativeScript/nativescript-cli/commit/943eec6d94410a4f57435d90b59e6c62a39d8634)) +* config detection ([404a511](https://github.com/NativeScript/nativescript-cli/commit/404a5114614826c1d32d63d20a212890b555f2d8)) +* enable terminal cursor when Ctrl+C during a prompt ([cfb80a2](https://github.com/NativeScript/nativescript-cli/commit/cfb80a2ab7a64e9c18c45385894403397c636f73)) +* properly handle missing App_Resources ([#5536](https://github.com/NativeScript/nativescript-cli/issues/5536)) ([0a112f3](https://github.com/NativeScript/nativescript-cli/commit/0a112f30043ac2c2516033bcf4275af0ec55d502)) +* race condition when getting iOS inspector port ([#5544](https://github.com/NativeScript/nativescript-cli/issues/5544)) ([8f8dd83](https://github.com/NativeScript/nativescript-cli/commit/8f8dd83dc6042e0f67952981da4cde5d11a582c7)), closes [#3701](https://github.com/NativeScript/nativescript-cli/issues/3701) +* remove ns preview note on project creation ([db53037](https://github.com/NativeScript/nativescript-cli/commit/db53037fbeffe739db95766681e4afad98681816)) +* windows path issue ([fa90b60](https://github.com/NativeScript/nativescript-cli/commit/fa90b60e0cbc30b633db6d94e69e71ad9dad0266)) +* **migrate:** nativescript-unit-test-runner & missing basePath ([#5537](https://github.com/NativeScript/nativescript-cli/issues/5537)) ([0be8aca](https://github.com/NativeScript/nativescript-cli/commit/0be8acab10792d031471d4f0d613547b4e91a3ad)) +* **typings:** spawn to work with Windows as well ([d6e431e](https://github.com/NativeScript/nativescript-cli/commit/d6e431e3a65f4b960d12caf124b7179eafcfa02b)) + + +### Features + +* add `--config` option ([#5554](https://github.com/NativeScript/nativescript-cli/issues/5554)) ([9f844ea](https://github.com/NativeScript/nativescript-cli/commit/9f844ea59140801fb7c83886a7ecb31ddd63e3e6)) +* **livesync:** support livesync in remote machine ([#5560](https://github.com/NativeScript/nativescript-cli/issues/5560)) ([4e94ad4](https://github.com/NativeScript/nativescript-cli/commit/4e94ad44945ce4490fad3e558f0ed55ef429310c)) +* **plugins:** allow plugins to use kotlin files ([#5555](https://github.com/NativeScript/nativescript-cli/issues/5555)) ([37e2dbb](https://github.com/NativeScript/nativescript-cli/commit/37e2dbb92b0ea6876f2281cbd9ff850d7700a551)) +* allow passing cli args when running in the iOS Simulator ([#5518](https://github.com/NativeScript/nativescript-cli/issues/5518)) ([6b700b4](https://github.com/NativeScript/nativescript-cli/commit/6b700b4090b181db0d0dc627573bb9b90750f61a)) +* allow tests to run on monorepos ([#5547](https://github.com/NativeScript/nativescript-cli/issues/5547)) ([bfa8e91](https://github.com/NativeScript/nativescript-cli/commit/bfa8e91de63206b15b0408c7cf4dd9ae0fedff13)) +* default template version based on cli major ([#5517](https://github.com/NativeScript/nativescript-cli/issues/5517)) ([2f1d876](https://github.com/NativeScript/nativescript-cli/commit/2f1d876c9008f18f19a9a130f28296ea5910fa0d)) +* ignoring native dependencies ([#5524](https://github.com/NativeScript/nativescript-cli/issues/5524)) ([6ba5cd6](https://github.com/NativeScript/nativescript-cli/commit/6ba5cd6d79d9e88dcb66e7d6c7defba2d41ec601)) +* ns typings command ([#5551](https://github.com/NativeScript/nativescript-cli/issues/5551)) ([4703cef](https://github.com/NativeScript/nativescript-cli/commit/4703cef32b779bb195429c459f7efb00a5ce7806)) + + +### Performance Improvements + +* remove duplicate plugins data ([#5563](https://github.com/NativeScript/nativescript-cli/issues/5563)) ([7d80902](https://github.com/NativeScript/nativescript-cli/commit/7d80902161e24ae92d0459620bdaa46077d1ffde)) + + + +## [8.0.2](https://github.com/NativeScript/nativescript-cli/compare/v8.0.1...v8.0.2) (2021-05-11) + + +### Bug Fixes + +* test init and karma conf for 8.0 with webpack5 ([#5528](https://github.com/NativeScript/nativescript-cli/issues/5528)) ([03d68d6](https://github.com/NativeScript/nativescript-cli/commit/03d68d6572f896c9cba6b95cb1bf204ce27bfc2b)) + + +### Features + +* --env.sourceMap custom values ([f32773d](https://github.com/NativeScript/nativescript-cli/commit/f32773db5899e3133395f1e27f82cead27c0a7b3)) + + + +## [8.0.1](https://github.com/NativeScript/nativescript-cli/compare/v8.0.0...v8.0.1) (2021-04-01) + + +### Bug Fixes + +* compat message updates ([7c475e6](https://github.com/NativeScript/nativescript-cli/commit/7c475e6de9c11e0cf428ee83390db0db89bf4249)) +* empty main fields during migrate ([7403e4d](https://github.com/NativeScript/nativescript-cli/commit/7403e4d16343df110d32d02653c188b8ac67978b)) + + +### Features + +* enable ESLint plugin in migrate ([d8537fa](https://github.com/NativeScript/nativescript-cli/commit/d8537faa1cc21f2fb6665aa2c136d129c589363a)) +* handle --env flags ([23fe6a3](https://github.com/NativeScript/nativescript-cli/commit/23fe6a3cc9b8f7624fffeb0be39301ebcc234291)) + + + +# [8.0.0](https://github.com/NativeScript/nativescript-cli/compare/v7.2.1...v8.0.0) (2021-03-31) + + +### Bug Fixes + +* handle caret and tilde in runtime versions ([#5501](https://github.com/NativeScript/nativescript-cli/issues/5501)) ([04eba0d](https://github.com/NativeScript/nativescript-cli/commit/04eba0deb50637a6402ee2bfb14243aad597ce0f)) + + +### Features + +* ns8 ([#5508](https://github.com/NativeScript/nativescript-cli/issues/5508)) ([10a2d2e](https://github.com/NativeScript/nativescript-cli/commit/10a2d2e3b4b6a6856b1f1898dbf9b180c0dd649b)) +* platform specific doctor ([#5505](https://github.com/NativeScript/nativescript-cli/issues/5505)) ([ff04446](https://github.com/NativeScript/nativescript-cli/commit/ff04446906f8d2b16d3d92e40ce2e97dc3aa98eb)) + + + +## [7.2.1](https://github.com/NativeScript/nativescript-cli/compare/v7.2.0...v7.2.1) (2021-03-11) + + +### Bug Fixes + +* npm7 peerDependecies ([5e2688f](https://github.com/NativeScript/nativescript-cli/commit/5e2688fd38dae9cd293e08afaa67018dc0d271c2)) +* ns update default to latest version ([#5497](https://github.com/NativeScript/nativescript-cli/issues/5497)) ([04202dc](https://github.com/NativeScript/nativescript-cli/commit/04202dcb8f828939205ccf58fb8121304e21d61a)) + + + +# [7.2.0](https://github.com/NativeScript/nativescript-cli/compare/v7.1.2...v7.2.0) (2021-02-05) + + +### Bug Fixes + +* default appPath in new projects ([#5466](https://github.com/NativeScript/nativescript-cli/issues/5466)) ([0675896](https://github.com/NativeScript/nativescript-cli/commit/0675896bf86327092b08377e9523c7be0fdc1332)) +* handle permissions error on directory creation ([#5480](https://github.com/NativeScript/nativescript-cli/issues/5480)) ([58e833d](https://github.com/NativeScript/nativescript-cli/commit/58e833d64787bbd29b3792b7550e8923ed141f52)) +* tgz runtime resolution ([101bfae](https://github.com/NativeScript/nativescript-cli/commit/101bfae8279f81912512fd6ac7839e033e41f8e5)) +* update setup requirements link ([#5459](https://github.com/NativeScript/nativescript-cli/issues/5459)) ([c8447cd](https://github.com/NativeScript/nativescript-cli/commit/c8447cdda5bc5c56a4021798ffe7cdfaedd8ebb7)) + + +### Features + +* -v checking for updates ([#5461](https://github.com/NativeScript/nativescript-cli/issues/5461)) ([2d6683c](https://github.com/NativeScript/nativescript-cli/commit/2d6683c984a032f631dc80bc935393ac347a4baa)) +* initialize git repo on project create ([#5468](https://github.com/NativeScript/nativescript-cli/issues/5468)) ([9f78c15](https://github.com/NativeScript/nativescript-cli/commit/9f78c15d031931d557dc7cfcf0561ce88eeac2ff)) +* warn invalid platform folders ([#5463](https://github.com/NativeScript/nativescript-cli/issues/5463)) ([fde4403](https://github.com/NativeScript/nativescript-cli/commit/fde440342f2b2205982506891533f58db5418e64)) + + +### Performance Improvements + +* initialize project data only if uninitialized ([#5478](https://github.com/NativeScript/nativescript-cli/issues/5478)) ([27c2f0c](https://github.com/NativeScript/nativescript-cli/commit/27c2f0cdfd1ea0a662e66551b86a3d8e4f630395)) +* validate update version before backup ([#5479](https://github.com/NativeScript/nativescript-cli/issues/5479)) ([d312f14](https://github.com/NativeScript/nativescript-cli/commit/d312f14e819ac5194eab9a7e5c7a19a980ed3fe4)) + + + +## [7.1.2](https://github.com/NativeScript/nativescript-cli/compare/v7.1.1...v7.1.2) (2021-01-04) + + +### Bug Fixes + +* prompter returning undefined instead of value ([#5457](https://github.com/NativeScript/nativescript-cli/issues/5457)) ([4cc4bca](https://github.com/NativeScript/nativescript-cli/commit/4cc4bcac62abbe328ddc9abb4816f0ed733c5269)) + + + +## [7.1.1](https://github.com/NativeScript/nativescript-cli/compare/v7.1.0...v7.1.1) (2020-12-30) + + +### Bug Fixes + +* prompter returning index instead of value ([c1d5a27](https://github.com/NativeScript/nativescript-cli/commit/c1d5a271a0b689d1e734e55363dbc55015ef102a)) + + + +# [7.1.0](https://github.com/NativeScript/nativescript-cli/compare/v7.0.12...v7.1.0) (2020-12-29) + + +### Features + +* **logs:** support external sourcemaps from `.map` files ([#5434](https://github.com/NativeScript/nativescript-cli/issues/5434)) ([de678cf](https://github.com/NativeScript/nativescript-cli/commit/de678cff9f9478f8f7960fc412984cc3d1921898)) +* fonts command ([#5452](https://github.com/NativeScript/nativescript-cli/issues/5452)) ([a6b0e3c](https://github.com/NativeScript/nativescript-cli/commit/a6b0e3cce55c6c7b6cecfffb9b9f231d48c5820b)) +* vue-ts-template ([#5453](https://github.com/NativeScript/nativescript-cli/issues/5453)) ([7cdaed7](https://github.com/NativeScript/nativescript-cli/commit/7cdaed74dba0d8c171fa43ae1597f803ed83cd73)) + + + +## [7.0.12](https://github.com/NativeScript/nativescript-cli/compare/v7.0.11...v7.0.12) (2020-12-19) + + +### Bug Fixes + +* Big Sur - iTunes is not installed ([799bb76](https://github.com/NativeScript/nativescript-cli/commit/799bb76aec76f6595d744614719f57a863d557aa)), closes [#5342](https://github.com/NativeScript/nativescript-cli/issues/5342) +* CFBundleName cannot be changed ([#5427](https://github.com/NativeScript/nativescript-cli/issues/5427)) ([ca32dc2](https://github.com/NativeScript/nativescript-cli/commit/ca32dc2f6b46b93be9df8d216a7d8ecbee200f1e)) +* ns update version null ([#5441](https://github.com/NativeScript/nativescript-cli/issues/5441)) ([6de0c3e](https://github.com/NativeScript/nativescript-cli/commit/6de0c3e513da0b91f4deef84748417a842c4bbf0)), closes [#5440](https://github.com/NativeScript/nativescript-cli/issues/5440) +* remove iTunesValidator ([#5439](https://github.com/NativeScript/nativescript-cli/issues/5439)) ([6b3da6e](https://github.com/NativeScript/nativescript-cli/commit/6b3da6e3c84bd2bfb69f26041866736e7208fb83)) + + +### Performance Improvements + +* use prompts instead of inquirer ([#5443](https://github.com/NativeScript/nativescript-cli/issues/5443)) ([ab24ece](https://github.com/NativeScript/nativescript-cli/commit/ab24ece0aaf5ad38b574c52bdd753728a1b6d72b)) + + + +## [7.0.11](https://github.com/NativeScript/nativescript-cli/compare/v7.0.10...v7.0.11) (2020-10-21) + + +### Bug Fixes + +* **plugin-build:** invalid path argument ([1fc3893](https://github.com/NativeScript/nativescript-cli/commit/1fc3893e5bff66816d195d28aeafa01f2649ba5d)), closes [#5387](https://github.com/NativeScript/nativescript-cli/issues/5387) +* asset generation alpha value ([#5420](https://github.com/NativeScript/nativescript-cli/issues/5420)) ([becbe60](https://github.com/NativeScript/nativescript-cli/commit/becbe6076ae2ad2bdd56a1bc6c5ee9b538240d04)) + + +### Features + +* add svelte support ([#5418](https://github.com/NativeScript/nativescript-cli/issues/5418)) ([08a0d91](https://github.com/NativeScript/nativescript-cli/commit/08a0d91775e9504410fb898c34fa7c6b8d514a2a)) +* migration rules for svelte-native ([#5372](https://github.com/NativeScript/nativescript-cli/issues/5372)) ([c5db5fe](https://github.com/NativeScript/nativescript-cli/commit/c5db5feff0069e8ae82bbfe0e770fe6c70ee42bc)) + + + +## [7.0.10](https://github.com/NativeScript/nativescript-cli/compare/7.0.9...7.0.10) (2020-10-03) + + +### Bug Fixes + +* **ios:** remove VALID_ARCHS from cocoapods for xcode 12 ([#5407](https://github.com/NativeScript/nativescript-cli/issues/5407)) ([03ecac9](https://github.com/NativeScript/nativescript-cli/commit/03ecac9dcde06f361f59ae990139906dc96a45f0)) + + + +## [7.0.9](https://github.com/NativeScript/nativescript-cli/compare/v7.0.9-rc.2...v7.0.9) (2020-10-03) + + +### Bug Fixes + +* exclude unsupported architectures from cocoapods ([#5405](https://github.com/NativeScript/nativescript-cli/issues/5405)) ([e866d70](https://github.com/NativeScript/nativescript-cli/commit/e866d709b8518161db4166d3ba0fe7c65e505d36)) +* platform sometimes not in lower case ([#5406](https://github.com/NativeScript/nativescript-cli/issues/5406)) ([21f48ab](https://github.com/NativeScript/nativescript-cli/commit/21f48abaa0a16363867f0715e3166f84479bdad8)), closes [#5391](https://github.com/NativeScript/nativescript-cli/issues/5391) + + +### Features + +* config manipulation commands ([#5402](https://github.com/NativeScript/nativescript-cli/issues/5402)) ([25410b7](https://github.com/NativeScript/nativescript-cli/commit/25410b74a411bfa04d0aa968d47e2bd5a3c2cd1a)) + + + +## [7.0.8](https://github.com/NativeScript/nativescript-cli/compare/v7.0.7...v7.0.8) (2020-09-12) + + +### Bug Fixes + +* **migrate:** filter out keys from invalid nested package.json ([685d3c9](https://github.com/NativeScript/nativescript-cli/commit/685d3c9d67eea93ac919d799c999354d83032412)) +* try use emitted packagejson's main field ([9641bea](https://github.com/NativeScript/nativescript-cli/commit/9641bea992e05978dbb64d28dc7d60bf14ea2f76)) + + + +## [7.0.7](https://github.com/NativeScript/nativescript-cli/compare/v7.0.6...v7.0.7) (2020-09-09) + + +### Bug Fixes + +* platform clean not adding the platform back ([#5383](https://github.com/NativeScript/nativescript-cli/issues/5383)) ([daea022](https://github.com/NativeScript/nativescript-cli/commit/daea022875c996e1d521238d6587c2e45a1f8336)), closes [#5365](https://github.com/NativeScript/nativescript-cli/issues/5365) +* **doctor:** cannot read property 'filter' of null ([#5374](https://github.com/NativeScript/nativescript-cli/issues/5374)) ([dd09547](https://github.com/NativeScript/nativescript-cli/commit/dd095473daca8436979e8dd95d87f69c1fbf5f9c)), closes [#5366](https://github.com/NativeScript/nativescript-cli/issues/5366) + + +### Features + +* clean up legacy nsconfig if created for bw compat ([#5380](https://github.com/NativeScript/nativescript-cli/issues/5380)) ([233091b](https://github.com/NativeScript/nativescript-cli/commit/233091b2d33447b9e5b060c05d19dcb95c9f7431)) +* migrate tsconfig.json for ns7 projects ([#5378](https://github.com/NativeScript/nativescript-cli/issues/5378)) ([8491b07](https://github.com/NativeScript/nativescript-cli/commit/8491b072210bf6db4007d7737ae0d875624c5147)) +* pass current CLI public lib path to webpack env ([#5381](https://github.com/NativeScript/nativescript-cli/issues/5381)) ([6f91984](https://github.com/NativeScript/nativescript-cli/commit/6f91984c90ac65786e5679cadf98341cccabb84e)) + + + +## [7.0.6](https://github.com/NativeScript/nativescript-cli/compare/v7.0.5...v7.0.6) (2020-09-04) + +### Bug Fixes + +* Forced gradle scripts to LF instead of CRLF + +## [7.0.5](https://github.com/NativeScript/nativescript-cli/compare/v7.0.4...v7.0.5) (2020-09-04) + + +### Bug Fixes + +* account for platform specific ids from package.json ([6f64d20](https://github.com/NativeScript/nativescript-cli/commit/6f64d20e149a3e6899f84dc257ed7db7fbe41aef)) +* app id migration when using separate ids ([06e238f](https://github.com/NativeScript/nativescript-cli/commit/06e238f175c4b5edaffa04d8f73f96fddcf0550c)) +* missing gradle properties option useAndroidX ([#5369](https://github.com/NativeScript/nativescript-cli/issues/5369)) ([d0916ce](https://github.com/NativeScript/nativescript-cli/commit/d0916cebdb88a22a85c883225ed189f5479f6d78)) +* pnpm support for installing dev deps ([d863107](https://github.com/NativeScript/nativescript-cli/commit/d863107e7211899e4cdfc71986051ede63c3f464)) + + +### Features + +* improved migrations ([b5f66d9](https://github.com/NativeScript/nativescript-cli/commit/b5f66d9ca9de24921d7b0340d5fdf9efebf1f1e9)) + + +## [7.0.4](https://github.com/NativeScript/nativescript-cli/compare/v7.0.3...v7.0.4) (2020-09-04) + + +### Bug Fixes + +* various fixes ([f796781](https://github.com/NativeScript/nativescript-cli/commit/f79678120f93c723fe04699d5b545266e824598c)) + + + +## [7.0.3](https://github.com/NativeScript/nativescript-cli/compare/v7.0.2...v7.0.3) (2020-09-04) + + +### Bug Fixes + +* ENOENT reading from non existent nativescript.config.js ([e063be9](https://github.com/NativeScript/nativescript-cli/commit/e063be964ae98df557f8615947dc58bf783cd41d)) + + +### Features + +* improved migrations for app path and resource paths ([d1729cf](https://github.com/NativeScript/nativescript-cli/commit/d1729cfee78c2e2b0d183651acf67faddf8ed27c)) + + + +## [7.0.2](https://github.com/NativeScript/nativescript-cli/compare/v7.0.1...v7.0.2) (2020-09-04) + + +### Bug Fixes + +* --help ([419ecda](https://github.com/NativeScript/nativescript-cli/commit/419ecdae3428bff0d4da0ad7c6a14cfb48af567b)) +* project detection ([95812b8](https://github.com/NativeScript/nativescript-cli/commit/95812b8203a01312aa33e6143e6316775b271d58)) +* update should update runtime versions ([5e15627](https://github.com/NativeScript/nativescript-cli/commit/5e15627be81f164444b0525dbd0a322185b46d6d)) + + +### Features + +* auto format config after change with prettier + detect user prettier config ([b882ac8](https://github.com/NativeScript/nativescript-cli/commit/b882ac871278eb6155be48eeeffe281d8be7970a)) + + + +## [7.0.1](https://github.com/NativeScript/nativescript-cli/compare/v7.0.0...v7.0.1) (2020-09-04) + + +### Bug Fixes + +* version format to use v instead of @ ([3fca107](https://github.com/NativeScript/nativescript-cli/commit/3fca107b31d914d307565ea39e8e01533af7eadb)) + + + +# [7.0.0](https://github.com/NativeScript/nativescript-cli/compare/v6.7.8...v7.0.0) (2020-09-04) + + +### Bug Fixes + +* broken test due to missing dependency ([21839ff](https://github.com/NativeScript/nativescript-cli/commit/21839ff106ca0977e737ae0bc0a1c6aa1176e03e)) +* failing tests ([82f5c5a](https://github.com/NativeScript/nativescript-cli/commit/82f5c5a3e71932d0426cad46f7f34fcd693c06f1)) +* failing tests + config service stub ([aea3714](https://github.com/NativeScript/nativescript-cli/commit/aea37144535fc79a07a3ff17e9ad841a88a270a3)) +* global Error extension and Function injection ([ed5b8d3](https://github.com/NativeScript/nativescript-cli/commit/ed5b8d32583573cf85301ce9e10fb80ae3d9a325)) +* plugin service tests and config reading ([aaee65e](https://github.com/NativeScript/nativescript-cli/commit/aaee65e1274bccd414d3821d4155962f8ba0ea2c)) +* properly resolve bundle id ([6d97a5f](https://github.com/NativeScript/nativescript-cli/commit/6d97a5f5f28d86b163ebae20b03e8a0bd104eeab)) +* runtime name/version parse ([2cda1e6](https://github.com/NativeScript/nativescript-cli/commit/2cda1e64c58d582821a05cf2bb01a980304bdc70)) +* scoped runtimes, project detection, frameworkPath ([8805f1e](https://github.com/NativeScript/nativescript-cli/commit/8805f1ecf7da83483d26a66ac8fe367950cee7b4)) +* unit-tests ([092f3f4](https://github.com/NativeScript/nativescript-cli/commit/092f3f4a4411a414d3c67d033c45f9ac16ed3426)) +* update runtime package.json when config changes ([299c1f5](https://github.com/NativeScript/nativescript-cli/commit/299c1f561956cf51d284faf5a754e69df7327ad0)) + + +### Features + +* add 'ns' alias ([b0acd67](https://github.com/NativeScript/nativescript-cli/commit/b0acd6749826d0bca6460970469ef6b279e6e3b5)) +* add 'nsc' alias ([c8c2d94](https://github.com/NativeScript/nativescript-cli/commit/c8c2d94783085c485743123a8a86285886b5b36c)) +* config file handling ([011b02b](https://github.com/NativeScript/nativescript-cli/commit/011b02b59f2b4a9fe9fa78efd1d703c28ac9cb6a)) +* config manipulation ([90ac914](https://github.com/NativeScript/nativescript-cli/commit/90ac9147064e9fbc94d06c7e9390b67ab3506626)) +* passing appPath and appResourcesPath through gradle args ([e915a93](https://github.com/NativeScript/nativescript-cli/commit/e915a93cda7418d8f7c2b82f58f7930897db28bc)) +* use scoped app templates and fix create project appid ([e0f8f0f](https://github.com/NativeScript/nativescript-cli/commit/e0f8f0fcfadcecc66441b6c79d5561a482b5cd04)) +* **webpack:** use scoped @nativescript/webpack ([8307d78](https://github.com/NativeScript/nativescript-cli/commit/8307d78a1fe7954709ec9bf1dcfcabd68cc832e5)) + + + ## [6.7.8](https://github.com/NativeScript/nativescript-cli/compare/v6.7.7...v6.7.8) (2020-06-27) @@ -48,7 +924,7 @@ NativeScript CLI Changelog ================ -6.4.1 (2020, February 21) +6.5.0 (2020, May 22) === ### New @@ -57,9 +933,6 @@ NativeScript CLI Changelog ### Fixed -* [Fixed #5236](https://github.com/NativeScript/nativescript-cli/issues/5236): File paths from device logs are not clickable -* [Fixed #5251](https://github.com/NativeScript/nativescript-cli/issues/5251): External files are not livesynced -* [Fixed #5252](https://github.com/NativeScript/nativescript-cli/issues/5252): Logs from platform specific files point to incorrect file * [Fixed #5259](https://github.com/NativeScript/nativescript-cli/issues/5259): Unable to use pnpm on macOS and Linux * [Fixed #5260](https://github.com/NativeScript/nativescript-cli/issues/5260): `tns package-manager set invalid_value` does not say pnpm is supported * [Fixed #5261](https://github.com/NativeScript/nativescript-cli/issues/5261): `tns package-manager set ` does not give any output @@ -68,6 +941,16 @@ NativeScript CLI Changelog * [Fixed #5264](https://github.com/NativeScript/nativescript-cli/issues/5264): `tns package-manager --help` fails with error +6.4.1 (2020, February 25) +=== + +### Fixed + +* [Fixed #5236](https://github.com/NativeScript/nativescript-cli/issues/5236): File paths from device logs are not clickable +* [Fixed #5251](https://github.com/NativeScript/nativescript-cli/issues/5251): External files are not livesynced +* [Fixed #5252](https://github.com/NativeScript/nativescript-cli/issues/5252): Logs from platform specific files point to incorrect file + + 6.4.0 (2020, February 11) === diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4c432154ab..8cc5756fd9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -95,12 +95,12 @@ When the patch is reviewed and merged, you can safely delete your branch and pul Updating the CLI Documentation === -The CLI documentation is what you see when running the `tns help` command. +The CLI documentation is what you see when running the `ns help` command. This documentation is distributed as part of the CLI package and is generated from the *.md files that can be found in man_pages folder The output of the documentation is html static pages that are generated on post install hook of the CLI installation. In addition, documentation generation is triggered every time there is no html article for the respective help command that is executed. -In order to see a change applied in your development workspace after editing the *.md files, you can use the `tns dev-generate-help` command. +In order to see a change applied in your development workspace after editing the *.md files, you can use the `ns dev-generate-help` command. This will trigger regeneration of all html files on your local environment. Mind that you need to run from the /bin folder of the nativescript_cli. [Back to Top][1] diff --git a/Gruntfile.js b/Gruntfile.js index a49b6f0149..a08b50c319 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -2,7 +2,8 @@ const childProcess = require("child_process"); const EOL = require("os").EOL; const path = require("path"); const now = new Date().toISOString(); -const latestVersion = require('latest-version'); +const manifest = require('pacote').manifest; + const ENVIRONMENTS = { live: "live", @@ -247,15 +248,38 @@ function registerTestingDependenciesTasks(grunt) { const generatedVersionFilePath = path.join(configsBasePath, "test-deps-versions-generated.json"); grunt.registerTask("generate_unit_testing_dependencies", async function () { - var done = this.async(); + const done = this.async(); + const dependenciesVersions = {}; - const testDependencies = grunt.file.readJSON(path.join(configsBasePath, "test-dependencies.json")); - for (var dependency of testDependencies) { - const dependencyVersion = dependency.version || await latestVersion(dependency.name); - dependenciesVersions[dependency.name] = dependencyVersion; + let testDependencies; + + try { + testDependencies = grunt.file.readJSON(path.join(configsBasePath, "test-dependencies.json")); + } catch (err) { + grunt.log.error("Could not read test-dependencies.json:", err); + return done(false); } - grunt.file.write(generatedVersionFilePath, JSON.stringify(dependenciesVersions)); - done(); + + (async () => { + try { + for (const dep of testDependencies) { + if (dep.version) { + dependenciesVersions[dep.name] = dep.version; + } else { + dependenciesVersions[dep.name] = await latestVersion(dep.name); + } + } + grunt.file.write( + generatedVersionFilePath, + JSON.stringify(dependenciesVersions, null, 2) + ); + grunt.log.writeln("Wrote", generatedVersionFilePath); + done(); + } catch (err) { + grunt.log.error(err); + done(false); + } + })(); }); grunt.registerTask("verify_unit_testing_dependencies", function () { @@ -265,3 +289,9 @@ function registerTestingDependenciesTasks(grunt) { }); } +async function latestVersion(name) { + // only fetches the package.json for the latest dist-tag + const { version } = await manifest(name.toLowerCase(), { fullMetadata: false }); + return version; +} + diff --git a/LICENSE b/LICENSE index 061c440288..451412229a 100755 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright (c) 2015-2019 Progress Software Corporation + Copyright (c) 2020, nStudio, LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -198,4 +198,4 @@ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file + limitations under the License. diff --git a/PublicAPI.md b/PublicAPI.md index d9faad77eb..b59cba2fe3 100644 --- a/PublicAPI.md +++ b/PublicAPI.md @@ -4,7 +4,7 @@ Public API This document describes all methods that can be invoked when NativeScript CLI is required as library, i.e. ```JavaScript -const tns = require("nativescript"); +const ns = require("nativescript"); ``` # Contents @@ -221,15 +221,14 @@ Returns an IProjectData object that is initialized with the provided package.jso /** * Returns an initialized IProjectData object containing data about the NativeScript project in the provided projectDir * @param {string} packageJsonContent The content of the project.json file in the root of the project - * @param {string} nsconfigContent The content of the nsconfig.json file in the root of the project * @param {string} projectDir The path to the project * @returns {IProjectData} Information about the NativeScript project */ -getProjectDataFromContent(packageJsonContent: string, nsconfigContent: string, projectDir?: string): IProjectData +getProjectDataFromContent(packageJsonContent: string, projectDir?: string): IProjectData ``` ### getNsConfigDefaultContent -Returns the default content of "nsconfig.json" merged with the properties provided by the the `data` argument. +Returns the default content of "nsconfig.json" merged with the properties provided by the `data` argument. * Definition: ```TypeScript /** @@ -1515,8 +1514,8 @@ setCleanupLogFile(filePath: string): void; * Usage ```JavaScript -const tns = require("nativescript"); -tns.cleanupService.setCleanupLogFile("/Users/username/cleanup-logs.txt"); +const ns = require("nativescript"); +ns.cleanupService.setCleanupLogFile("/Users/username/cleanup-logs.txt"); ``` ## initializeService @@ -1545,18 +1544,18 @@ interface IInitializeService { * Usage * Initialization without passing any data - `logger` will be initialized with default CLI settings. Warnings will be printed if there are any. ```JavaScript - const tns = require("nativescript"); - tns.initializeService.initialize(); + const ns = require("nativescript"); + ns.initializeService.initialize(); ``` * Initialize with custom settings service options: ```JavaScript - const tns = require("nativescript"); - tns.initializeService.initialize({ settingsServiceOptions: { profileDir: "/Users/username/customDir", userAgentName: "MyApp" } }); + const ns = require("nativescript"); + ns.initializeService.initialize({ settingsServiceOptions: { profileDir: "/Users/username/customDir", userAgentName: "MyApp" } }); ``` * Initialize with custom extensibility path: ```JavaScript - const tns = require("nativescript"); - tns.initializeService.initialize({ extensibilityOptions: { pathToExtensions: "/Users/username/customDir/extensions" } }); + const ns = require("nativescript"); + ns.initializeService.initialize({ extensibilityOptions: { pathToExtensions: "/Users/username/customDir/extensions" } }); ``` ## logger @@ -1634,7 +1633,7 @@ The `emit-appender` is used to emit the log events through a passed emitter inst * Usage: ```JavaScript -const tns = require("nativescript"); +const ns = require("nativescript"); const { EventEmitter } = require("events"); const { EMIT_APPENDER_EVENT_NAME, LoggerAppenders } = tns.constants; const emitter = new EventEmitter(); @@ -1647,7 +1646,7 @@ emitter.on(EMIT_APPENDER_EVENT_NAME, (logData) => { } }); -const logger = tns.logger; +const logger = ns.logger; logger.initialize({ appenderOptions: { type: LoggerAppenders.emitAppender, @@ -1656,18 +1655,18 @@ logger.initialize({ }); ``` -> NOTE: In several cases CLI passes additional configuration properties in the `context` of the `loggingEvent`. Full list is available in the `tns.constants.LoggerConfigData` object. These properties are used by CLI's layout and appender to change the way the message is printed on the terminal and if it should be on stderr or stdout. +> NOTE: In several cases CLI passes additional configuration properties in the `context` of the `loggingEvent`. Full list is available in the `ns.constants.LoggerConfigData` object. These properties are used by CLI's layout and appender to change the way the message is printed on the terminal and if it should be on stderr or stdout. #### cli-appender `cli-appender` prints messages to stdout or stderr based on the passed options for the message. * Usage ```JavaScript -const tns = require("nativescript"); +const ns = require("nativescript"); const { EventEmitter } = require("events"); -const { EMIT_APPENDER_EVENT_NAME, LoggerAppenders } = tns.constants; +const { EMIT_APPENDER_EVENT_NAME, LoggerAppenders } = ns.constants; -const logger = tns.logger; +const logger = ns.logger; logger.initialize({ appenderOptions: { type: LoggerAppenders.cliAppender, @@ -1686,7 +1685,7 @@ log4js.addLayout("myCustomLayout", (config) => { } }); -tns.logger.initialize({ appenderOptions: { layout: { type: "myCustomLayout" } } }); +ns.logger.initialize({ appenderOptions: { layout: { type: "myCustomLayout" } } }); ``` ## How to add a new method to Public API diff --git a/README.md b/README.md index 03d3b51cb2..55da5866a1 100644 --- a/README.md +++ b/README.md @@ -1,56 +1,72 @@

-
- Nativescript Logo -
-
- NativeScript Command-Line Interface -
+ Nativescript Logo

-

The NativeScript CLI lets you create, build, and deploy NativeScript-based apps on iOS and Android devices.

+

The NativeScript CLI lets you create, build, and deploy NativeScript apps.

-

+ + +--- -

-Build Status +

+ npm version + license + downloads

Get it using: `npm install -g nativescript` - -* [What is NativeScript](#what-is-nativescript "Quick overview of NativeScript, the JavaScript framework for cross-platform development of native iOS and Android apps") -* [How the NativeScript CLI works](#how-the-nativescript-cli-works "How the CLI works in more detail") -* [Supported Platforms](#supported-platforms "The mobile platforms you can target with NativeScript") -* [System Requirements](#system-requirements "The hardware and software requirements for setting up and working with the NativeScript CLI") -* [Installation](#installation "How to configure and install the NativeScript CLI") - * [Install the NativeScript CLI](#install-the-nativescript-cli) - * [Configure Proxy Usage](#configure-proxy-settings) -* [Quick Start](#quick-start "Get started with the NativeScript CLI") - * [The Commands](#the-commands) - * [Create Project](#create-project) - * [Develop Your Project](#develop-your-project) - * [Build Your Project](#build-your-project) - * [Run Your Project](#run-your-project) -* [Extending the CLI](#extending-the-cli) -* [Troubleshooting](#troubleshooting) -* [How to Contribute](#how-to-contribute) -* [How to Build](#how-to-build) -* [Get Help](#get-help) -* [License](#license) +- [What is NativeScript](#what-is-nativescript) +- [How the NativeScript CLI works](#how-the-nativescript-cli-works) +- [Supported Platforms](#supported-platforms) +- [System Requirements](#system-requirements) +- [Installation](#installation) + - [Install the NativeScript CLI](#install-the-nativescript-cli) + - [Configure Proxy Settings](#configure-proxy-settings) + - [Set Proxy Settings](#set-proxy-settings) + - [Attributes](#attributes) + - [Options](#options) + - [Limitations](#limitations) + - [Display Current Proxy Settings](#display-current-proxy-settings) + - [Clear Proxy Settings](#clear-proxy-settings) +- [Quick Start](#quick-start) + - [The Commands](#the-commands) + - [Create Project](#create-project) + - [Develop Your Project](#develop-your-project) + - [Development with NativeScript](#development-with-nativescript) + - [Development in `app`](#development-in-app) + - [Development in `platforms`](#development-in-platforms) + - [Modifying Configuration Files](#modifying-configuration-files) + - [Modifying Entitlements File (iOS only)](#modifying-entitlements-file-ios-only) + - [Build Your Project](#build-your-project) + - [Run Your Project](#run-your-project) +- [Extending the CLI](#extending-the-cli) +- [Troubleshooting](#troubleshooting) +- [How to Contribute](#how-to-contribute) +- [How to Build](#how-to-build) +- [Get Help](#get-help) +- [License](#license) What is NativeScript === -NativeScript is a cross-platform JavaScript framework that lets you develop native iOS and Android apps from a single code base. The framework provides JavaScript access to the native APIs, user interface, and rendering engines of iOS and Android. By using JavaScript or TypeScript, you can create one project that builds into an iOS or Android app with completely native user experience. +NativeScript provides platform APIs directly to the JavaScript runtime (_with strong types_) for a rich TypeScript development experience. + +Some popular use cases: + +- Building Web, iOS, Android and Vision Pro apps with a shared codebase (aka, cross platform apps) +- Building native platform apps with portable JavaScript skills +- Augmenting JavaScript projects with platform API capabilities +- AndroidTV and Watch development +- watchOS development +- Learning native platforms through JavaScript understanding +- Exploring platform API documentation by trying APIs [directly from a web browser](https://preview.nativescript.org/) without requiring a platform development machine setup. To learn more about NativeScript, you can check the following resources: * [The NativeScript web page][2] -* [NativeScript - a Technical Overview][7] -* [Announcing NativeScript - cross-platform framework for building native mobile applications][8] -* The NativeScript [Documentation repo][3] and [Documentation portal][4] -* [The NativeScript FAQ][6] +* The NativeScript [Documentation][4] and contributing to [docs via the repo](https://github.com/NativeScript/docs) [Back to Top][1] @@ -84,9 +100,9 @@ System Requirements You can install and run the NativeScript CLI on Windows, macOS or Linux. -* [Windows](https://docs.nativescript.org/start/ns-setup-win) -* [macOS](https://docs.nativescript.org/start/ns-setup-os-x) -* [Linux](https://docs.nativescript.org/start/ns-setup-linux) +* [Windows](https://docs.nativescript.org/setup/windows) +* [macOS](https://docs.nativescript.org/setup/macos) +* [Linux](https://docs.nativescript.org/setup/linux) Installation === @@ -97,7 +113,7 @@ The NativeScript CLI is available for installing as an npm package. In the command prompt, run the following command. -OS | Node.js installed from http://nodejs.org/ | Node.js installed via package manager +OS | Node.js installed from https://nodejs.org/ | Node.js installed via package manager ---|---------------------|---- Windows | `npm install nativescript -g` | `npm install nativescript -g` macOS | `sudo npm install nativescript -g --unsafe-perm` | `npm install nativescript -g` @@ -106,7 +122,7 @@ Linux | `sudo npm install nativescript -g --unsafe-perm` | `npm install nativesc To check if your system is configured properly, run the following command. ```Shell -tns doctor +ns doctor ``` ## Configure Proxy Settings @@ -116,7 +132,7 @@ If you are working with the NativeScript CLI behind a web proxy, you need to con ### Set Proxy Settings ```Shell -tns proxy set +ns proxy set ``` #### Attributes @@ -143,13 +159,13 @@ The --insecure flag allows you to perform insecure SSL connections ### Display Current Proxy Settings ```Shell -tns proxy +ns proxy ``` ### Clear Proxy Settings ```Shell -tns proxy clear +ns proxy clear ``` [Back to Top][1] @@ -165,7 +181,7 @@ Quick Start ## The Commands -Run `tns help` to view all available commands in the browser. Run `tns help ` to view more information about a selected command in the browser. `tns --help` opens console help, where help information is shown in the console. +Run `ns help` to view all available commands in the browser. Run `ns help ` to view more information about a selected command in the browser. `ns --help` opens console help, where help information is shown in the console. [Back to Top][1] @@ -174,28 +190,28 @@ Run `tns help` to view all available commands in the browser. Run `tns help `, the NativeScript CLI prepares relevant content to the platform-specific folders for each target platform. +* The `src` directory (or sometimes `app` folder) is the **development space for your application**. You should modify all common and platform-specific code within this directory. When you run `prepare `, the NativeScript CLI prepares relevant content to the platform-specific folders for each target platform. * The `platforms` directory is created empty. When you add a target platform to your project, the NativeScript CLI creates a new subdirectory with the platform name. The subdirectory contains the ready-to-build resources of your app. When you run `prepare `, the NativeScript CLI prepares relevant content from the `app` directory to the platform-specific subdirectory for each target platform. [Back to Top][1] @@ -243,13 +259,13 @@ You can develop shared functionality or design in common files. To indicate that ### Modifying Configuration Files -The NativeScript CLI respects any platform configuration files placed inside `app/App_Resources`. +The NativeScript CLI respects any platform configuration files placed inside `App_Resources`. ### Modifying Entitlements File (iOS only) -To specify which Capabilities are required by your App - Maps, Push Notifications, Wallet and etc. you can add or edit the `app.entitlements` file placed inside `app/App_Resources/iOS`. When building the project, the default `app/App_Resources/iOS/app.entitlements` file gets merged with all Plugins entitlement files and a new `yourAppName.entitlements` is created in the platforms directory. The path would be `app/platforms/ios//.entitlements` and will be linked in the `build.xcconfig` file. +To specify which capabilities are required by your App - Maps, Push Notifications, Wallet etc. you can add or edit the `app.entitlements` file placed inside `App_Resources/iOS`. When building the project, the default `App_Resources/iOS/app.entitlements` file gets merged with all Plugins entitlement files and a new `yourAppName.entitlements` is created in the platforms directory. The path would be `platforms/ios//.entitlements` and will be linked in the `build.xcconfig` file. -You can always override the generated entitlements file, by pointing to your own entitlements file by setting the `CODE_SIGN_ENTITLEMENTS` property in the `app/App_Resources/iOS/build.xcconfig` file. +You can always override the generated entitlements file, by pointing to your own entitlements file by setting the `CODE_SIGN_ENTITLEMENTS` property in the `App_Resources/iOS/build.xcconfig` file. [Back to Top][1] @@ -258,15 +274,15 @@ You can always override the generated entitlements file, by pointing to your own You can build it for your target mobile platforms. ```Shell -tns build android -tns build ios +ns build android +ns build ios ``` The NativeScript CLI calls the SDK for the selected target platform and uses it to build your app locally. When you build for iOS, the NativeScript CLI will either build for a device, if there's a device attached, or for the native emulator if there are no devices attached. To trigger a native emulator build when a device is attached, set the `--emulator` flag. -> **IMPORTANT:** To build your app for an iOS device, you must configure a valid certificate and provisioning profile pair, and have that pair present on your system for code signing your application package. For more information, see [iOS Code Signing - A Complete Walkthrough](http://seventhsoulmountain.blogspot.com/2013/09/ios-code-sign-in-complete-walkthrough.html). +> **IMPORTANT:** To build your app for an iOS device, you must configure a valid certificate and provisioning profile pair, and have that pair present on your system for code signing your application package. For more information, see [iOS Code Signing - A Complete Walkthrough](https://seventhsoulmountain.blogspot.com/2013/09/ios-code-sign-in-complete-walkthrough.html). [Back to Top][1] @@ -277,7 +293,7 @@ You can test your work in progress on connected Android or iOS devices. To verify that the NativeScript CLI recognizes your connected devices, run the following command. ```Shell -tns devices +ns devices ``` The NativeScript CLI lists all connected physical devices and running emulators/simulators. @@ -285,8 +301,8 @@ The NativeScript CLI lists all connected physical devices and running emulators/ After you have listed the available devices, you can quickly run your app on connected devices by executing: ```Shell -tns run android -tns run ios +ns run android +ns run ios ``` [Back to Top][1] @@ -294,11 +310,11 @@ tns run ios Extending the CLI === -The NativeScript CLI lets you extend its behavior and customize it to fit your needs by using [hooks](https://en.wikipedia.org/wiki/Hooking). +The NativeScript CLI lets you extend its behavior and customize it to fit your needs by using [hooks](https://docs.nativescript.org/guide/hooks). -When you run one of the extendable commands (for example, `tns build`), the CLI checks for hooks and executes them. Plugins can also use hooks to control the compilation of the application package. +When you run one of the extendable commands (for example, `ns build`), the CLI checks for hooks and executes them. Plugins can also use hooks to control the compilation of the application package. -For more information, see the [Extending the CLI document](https://github.com/NativeScript/nativescript-cli/blob/master/extending-cli.md) +For more information, see the [Extending the CLI document](https://github.com/NativeScript/nativescript-cli/blob/main/extending-cli.md) [Back to Top][1] @@ -308,7 +324,7 @@ Troubleshooting If the NativeScript CLI does not behave as expected, you might be facing a configuration issue. For example, a missing `JAVA` path. To check if your system is configured properly for the NativeScript CLI, run the following command. ```bash -tns doctor +ns doctor ``` This command prints warnings about current configuration issues and provides basic information about how to resolve them. @@ -334,17 +350,18 @@ How to Build git clone https://github.com/NativeScript/nativescript-cli cd nativescript-cli npm run setup +npm run build ``` -To use the locally built CLI instead `tns` you can call `PATH_TO_CLI_FOLDER/bin/tns`. For example: -`PATH_TO_CLI_FOLDER/bin/tns run ios|android` +To use the locally built CLI instead of `ns` you can call `PATH_TO_CLI_FOLDER/bin/ns`. For example: +`PATH_TO_CLI_FOLDER/bin/ns run ios|android` [Back to Top][1] Get Help === -Please, use [github issues](https://github.com/NativeScript/nativescript-cli/issues) strictly for [reporting bugs](CONTRIBUTING.md#report-an-issue) or [requesting features](CONTRIBUTING.md#request-a-feature). For general NativeScript questions and support, check out [Stack Overflow](https://stackoverflow.com/questions/tagged/nativescript) or ask our experts in the [NativeScript community Slack channel](https://www.nativescript.org/slack-invitation-form). +Please, use [github issues](https://github.com/NativeScript/nativescript-cli/issues) strictly for [reporting bugs](CONTRIBUTING.md#report-an-issue) or [requesting features](CONTRIBUTING.md#request-a-feature). For general NativeScript questions and support, check out [Stack Overflow](https://stackoverflow.com/questions/tagged/nativescript) or ask our experts in the [NativeScript community Discord channel](https://nativescript.org/discord). [Back to Top][1] @@ -356,10 +373,7 @@ This software is licensed under the Apache 2.0 license, quoted --- -title: tns cloud setup +title: ns cloud setup position: 5 ---<% } %> -# tns cloud setup +# ns cloud setup ### Description @@ -13,13 +13,13 @@ Install the `nativescript-cloud extension` to configure your environment for clo Usage | Synopsis ------|------- -Install the `nativescript-cloud extension` | `$ tns cloud setup` -Log in for cloud builds (will open browser login form) | `$ tns login` -Log in for cloud builds (through the CLI) | `$ tns dev-login ` -Accept EULA agreement | `$ tns accept eula` -Perform iOS cloud build | `$ tns cloud build ios --accountId=` -Perform Android cloud build | `$ tns cloud build android --accountId=` -View accountId (after logging in) | `$ tns account` +Install the `nativescript-cloud extension` | `$ ns cloud setup` +Log in for cloud builds (will open browser login form) | `$ ns login` +Log in for cloud builds (through the CLI) | `$ ns dev-login ` +Accept EULA agreement | `$ ns accept eula` +Perform iOS cloud build | `$ ns cloud build ios --accountId=` +Perform Android cloud build | `$ ns cloud build android --accountId=` +View accountId (after logging in) | `$ ns account` ### Related Commands diff --git a/docs/man_pages/config/config-get.md b/docs/man_pages/config/config-get.md new file mode 100644 index 0000000000..e262e557a5 --- /dev/null +++ b/docs/man_pages/config/config-get.md @@ -0,0 +1,36 @@ +<% if (isJekyll) { %>--- +title: ns config get +position: 2 +---<% } %> + +# ns config get + +### Description + +Prints the value for a specific key from the project's NativeScript configuration. + +### Commands + +Usage | Synopsis +------|------- +General | `$ ns config get ` + +### Arguments + +* `` — The configuration key in dot-notation. Examples: `ios.id`, `android.codeCache`, `bundler`. + +### Examples + +* `$ ns config get ios.id` +* `$ ns config get android.codeCache` +* `$ ns config get bundler` + +<% if(isHtml) { %> + +### Related Commands + +Command | Description +----------|---------- +[config](config.html) | Lists all configuration values for the current project. +[config set](config-set.html) | Sets the value for the specified configuration key. +<% } %> \ No newline at end of file diff --git a/docs/man_pages/config/config-set.md b/docs/man_pages/config/config-set.md new file mode 100644 index 0000000000..ea7769f647 --- /dev/null +++ b/docs/man_pages/config/config-set.md @@ -0,0 +1,40 @@ +<% if (isJekyll) { %>--- +title: ns config set +position: 3 +---<% } %> + +# ns config set + +### Description + +Sets the value for a specific key in the project's NativeScript configuration. + +### Commands + +Usage | Synopsis +------|------- +General | `$ ns config set ` + +### Arguments + +* `` — The configuration key in dot-notation. Examples: `ios.id`, `android.codeCache`, `bundler`. +* `` — The value to set. Parsed as JSON when possible (e.g. `true`, `42`, `{ "foo": "bar" }`). Otherwise treated as a string. + +### Examples + +* `$ ns config set ios.id org.nativescript.myapp` +* `$ ns config set android.codeCache true` +* `$ ns config set bundler vite` + +### Notes + +* Setting whole objects is not supported. Update individual keys instead. For example, use: + `$ ns config set android.codeCache true` + +### Related Commands + +Command | Description +----------|---------- +[config](config.html) | Lists all configuration values for the current project. +[config get](config-get.html) | Prints the value for the specified configuration key. +<% } %> \ No newline at end of file diff --git a/docs/man_pages/config/config.md b/docs/man_pages/config/config.md new file mode 100644 index 0000000000..7b701e03d1 --- /dev/null +++ b/docs/man_pages/config/config.md @@ -0,0 +1,39 @@ +<% if (isJekyll) { %>--- +title: ns config +position: 1 +---<% } %> + +# ns config + +### Description + +View and manage your project's NativeScript configuration stored in `nativescript.config.(js|ts)` (or legacy `nsconfig.json`). + +### Commands + +Usage | Synopsis +------|--------- +List all config | `$ ns config` +Get a value | `$ ns config get ` +Set a value | `$ ns config set ` + +### Examples + +* `$ ns config` — prints all configuration values. +* `$ ns config get ios.id` — prints the iOS bundle identifier. +* `$ ns config set android.codeCache true` — enables Android V8 code cache. + +### Notes + +* Keys use dot-notation, for example: `ios.id`, `android.codeCache`, `bundler`. +* Values are parsed as JSON when possible. Use quotes for strings with spaces. + +<% if(isHtml) { %> + +### Related Commands + +Command | Description +----------|---------- +[config get](config-get.html) | Prints the value for the specified configuration key. +[config set](config-set.html) | Sets the value for the specified configuration key. +<% } %> \ No newline at end of file diff --git a/docs/man_pages/device/device-android.md b/docs/man_pages/device/device-android.md index 0499ec1103..2156bca320 100644 --- a/docs/man_pages/device/device-android.md +++ b/docs/man_pages/device/device-android.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns device android +title: ns device android position: 1 ---<% } %> -# tns device android +# ns device android ### Description @@ -13,7 +13,7 @@ Lists all recognized connected Android physical and running virtual devices with Usage | Synopsis ------|------- -General | `$ tns device android [--timeout ]` +General | `$ ns device android [--timeout ]` ### Options diff --git a/docs/man_pages/device/device-ios.md b/docs/man_pages/device/device-ios.md index bfa846e443..d6c4e2cabe 100644 --- a/docs/man_pages/device/device-ios.md +++ b/docs/man_pages/device/device-ios.md @@ -1,21 +1,21 @@ <% if (isJekyll) { %>--- -title: tns device ios +title: ns device ios position: 2 ---<% } %> -# tns device ios +# ns device ios ### Description Lists all recognized connected iOS devices with serial number and index. -<% if(isConsole && (isLinux)) { %>WARNING: You can run this command only on Windows and macOS systems. To view the complete help for this command, run `$ tns help device ios`<% } %> +<% if(isConsole && (isLinux)) { %>WARNING: You can run this command only on Windows and macOS systems. To view the complete help for this command, run `$ ns help device ios`<% } %> ### Commands Usage | Synopsis ------|------- -General | `$ tns device ios [--timeout ]` +General | `$ ns device ios [--timeout ]` <% if((isConsole && (isWindows || isMacOS)) || isHtml) { %> @@ -26,7 +26,7 @@ General | `$ tns device ios [--timeout ]` ### Command Limitations -* You can run `$ tns device ios` on Windows and OS X systems. +* You can run `$ ns device ios` on Windows and OS X systems. ### Related Commands diff --git a/docs/man_pages/device/device-list-applications.md b/docs/man_pages/device/device-list-applications.md index 1043777301..b74c2961ee 100644 --- a/docs/man_pages/device/device-list-applications.md +++ b/docs/man_pages/device/device-list-applications.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns device list-applications +title: ns device list-applications position: 3 ---<% } %> -# tns device list-applications +# ns device list-applications ### Description @@ -13,11 +13,11 @@ Lists the installed applications on all connected Android <% if(isWindows || isM Usage | Synopsis ------|------- -General | `$ tns device list-applications [--device ]` +General | `$ ns device list-applications [--device ]` ### Options -* `--device` - If multiple devices are connected, sets the device for which you want to list all currently installed applications. `` is the device index or identifier as listed by the `$ tns device` command. +* `--device` - If multiple devices are connected, sets the device for which you want to list all currently installed applications. `` is the device index or identifier as listed by the `$ ns device` command. <% if(isHtml) { %> diff --git a/docs/man_pages/device/device-log.md b/docs/man_pages/device/device-log.md index 00f351fed8..602d72278e 100644 --- a/docs/man_pages/device/device-log.md +++ b/docs/man_pages/device/device-log.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns device log +title: ns device log position: 4 ---<% } %> -# tns device log +# ns device log ### Description @@ -13,11 +13,11 @@ Opens the device log stream for a selected connected Android <% if(isWindows || Usage | Synopsis ------|------- -General | `$ tns device log [--device ]` +General | `$ ns device log [--device ]` ### Options -* `--device` - If multiple devices are connected, sets the device for which you want to stream the log in the console. `` is the device index or identifier as listed by the `$ tns device` command. +* `--device` - If multiple devices are connected, sets the device for which you want to stream the log in the console. `` is the device index or identifier as listed by the `$ ns device` command. <% if(isHtml) { %> diff --git a/docs/man_pages/device/device-run.md b/docs/man_pages/device/device-run.md index 668d30c0de..fc6e704744 100644 --- a/docs/man_pages/device/device-run.md +++ b/docs/man_pages/device/device-run.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns device run +title: ns device run position: 5 ---<% } %> -# tns device run +# ns device run ### Description @@ -15,15 +15,15 @@ Runs the selected application on a connected Android <% if(isMacOS) { %>or iOS < Usage | Synopsis ------|------- -General | `$ tns device run [--device ]` +General | `$ ns device run [--device ]` ### Options -* `--device` - If multiple devices are connected, sets the device on which you want to run the app. `` is the device index or identifier as listed by the `$ tns device` command. +* `--device` - If multiple devices are connected, sets the device on which you want to run the app. `` is the device index or identifier as listed by the `$ ns device` command. ### Arguments -* `` is the application identifier as listed by `$ tns device list-applications`. +* `` is the application identifier as listed by `$ ns device list-applications`. <% if(isHtml) { %> diff --git a/docs/man_pages/device/device.md b/docs/man_pages/device/device.md index 5840e3e580..777acc8eec 100644 --- a/docs/man_pages/device/device.md +++ b/docs/man_pages/device/device.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns device +title: ns device position: 6 ---<% } %> -# tns device +# ns device ### Description @@ -13,7 +13,7 @@ Lists all recognized connected Android <% if(isWindows || isMacOS) { %>or iOS de Usage | Synopsis ------|--------- -General | `$ tns device []` +General | `$ ns device []` ### Arguments @@ -28,11 +28,11 @@ General | `$ tns device []` ### Command Limitations -* You can run `$ tns device ios` on Windows and macOS systems. +* You can run `$ ns device ios` on Windows and macOS systems. ### Aliases -* You can use `$ tns devices` as an alias for `$ tns device`. +* You can use `$ ns devices` as an alias for `$ ns device`. ### Related Commands diff --git a/docs/man_pages/env-configuration/setup.md b/docs/man_pages/env-configuration/setup.md index e90491e197..572872fd14 100644 --- a/docs/man_pages/env-configuration/setup.md +++ b/docs/man_pages/env-configuration/setup.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns setup +title: ns setup position: 5 ---<% } %> -# tns setup +# ns setup ### Description @@ -13,7 +13,7 @@ Run the setup script to automatically install the NativeScript dependencies and Usage | Synopsis ------|------- -Run the setup script | `$ tns setup` +Run the setup script | `$ ns setup` ### Related Commands diff --git a/docs/man_pages/general/autocomplete-disable.md b/docs/man_pages/general/autocomplete-disable.md index c29b8221ff..cdc66d0074 100644 --- a/docs/man_pages/general/autocomplete-disable.md +++ b/docs/man_pages/general/autocomplete-disable.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns autocomplete disable +title: ns autocomplete disable position: 1 ---<% } %> -# tns autocomplete disable +# ns autocomplete disable ### Description @@ -15,7 +15,7 @@ Disables command-line completion for bash and zsh shells. You need to restart th Usage | Synopsis ------|------- -General | `$ tns autocomplete disable` +General | `$ ns autocomplete disable` <% if(isHtml) { %> diff --git a/docs/man_pages/general/autocomplete-enable.md b/docs/man_pages/general/autocomplete-enable.md index 93df378028..0958510eaf 100644 --- a/docs/man_pages/general/autocomplete-enable.md +++ b/docs/man_pages/general/autocomplete-enable.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns autocomplete enable +title: ns autocomplete enable position: 2 ---<% } %> -# tns autocomplete enable +# ns autocomplete enable ### Description @@ -15,7 +15,7 @@ Enables command-line completion for bash and zsh shells. You need to restart the Usage | Synopsis ------|------- -General | `$ tns autocomplete enable` +General | `$ ns autocomplete enable` <% if(isHtml) { %> diff --git a/docs/man_pages/general/autocomplete-status.md b/docs/man_pages/general/autocomplete-status.md index 46e3ccc1e6..16576f1cd3 100644 --- a/docs/man_pages/general/autocomplete-status.md +++ b/docs/man_pages/general/autocomplete-status.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns autocomplete status +title: ns autocomplete status position: 3 ---<% } %> -# tns autocomplete status +# ns autocomplete status ### Description @@ -13,7 +13,7 @@ Prints your current command-line completion settings. Usage | Synopsis ------|------- -General | `$ tns autocomplete status` +General | `$ ns autocomplete status` <% if(isHtml) { %> diff --git a/docs/man_pages/general/autocomplete.md b/docs/man_pages/general/autocomplete.md index 49c164411a..a82f2fdd71 100644 --- a/docs/man_pages/general/autocomplete.md +++ b/docs/man_pages/general/autocomplete.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns autocomplete +title: ns autocomplete position: 4 ---<% } %> -# tns autocomplete +# ns autocomplete ### Description @@ -15,10 +15,10 @@ Prints your current command-line completion settings. If disabled, prompts you t Usage | Synopsis ------|------- -General | `$ tns autocomplete []` -Get settings | `$ tns autocomplete status` -Enable | `$ tns autocomplete enable` -Disable | `$ tns autocomplete disable` +General | `$ ns autocomplete []` +Get settings | `$ ns autocomplete status` +Enable | `$ ns autocomplete enable` +Disable | `$ ns autocomplete disable` ### Arguments diff --git a/docs/man_pages/general/clean.md b/docs/man_pages/general/clean.md new file mode 100644 index 0000000000..603cb7d59f --- /dev/null +++ b/docs/man_pages/general/clean.md @@ -0,0 +1,22 @@ +<% if (isJekyll) { %>--- +title: ns clean +position: 24 +---<% } %> + +# ns clean + +### Description + +Clean project artifacts. + +### Commands + +Usage | Synopsis +------|------- +General | `$ ns clean` + +<% if(isHtml) { %> + +### Related Commands + +<% } %> diff --git a/docs/man_pages/general/doctor.md b/docs/man_pages/general/doctor.md index 9cbd693e9c..95cbdfee33 100644 --- a/docs/man_pages/general/doctor.md +++ b/docs/man_pages/general/doctor.md @@ -1,19 +1,19 @@ <% if (isJekyll) { %>--- -title: tns doctor +title: ns doctor position: 5 ---<% } %> -# tns doctor +# ns doctor ### Description -Checks your system for configuration problems which might prevent the NativeScript CLI from working properly. +Checks your system for configuration problems which might prevent the NativeScript CLI from working properly for the specified platform, if configured. ### Commands Usage | Synopsis ------|------- -General | `$ tns doctor` +General | `$ ns doctor ` <% if(isHtml) { %> diff --git a/docs/man_pages/general/error-reporting.md b/docs/man_pages/general/error-reporting.md index 76465a62b5..2ec0ff7602 100644 --- a/docs/man_pages/general/error-reporting.md +++ b/docs/man_pages/general/error-reporting.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns error-reporting +title: ns error-reporting position: 6 ---<% } %> -# tns error-reporting +# ns error-reporting ### Description @@ -13,7 +13,7 @@ Configures anonymous error reporting for the NativeScript CLI. All data gathered Usage | Synopsis ------|------- -General | `$ tns error-reporting []` +General | `$ ns error-reporting []` ### Arguments diff --git a/docs/man_pages/general/extension-install.md b/docs/man_pages/general/extension-install.md index 38493adac0..afa5c2a6d8 100644 --- a/docs/man_pages/general/extension-install.md +++ b/docs/man_pages/general/extension-install.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns extension install +title: ns extension install position: 7 ---<% } %> -# tns extension install +# ns extension install ### Description @@ -13,7 +13,7 @@ Installs specified extension. Each extension adds additional functionality that' Usage | Synopsis ------|------- -General | `$ tns extension install ` +General | `$ ns extension install ` ### Arguments diff --git a/docs/man_pages/general/extension-uninstall.md b/docs/man_pages/general/extension-uninstall.md index abfb2d905b..59ab1ceb69 100644 --- a/docs/man_pages/general/extension-uninstall.md +++ b/docs/man_pages/general/extension-uninstall.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns extension uninstall +title: ns extension uninstall position: 8 ---<% } %> -# tns extension uninstall +# ns extension uninstall ### Description @@ -13,7 +13,7 @@ Uninstalls the specified extension, after which you will no longer be able to us Usage | Synopsis ------|------- -General | `$ tns extension uninstall ` +General | `$ ns extension uninstall ` ### Arguments diff --git a/docs/man_pages/general/extension.md b/docs/man_pages/general/extension.md index 45eafb32e0..07ca927972 100644 --- a/docs/man_pages/general/extension.md +++ b/docs/man_pages/general/extension.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns extension +title: ns extension position: 9 ---<% } %> -# tns extension +# ns extension ### Description @@ -13,7 +13,7 @@ Prints information about all installed extensions. Usage | Synopsis ------|------- -General | `$ tns extension` +General | `$ ns extension` <% if(isHtml) { %> diff --git a/docs/man_pages/general/help.md b/docs/man_pages/general/help.md index e5c9ced413..32af99d6ba 100644 --- a/docs/man_pages/general/help.md +++ b/docs/man_pages/general/help.md @@ -1,26 +1,26 @@ <% if (isJekyll) { %>--- -title: tns help +title: ns help position: 10 ---<% } %> -# tns help +# ns help ### Description Opens the command reference for all commands in your browser or shows information about the selected command in the browser. -To list all commands available in the console, run `$ tns -h`. -To print information about a selected command in the console, run `$ tns -h`. +To list all commands available in the console, run `$ ns -h`. +To print information about a selected command in the console, run `$ ns -h`. ### Commands Usage | Synopsis ------|------- -General | `$ tns help []` +General | `$ ns help []` ### Arguments -* `` is any of the available commands as listed by `$ tns help` or `$ tns -h` +* `` is any of the available commands as listed by `$ ns help` or `$ ns -h` <% if(isHtml) { %> diff --git a/docs/man_pages/general/info.md b/docs/man_pages/general/info.md index 556a818281..bf2018b48a 100644 --- a/docs/man_pages/general/info.md +++ b/docs/man_pages/general/info.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns info +title: ns info position: 11 ---<% } %> -# tns info +# ns info ### Description @@ -13,7 +13,7 @@ Displays version information about the NativeScript CLI, core modules, and runti Usage | Synopsis ------|------- -General | `$ tns info` +General | `$ ns info` <% if(isHtml) { %> diff --git a/docs/man_pages/general/migrate.md b/docs/man_pages/general/migrate.md index fb8ca8e235..a69c40bdde 100644 --- a/docs/man_pages/general/migrate.md +++ b/docs/man_pages/general/migrate.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns migrate +title: ns migrate position: 15 ---<% } %> -# tns migrate +# ns migrate ### Description @@ -53,7 +53,7 @@ The following dependencies will be updated if needed: * @angular-devkit/build-angular * rxjs * zone.js -* nativescript-unit-test-runner +* @nativescript/unit-test-runner * karma-webpack * karma-jasmine * karma-mocha @@ -65,7 +65,7 @@ The following dependencies will be updated if needed: Usage | Synopsis ------|------- -General | `$ tns migrate` +General | `$ ns migrate` <% if(isHtml) { %> diff --git a/docs/man_pages/general/package-manager-get.md b/docs/man_pages/general/package-manager-get.md index 103e923d05..a582878de1 100644 --- a/docs/man_pages/general/package-manager-get.md +++ b/docs/man_pages/general/package-manager-get.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns package-manager get +title: ns package-manager get position: 19 ---<% } %> -# tns package-manager get +# ns package-manager get ### Description @@ -13,7 +13,7 @@ Prints the value of the current package manager. Usage | Synopsis ------|------- -General | `$ tns package-manager get` +General | `$ ns package-manager get` <% if(isHtml) { %> diff --git a/docs/man_pages/general/package-manager-set.md b/docs/man_pages/general/package-manager-set.md index aa745b54d6..e55f7718d0 100644 --- a/docs/man_pages/general/package-manager-set.md +++ b/docs/man_pages/general/package-manager-set.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns package-manager set +title: ns package-manager set position: 18 ---<% } %> -# tns package-manager set +# ns package-manager set ### Description @@ -13,7 +13,7 @@ Enables the specified package manager for the NativeScript CLI. Supported values Usage | Synopsis ------|------- -General | `$ tns package-manager set ` +General | `$ ns package-manager set ` ### Arguments diff --git a/docs/man_pages/general/package-manager.md b/docs/man_pages/general/package-manager.md index 9a73a20eca..c0a9187ebe 100644 --- a/docs/man_pages/general/package-manager.md +++ b/docs/man_pages/general/package-manager.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns package-manager get +title: ns package-manager get position: 19 ---<% } %> -# tns package-manager get +# ns package-manager get ### Description @@ -13,7 +13,7 @@ Prints the value of the current package manager. Usage | Synopsis ------|------- -General | `$ tns package-manager get` +General | `$ ns package-manager get` <% if(isHtml) { %> diff --git a/docs/man_pages/general/proxy-clear.md b/docs/man_pages/general/proxy-clear.md index 1ee40533ed..b81b57394f 100644 --- a/docs/man_pages/general/proxy-clear.md +++ b/docs/man_pages/general/proxy-clear.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns proxy clear +title: ns proxy clear position: 12 ---<% } %> -# tns proxy clear +# ns proxy clear ### Description @@ -13,7 +13,7 @@ Clears the currently configured proxy settings of the NativeScript CLI. Usage | Synopsis ------|------- -General | `$ tns proxy clear` +General | `$ ns proxy clear` <% if(isHtml) { %> diff --git a/docs/man_pages/general/proxy-set.md b/docs/man_pages/general/proxy-set.md index d894039bd0..4efea775c9 100644 --- a/docs/man_pages/general/proxy-set.md +++ b/docs/man_pages/general/proxy-set.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns proxy set +title: ns proxy set position: 13 ---<% } %> -# tns proxy set +# ns proxy set ### Description @@ -13,7 +13,7 @@ Sets the proxy settings of the NativeScript CLI. Usage | Synopsis ------|------- -General | `$ tns proxy set [ <% if(isWindows) {%>[ []]<%}%>]` +General | `$ ns proxy set [ <% if(isWindows) {%>[ []]<%}%>]` ### Options diff --git a/docs/man_pages/general/proxy.md b/docs/man_pages/general/proxy.md index c96cde80df..0a525d2fb9 100644 --- a/docs/man_pages/general/proxy.md +++ b/docs/man_pages/general/proxy.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns proxy +title: ns proxy position: 14 ---<% } %> -# tns proxy +# ns proxy ### Description @@ -13,7 +13,7 @@ Displays the current proxy settings of the NativeScript CLI. Usage | Synopsis ------|------- -General | `$ tns proxy []` +General | `$ ns proxy []` ### Arguments `` extends the `proxy` command. You can set the following values for this attribute: diff --git a/docs/man_pages/general/update.md b/docs/man_pages/general/update.md index 53bf2bef1d..aecf9b3872 100644 --- a/docs/man_pages/general/update.md +++ b/docs/man_pages/general/update.md @@ -1,18 +1,18 @@ <% if (isJekyll) { %>--- -title: tns update +title: ns update position: 16 ---<% } %> -# tns update +# ns update ### Description -Updates the project with the latest versions of iOS/Android runtimes, cross-platform modules and "nativescript-dev-webpack". +Updates the project with the latest versions of iOS/Android runtimes, cross-platform modules and "@nativescript/webpack". In order to get the latest development release instead, pass `next` as argument: -`tns update next` +`ns update next` You can also switch to specific version by passing it to the command: -`tns update 5.0.0` +`ns update 5.0.0` **NOTE:** The provided version should be an existing version of the project template for this project type. @@ -20,7 +20,7 @@ You can also switch to specific version by passing it to the command: Usage | Synopsis ------|------- -General | `$ tns update` +General | `$ ns update` <% if(isHtml) { %> diff --git a/docs/man_pages/general/usage-reporting.md b/docs/man_pages/general/usage-reporting.md index 5edf50dca4..c4b7a1eb0e 100644 --- a/docs/man_pages/general/usage-reporting.md +++ b/docs/man_pages/general/usage-reporting.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns usage-reporting +title: ns usage-reporting position: 17 ---<% } %> -# tns usage-reporting +# ns usage-reporting ### Description @@ -13,7 +13,7 @@ Configures anonymous usage reporting for the NativeScript CLI. All data gathered Usage | Synopsis ------|------- -General | `$ tns usage-reporting []` +General | `$ ns usage-reporting []` ### Arguments diff --git a/docs/man_pages/lib-management/plugin-add.md b/docs/man_pages/lib-management/plugin-add.md index 5aac7e8a0b..6fa5eb0bb5 100644 --- a/docs/man_pages/lib-management/plugin-add.md +++ b/docs/man_pages/lib-management/plugin-add.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns plugin add +title: ns plugin add position: 1 ---<% } %> -# tns plugin add +# ns plugin add ### Description @@ -14,8 +14,8 @@ position: 1 Usage | Synopsis ------|------- -General | `$ tns plugin add ` -Alias | `$ tns plugin install ` +General | `$ ns plugin add ` +Alias | `$ ns plugin install ` ### Arguments diff --git a/docs/man_pages/lib-management/plugin-build.md b/docs/man_pages/lib-management/plugin-build.md index 0f7a327534..dba2193387 100644 --- a/docs/man_pages/lib-management/plugin-build.md +++ b/docs/man_pages/lib-management/plugin-build.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns plugin build +title: ns plugin build position: 8 ---<% } %> -# tns plugin build +# ns plugin build ### Description @@ -14,7 +14,7 @@ position: 8 Usage | Synopsis ------|------- -General | `$ tns plugin build` +General | `$ ns plugin build` <% if(isHtml) { %> diff --git a/docs/man_pages/lib-management/plugin-create.md b/docs/man_pages/lib-management/plugin-create.md index d574329b1f..783abc5546 100644 --- a/docs/man_pages/lib-management/plugin-create.md +++ b/docs/man_pages/lib-management/plugin-create.md @@ -1,9 +1,9 @@ <% if (isJekyll) { %>--- -title: tns plugin create +title: ns plugin create position: 1 ---<% } %> -# tns plugin create +# ns plugin create ### Description @@ -23,8 +23,8 @@ The project is setup for easy commit in Github, which is why the command will as Usage | Synopsis ---|--- -Create from the default plugin seed | `$ tns plugin create [--path ]` -Create from a custom plugin seed | `$ tns plugin create [--path ] --template