Giter Club home page Giter Club logo

nx-tools's Introduction

NxTools

commitizen friendly styled with prettier

Workspace for Nx Plugins.

Project Description
Compodoc Compodoc executor for Nx workspaces

How to try changes locally?

To test changes in a local repository, the package can be published in a local registry:

  1. npm run local-registry start
  2. npm run local-registry enable
  3. npm login (user: test, password: test, email: [email protected])
  4. commit your changes
  5. npx nx run compodoc:release:local
  6. run npm i -D @twittwer/compodoc@latest in your local test repository

nx-tools's People

Contributors

arturovt avatar dependabot[bot] avatar havef avatar semantic-release-bot avatar stalkaltan avatar twittwer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

nx-tools's Issues

The automated release is failing 🚨

🚨 The automated release from the develop branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the develop branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


The release 0.2.0 on branch develop cannot be published as it is out of range.

Based on the releases published on other branches, only versions within the range >=1.0.0 can be published from branch develop.

The following commits are responsible for the invalid release:

  • feat(compodoc): add compodoc to cachable operations (81ce308)
  • fix(compodoc): install plugin as devDependency during ng-add (7c7db14)

Those commits should be moved to a valid branch with git merge or git cherry-pick and removed from branch develop with git revert or git reset.

A valid branch could be master or develop.

See the workflow configuration documentation for more details.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

Add some doc for developer participation (have issues)

Hey,

I would to see if I can make some propositions of PRs but I cannot bootstrap the library:

the package-lock in targeting localhost:
image

if I remove it, some library doesn't exist:
image

This is only for the root of the repository. Seems ok for compodoc only by using yarn...

The automated release is failing 🚨

🚨 The automated release from the develop branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the develop branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


Missing package.json file.

A package.json file at the root of your project is required to release on npm.

Please follow the npm guideline to create a valid package.json file.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

Unhandled Rejection

nx add @twittwer/compodoc works fine
nx g @twittwer/compodoc:config client --workspaceDocs seems to work fine...

but when running nx run client:compodoc this happens...

> nx run ecom-web-client:compodoc 
Compodoc v1.1.11

Unhandled Rejection at: Promise {
  <rejected> InvalidOperationError: Expected to find an initializer.
      at InvalidOperationError.BaseError [as constructor] (client/node_modules/ts-simple-ast/dist/errors/BaseError.js:7:28)
      at new InvalidOperationError (client/node_modules/ts-simple-ast/dist/errors/InvalidOperationError.js:8:28)
      at Object.throwIfNullOrUndefined (client/node_modules/ts-simple-ast/dist/errors/helpers.js:96:15)
      at EnumMember.InitializerGetExpressionableNode.class_1.getInitializerOrThrow (client/node_modules/ts-simple-ast/dist/compiler/base/initializer/InitializerGetExpressionableNode.js:25:27)
      at RouterParserUtil.cleanFileDynamics (client/node_modules/@compodoc/compodoc/dist/application-54cd2170.js:5677:80)
      at AngularDependencies.getSourceFileDecorators (client/node_modules/@compodoc/compodoc/dist/application-54cd2170.js:8152:46)
      at client/node_modules/@compodoc/compodoc/dist/application-54cd2170.js:7960:31
      at Array.map (<anonymous>)
      at AngularDependencies.getDependencies (client/node_modules/@compodoc/compodoc/dist/application-54cd2170.js:7949:21)
      at CliApplication.Application.getDependenciesData (client/node_modules/@compodoc/compodoc/dist/application-54cd2170.js:9498:40)
} reason: InvalidOperationError: Expected to find an initializer.
    at InvalidOperationError.BaseError [as constructor] (client/node_modules/ts-simple-ast/dist/errors/BaseError.js:7:28)
    at new InvalidOperationError (client/node_modules/ts-simple-ast/dist/errors/InvalidOperationError.js:8:28)
    at Object.throwIfNullOrUndefined (client/node_modules/ts-simple-ast/dist/errors/helpers.js:96:15)
    at EnumMember.InitializerGetExpressionableNode.class_1.getInitializerOrThrow (client/node_modules/ts-simple-ast/dist/compiler/base/initializer/InitializerGetExpressionableNode.js:25:27)
    at RouterParserUtil.cleanFileDynamics (client/node_modules/@compodoc/compodoc/dist/application-54cd2170.js:5677:80)
    at AngularDependencies.getSourceFileDecorators (client/node_modules/@compodoc/compodoc/dist/application-54cd2170.js:8152:46)
    at client/node_modules/@compodoc/compodoc/dist/application-54cd2170.js:7960:31
    at Array.map (<anonymous>)
    at AngularDependencies.getDependencies (client/node_modules/@compodoc/compodoc/dist/application-54cd2170.js:7949:21)
    at CliApplication.Application.getDependenciesData (client/node_modules/@compodoc/compodoc/dist/application-54cd2170.js:9498:40)

