Giter Site home page Giter Site logo

Comments (3)

darraghoriordan avatar darraghoriordan commented on June 18, 2024

hey,

i'll write that up when i get a chance but in the meantime:

Publishing starts in this github workflow: https://github.com/darraghoriordan/eslint-plugin-nestjs-typed/blob/main/.github/workflows/publishToNpm.yaml

I run this script: "build": "npm run clean && mkdir ./dist && tsc --project tsconfig.build.json", with yarn build. Which creates "dist" directory and files.

Release is based on semantic commits with semantic-release so a "feat:" results in a publish, a "fix:" results in a publish, a "chore:" does not.

The publish steps are defined in the package.json "release" section. This is a config that semantic-release uses to prepare and publish the build. My config says 'any change in "main" should release'. You can read more about semantic release in their github repo. It handles most of the tasks by default, you can see the config i have to set is very light.

Semantic-release kicks in which uses npm (package.json) functionality. I have a "files" section in package.json which tells semantic-release what to deploy to npm.

so to summarize: the things built by tsc in yarn build are packaged by semantic-release becuase i have listed them in the "files" section and sent to npm using my token.

My tsconfig.common.json specifies "declaration": true which is where the .d.ts is comfing from

from eslint-plugin-nestjs-typed.

grosch-intl avatar grosch-intl commented on June 18, 2024

Thanks! I'm getting closer. The "files" and "declaration" parts were missing in my configuration. I'm not using sematic-release yet though. When I look in what gets installed I now have this:

$ cd node_modules/\@crp/eslint-plugin-angular
$ ls -R
.:
README.md dist/ node_modules/ package.json

./dist:
configs/ index.d.ts index.js rules/ selector.d.ts selector.js utils.d.ts utils.js

./dist/configs:
recommended.d.ts recommended.js

./dist/rules:
no-common-module.d.ts no-common-module.js no-component-constructor.d.ts no-component-constructor.js provide-in-component.d.ts provide-in-component.js

./node_modules:

And then in my .eslintrc.json I told it to use that plugin and the recommended config:

      "plugins": [
        "@crp/angular"
      ],
      "extends": [
        "eslint:recommended",
        "plugin:@angular-eslint/recommended",
        "plugin:@typescript-eslint/recommended",
        "plugin:@crp/angular/recommended"
      ],

When I then try to lint, it gives me this error:

An unhandled exception occurred: Failed to load config "plugin:@crp/angular/recommended" to extend from.

The generated recommended.d.ts file looks like this:

declare const _default: {
    parser: string;
    parserOptions: {
        sourceType: string;
    };
    rules: {
        "@crp/angular/no-common-module": string;
        "@crp/angular/no-component-constructor": string;
        "@crp/angular/provide-in-component": (string | {
            ControlValueAccessor: {
                provide: string;
                multi: boolean;
                type: string;
                useExisting: boolean;
            };
            Validators: {
                provide: string;
                multi: boolean;
                type: string;
                useExisting: boolean;
            };
        })[];
    };
};
export default _default;

from eslint-plugin-nestjs-typed.

darraghoriordan avatar darraghoriordan commented on June 18, 2024

closing because not an issue with this library

from eslint-plugin-nestjs-typed.

Related Issues (20)

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.