[Bug] Nx + Angular (v13): tsconfig path error

Nx 13 has a new way to design Angular projects. If we leave tsConfig option as-is (<projectRoot>/tsconfig.lib.json), the command will fail because path to tsconfig is not set correctly. Here is what I have when I set debug option to true:

> nx run formly-one:compodoc:json 
Prepare Compodoc...
 {
  tsConfig: 'libs/formly-one/tsconfig.lib.json',
  outputPath: 'dist/compodoc/formly-one',
  disableRoutesGraph: true,
  disableSourceCode: false,
  disableDomTree: false,
  disableTemplateTab: false,
  disableStyleTab: false,
  disableGraph: true,
  disableProtected: false,
  disableSearch: false,
  disableDependencies: false,
  debug: true,
  exportFormat: 'json',
  workspaceDocs: false,
  disableCoverage: true,
  disablePrivate: true,
  disableInternal: true,
  disableLifeCycleHooks: true,
  language: 'en-US',
  theme: 'gitbook',
  hideGenerator: false,
  port: 8080,
  watch: false
}
Spawn Compodoc... {
  command: 'npx compodoc',
  arguments: [
    '--tsconfig="C:\\Users\\freel\\IdeaProjects\\design-system\\libs\\formly-one\\tsconfig.lib.json"',
    '--output="C:\\Users\\freel\\IdeaProjects\\design-system\\dist\\compodoc\\formly-one"',
    '--exportFormat="json"',
    '--minimal',
    '--name="formly-one"',
    '--disableCoverage',
    '--disableGraph',
    '--disablePrivate',
    '--disableInternal',
    '--disableLifeCycleHooks',
    '--disableRoutesGraph',
    '--language="en-US"',
    '--theme="gitbook"',
    '--silent'
  ],
  options: { cwd: 'libs/formly-one', shell: true }
}

Compodoc v1.1.16

C:\Users\freel\IdeaProjects\design-system\node_modules\@compodoc\compodoc\dist\index-cli-298ea115.js:953
        throw new Error(message);
        ^

Error: error TS5083: Cannot read file 'C:\Users\freel\IdeaProjects\design-system\libs\formly-one\C:\Users\freel\IdeaProjects\design-system\libs\formly-one\tsconfig.lib.json'

As we can see, root project path is set twice. Any idea of a workaround, or if this is related to compodoc itself?
Thanks in advance

Code documentation coverage not available

Hi,

I created a new Nx workspace and installed Compodoc using the following commands

  1. npm install --save-dev @twittwer/compodoc
  2. nx g @twittwer/compodoc:config <project>
    and then run using - nx run <project>:compodoc --serve

The documentation is served locally, but there is no code documentation coverage tab in the left side nav, which is otherwise visible in angular projects without Nx workspace.

project.json file for the project

{
  "projectType": "application",
  "sourceRoot": "apps/app1/src",
  "prefix": "compodoc-test",
  "targets": {
    "build": {
      "executor": "@angular-devkit/build-angular:browser",
      "outputs": ["{options.outputPath}"],
      "options": {
        "outputPath": "dist/apps/app1",
        "index": "apps/app1/src/index.html",
        "main": "apps/app1/src/main.ts",
        "polyfills": "apps/app1/src/polyfills.ts",
        "tsConfig": "apps/app1/tsconfig.app.json",
        "assets": ["apps/app1/src/favicon.ico", "apps/app1/src/assets"],
        "styles": ["apps/app1/src/styles.css"],
        "scripts": []
      },
      "configurations": {
        "production": {
          "budgets": [
            {
              "type": "initial",
              "maximumWarning": "500kb",
              "maximumError": "1mb"
            },
            {
              "type": "anyComponentStyle",
              "maximumWarning": "2kb",
              "maximumError": "4kb"
            }
          ],
          "fileReplacements": [
            {
              "replace": "apps/app1/src/environments/environment.ts",
              "with": "apps/app1/src/environments/environment.prod.ts"
            }
          ],
          "outputHashing": "all"
        },
        "development": {
          "buildOptimizer": false,
          "optimization": false,
          "vendorChunk": true,
          "extractLicenses": false,
          "sourceMap": true,
          "namedChunks": true
        }
      },
      "defaultConfiguration": "production"
    },
    "serve": {
      "executor": "@angular-devkit/build-angular:dev-server",
      "configurations": {
        "production": {
          "browserTarget": "app1:build:production"
        },
        "development": {
          "browserTarget": "app1:build:development"
        }
      },
      "defaultConfiguration": "development"
    },
    "extract-i18n": {
      "executor": "@angular-devkit/build-angular:extract-i18n",
      "options": {
        "browserTarget": "app1:build"
      }
    },
    "lint": {
      "executor": "@nrwl/linter:eslint",
      "options": {
        "lintFilePatterns": ["apps/app1/**/*.ts", "apps/app1/**/*.html"]
      }
    },
    "test": {
      "executor": "@nrwl/jest:jest",
      "outputs": ["coverage/apps/app1"],
      "options": {
        "jestConfig": "apps/app1/jest.config.ts",
        "passWithNoTests": true
      }
    },
    "compodoc": {
      "executor": "@twittwer/compodoc:compodoc",
      "options": {
        "tsConfig": "apps/app1/tsconfig.editor.json",
        "outputPath": "dist/compodoc/app1"
      },
      "configurations": {
        "json": {
          "exportFormat": "json"
        }
      }
    }
  },
  "tags": []
}

Please refer the screenshot here - https://ibb.co/DMvfSsT

Request you to look into the issue @twittwer . Thank you in advance

Support for nx 14

We are currently in the proces of upgrading from nx 13 to nx 14 and we are encountering some issues with npm and the double versions of nx that seem to be available in node_modules.

Because of the dependency of these tools on nx 13, npm is installing both the v13 as the v14 bin and depending on the environment it tries to use wrong 'link' to make it accesible in node_modules/bin/...

Would it be possible to update this tool with support for v14 to prevent this version conflict?

npm ERR! code 1
npm ERR! path project_path/node_modules/@twittwer/compodoc/node_modules/nx
npm ERR! command failed
npm ERR! command sh -c node ./bin/init
npm ERR! >  NX   Cannot read properties of undefined (reading 'endsWith')
npm ERR! A complete log of this run can be found in:

Watch mode for workspaceDocs. Server doesn't reload after changing source files.

Hello,

Thanks for your time developing this plugin, it's very handy!

After following your recipe and configuring my builder as follows:

"configurations": {
    "serve": {
        "serve": true,
        "watch": true,
        "silent": false,
        "workspaceDocs": true,
        "port": 8081
    },
    ...
}

I can't seem to have the tool reload when I change fils under (for instance libs/shared/login/src/lib/components/login/login.component.ts).

It seems when using the workspace recipe it doesn't listen for file changes globally?

In the logs it says Watching sources in src folder.

I just wanted to know whether this is supported, or if you plan to have it in the future.

[14:51:55] 
Documentation generated in /Users/ramon/Watchity/frontend/dist/compodoc/tools/ in 8.543 seconds using gitbook theme
[14:51:55] Serving documentation from /Users/ramon/Watchity/frontend/dist/compodoc/tools/ at http://127.0.0.1:8081

[14:51:55] 
Watching sources in src folder

compdoc nx plugin: support nx per-project configuration

Seems like compdoc nx plugin does not work with a repo that uses per-project configuration

➜  static-web-apps-auth git:(master) npm run nx -- add @twittwer/compodoc                      

> [email protected] nx /Users/christian.crowhurst/Documents/git/static-web-apps-auth
> nx "add" "@twittwer/compodoc"

Unable to read workspace file '/Users/christian.crowhurst/Documents/git/static-web-apps-auth/angular.json': Invalid format version detected - Expected:[ 1 ] Found: [ 2 ]
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] nx: `nx "add" "@twittwer/compodoc"`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] nx script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/christian.crowhurst/.npm/_logs/2021-08-19T08_44_46_644Z-debug.log

Tried installing the dev deps manually and then run the schematic, but that doesn't add the necessary script entries to the project.json

The automated release is failing 🚨

🚨 The automated release from the master branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


The release 1.4.0 on branch master cannot be published as it is out of range.

Based on the releases published on other branches, only versions within the range >=1.3.2 <1.4.0 can be published from branch master.

The following commits are responsible for the invalid release:

  • docs(compodoc): add watch mode recipe with storybook integration (a516ce8)
  • feat(compodoc): add watch mode (#21) (a5e0218)
  • chore: update @type/node to latest LTS 12.19.1 (#20) (d3d5981)
  • Merge pull request #18 from twittwer/dependabot/npm_and_yarn/http-proxy-1.18.1 (d96fb0b)
  • Merge pull request #17 from twittwer/dependabot/npm_and_yarn/elliptic-6.5.3 (a9a82f5)
  • build(deps): bump http-proxy from 1.18.0 to 1.18.1 (0943931)
  • build(deps): bump elliptic from 6.5.2 to 6.5.3 (b012ead)

Those commits should be moved to a valid branch with git merge or git cherry-pick and removed from branch master with git revert or git reset.

A valid branch could be next.

See the workflow configuration documentation for more details.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

[Bug] Wrong Path Resolution in Nx Workspace

Hello there!

I just decided to give a try to this plugin in some nx workspace with several angular apps and libraries but got the below error after following the steps at workspace-docs in this example repository of mine.

Unhandled Rejection at: Promise {
  <rejected> Error: ENOENT: no such file or directory, open 'D:\Programming\angular_projects\ngfire-showcase\C:\Users\INTEL\AppData\Local\Temp\0T9sI2\web-core-configuration-firebase.md'
      at Object.openSync (fs.js:440:3)
      at Object.readFileSync (fs.js:342:35)
      at FileEngine.getSync (D:\Programming\angular_projects\ngfire-showcase\node_modules\@compodoc\compodoc\dist\application-54cd2170.js:1242:19)
      at MarkdownEngine.getTraditionalMarkdownSync (D:\Programming\angular_projects\ngfire-showcase\node_modules\@compodoc\compodoc\dist\application-54cd2170.js:4287:49)

After digging a bit into the source code, I noticed this line that defines the tmpFolder where to write the markdown additional files.

However seems like this is not correct when you try to run the builder to generate docs on Windows as it will try to resolve to some weird path (the tmpFolder + the filename to look for), so I decided to replace it by const tmpFolder = fs.mkdtempSync('compodoc'); and the script didn't throw the error and got the expected output html files.

Profit

image

I can submit a PR with the fix if that's okay and also implement the os strategy in GH Actions to avoid such issues when adding new features or bugfixes.

Cheers!

The automated release is failing 🚨

🚨 The automated release from the develop branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the develop branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


Invalid npm token.

The npm token configured in the NPM_TOKEN environment variable must be a valid token allowing to publish to the registry https://registry.npmjs.org/.

If you are using Two-Factor Authentication, make configure the auth-only level is supported. semantic-release cannot publish with the default auth-and-writes level.

Please make sure to set the NPM_TOKEN environment variable in your CI with the exact value of the npm token.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

Unable to use @twittwer/compodoc in a new nx workspace

I am getting an error when trying to use @twittwer/compodoc with a new nx workspace. These are the steps I follow:

  1. npx create-nx-workspace@latest
  • I provide the workspace name, select Angular for the project type to generate, and set the other options.
  1. cd <workspace>
  2. nx add @twittwer/compodoc
  3. nx g @twittwer/compodoc:config <project-name> --workspaceDocs
  4. nx run <project-name>:compodoc:json

I get this warning during step 3:

"compodoc-add" schema is using the keyword "id" which its support is deprecated. Use "$id" for schema ID.

The rest of the commands seem to work fine, but the last command errors out with:

schema with key or id "http://json-schema.org/draft-07/schema" already exists

Am I missing a step? Or is there a bug? I am new to both nx and storybook (it's my goal to get that working by using @twittwer/compodoc), so it could be that I misunderstand some setup that is needed to get this working.

Error during /***/***/my-project/libs/shared/ui/package.json read

It seems that the library is trying to read my package.json but it is trying to read it at my library root location instead of my project root location:

[11:16:35] Error during /***/***/my-project/libs/shared/ui/package.json read

[11:16:35] Continuing without package.json file

Any idea why?

This is my config:

"compodoc": {
      "executor": "@twittwer/compodoc:compodoc",
      "outputs": ["{options.outputPath}"],
      "options": {
        "tsConfig": "libs/shared/ui/tsconfig.lib.json",
        "outputPath": "dist/compodoc/shared-ui",
        "exportFormat": "json"
      },
      "configurations": {
        "watch": {
          "watch": true
        }
      }
    }

Do not use package manager bin to execute compodoc

Usually in Nx repo, we create scripts in package.json to execute targets like:

...
    "start": "nx serve",
    "build": "nx build",
    "test": "nx test",
    "e2e": "nx e2e",
    "compodoc": "nx compodoc", <-- here the issue
...

But if you specify the script compodoc, and then generate your doc using yarn compodoc my-app, the executor will re-execute yarn compodoc behind and it will result to:

image

@twittwer Would it be possible to not use getPackageManagerCommand() but directly the binary in the node_modules?

Cypress tests does not start when generating compodoc before

Hello,

I am using storybook + compodoc and I would like to use your library.

All of your configurations are working fine until I would like to use it to generate doc + run storybook before starting cypress:



    "ui": {
        ...
        "storybook": {
          ...
        },
        "compodoc": {
          ...
        },
        "storybook-ci": {
          "builder": "@nrwl/workspace:run-commands",
          "options": {
            "commands": ["npx nx run ui:compodoc:json", "npx nx run ui:storybook:ci"]
          }
        },
    }
...
    "ui-e2e": {
        ...
        "e2e": {
          "builder": "@nrwl/cypress:cypress",
          "options": {
            "cypressConfig": "apps/ui-e2e/cypress.json",
            "tsConfig": "apps/ui-e2e/tsconfig.e2e.json",
            "devServerTarget": "ui:storybook",
            "watch": true
          },
          "configurations": {
            "ci": {
              "devServerTarget": "ui:storybook-ci", --> this is pointing to the run commands custom config
              "watch": false,
              "headless": true
            }
          }
        },
    }
  • The doc is generated
  • The storybook is started
  • Cypress does not start, the terminal stays on storybook

I have the feeling this is more related to the run-commands approach, any idea?

Cache not reverted when not setting output path options

I have this config:

"compodoc": {
      "executor": "@twittwer/compodoc:compodoc",
      "outputs": ["{options.outputPath}"],
      "options": {
        "tsConfig": "libs/ui/tsconfig.lib.json",
        "outputPath": "dist/compodoc/ui",
        "exportFormat": "json"
      },
      "configurations": {
        "watch": {
          "watch": true
        }
      }
    }

but I wanted to use the default value so remove tsconfig + outputPath to have this:

"compodoc": {
      "executor": "@twittwer/compodoc:compodoc",
      "outputs": ["{options.outputPath}"],
      "options": {
        "exportFormat": "json"
      },
      "configurations": {
        "watch": {
          "watch": true
        }
      }
    }

then the cache of Nx isn't reverted in the dist folder

The automated release is failing 🚨

🚨 The automated release from the develop branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the develop branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


Invalid npm token.

The npm token configured in the NPM_TOKEN environment variable must be a valid token allowing to publish to the registry https://registry.npmjs.org/.

If you are using Two-Factor Authentication, make configure the auth-only level is supported. semantic-release cannot publish with the default auth-and-writes level.

Please make sure to set the NPM_TOKEN environment variable in your CI with the exact value of the npm token.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

Enable config schematic to auto generate workspace wide documentation

Compodoc's config schematic should provide an option to auto genrate a tsconfig file that includes the whole workspace.

ng g @twittwer/compodoc:config <project> --workspaceDocs
Generate tsconfig.compodoc.json in the projects root directory

{
  "extends": "./tsconfig.json",
  "include": [
    "<relativeWorkspaceRoot>/apps/**/*.ts",
    "<relativeWorkspaceRoot>/libs/**/*.ts"
  ]
}

Add according compodoc target in the angular.json

"compodoc": {
  "builder": "@twittwer/compodoc:compodoc",
  "options": {
    "tsConfig": "<projectRoot>/tsconfig.compodoc.json",
    "outputPath": "dist/compodoc/<projectName>",
    "workspaceDocs": true
  },
  "configurations": {
    "json": {
      "exportFormat": "json"
    }
  }
}

Use Compodoc watch json mode

if (options.watch && options.exportFormat === 'json') {
createEmptyCompodocJson(options, context);
const nodemonCmd = buildNodemonCmd(options, context);
const nodemonArgs = [
'--ignore dist',
'--ext ts',
`--exec "${compodocCmd} ${compodocArgs.join(' ')}"`,
];
return spawn(`"${nodemonCmd}"`, nodemonArgs, processOptions);
}

Is this still necessary, now that compodoc supports watch mode with json: compodoc/compodoc#1087?

migrate to nx 16

package is incompatible with latest projects due to the usage of @nrwl/devkit package instead of @nx/devkit. On nx 16.3 I'm getting the following error:

nx run storybook:compodoc:json


 >  NX   Cannot find module 'nx/src/hasher/hasher'

   Require stack:
   - /Users/dmitriy/projects/valor_software/ngx-esp/node_modules/@twittwer/compodoc/node_modules/@nrwl/devkit/index.js
   - /Users/dmitriy/projects/valor_software/ngx-esp/node_modules/@twittwer/compodoc/src/executors/build/executor.js
   - /Users/dmitriy/projects/valor_software/ngx-esp/node_modules/nx/src/config/workspaces.js
   - /Users/dmitriy/projects/valor_software/ngx-esp/node_modules/nx/src/command-line/run/run.js
   - /Users/dmitriy/projects/valor_software/ngx-esp/node_modules/nx/bin/run-executor.js

The automated release is failing 🚨

🚨 The automated release from the develop branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the develop branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


Missing package.json file.

A package.json file at the root of your project is required to release on npm.

Please follow the npm guideline to create a valid package.json file.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

Unhandled Rejection when custom logo or favicon is definend

Version: 1.3.1
Node: 10.20.1

Command:

nx run my-lib:compodoc \
--customLogo apps/pwa/src/assets/logo.png \
--customFavicon apps/pwa/src/favicon.ico

Output:

Compodoc v1.1.11

Unhandled Rejection at: Promise { <rejected> undefined } reason: undefined

Without the builder, the command will be executed without errors:

compodoc \
-p ./libs/my-lib/tsconfig.lib.json \
-d documentation \
--customLogo apps/pwa/src/assets/logo.png \
--customFavicon apps/pwa/src/favicon.ico

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.