Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Alfonso Austin
    @alfonsoar

    what is the recommended way of removing a dep from a package?

    would it be something like:

    1. Manually remove the dep from package.json & browsers-approved-package.json, etc….
    2. Run rush update (Maybe purge beforehand?)

    Wondering if a rush remove <package> would be helpful?

    6 replies
    Jarrod Payne
    @paynecodes
    Any idea how I can run tests only for changed projects? Similar to how rush build works? So far I just have this simple command added to common/config/rush/command-line.json, but this is running the test task for all packages no matter what of course.
    {
      "commandKind": "bulk",
      "name": "test",
      "summary": "Test packages.",
      "description": "Executes automated tests.",
      "enableParallelism": true
    }
    5 replies
    Jason Swearingen
    @jasonswearingen
    It seems that when I debug in heft, it sets the __dirname to the src folder. is there a way to avoid this? I want it to be the transpiled output folder. I can't set the output folder explicitly because it will be different if building for node or browser
    46 replies
    Jarrod Payne
    @paynecodes
    Are there any kitchen sink style rush / rushstack examples out there? So far, some of the best things I've found are microsoft/rush-example and known-as-bmf/store.
    5 replies
    Rob Phillips
    @robbyphillips

    Is there a recommendation for handling command-line.json parameters that are only supported by a subset of projects?

    For example, I have some projects that are built with heft and support a --production flag, but I also have some NextJS projects which throw an error if they receive that flag.

    5 replies
    Pete Gonzalez
    @octogonz

    Proposal: "Packlets" model for lightweight package-like folders within a project
    microsoft/rushstack#2254

    Community feedback welcome! :-)

    Vasiliy Yorkin
    @vyorkin
    Hi! I'm trying to use @rushstack/eslint-config. I have my own config package on top of the @rushstack/eslint-config, but when I try to extend it I get the "Error: Failed to load config @scope/config-eslint/lib.js to extend from" error. Where @scope/config-eslint is my package contaning shared eslint config for monorepo. Here is the file from the config package: https://gist.github.com/vyorkin/33c227c1c541825158c24b4db0e1b45e and here is my .eslintrc.js file that tries to extend it https://gist.github.com/vyorkin/d068be1bfb8d1a29ee00f102c73de7ab. What is the best way to find out what is wrong with my setup?
    1 reply
    Vasiliy Yorkin
    @vyorkin
    Btw it works when I use relative path like this: extends: ['./node_modules/@scope/config-eslint/lib.js']
    Alfonso Austin
    @alfonsoar
    just wanted to say thank you to @iclanton and @octogonz for the recent work on rigs. Just read over the latets docs will be implementing in my repo over the weekend
    2 replies
    very excited!
    Jarrod Payne
    @paynecodes
    Is there any way to provide heft tsconfig path? I need my editor tsconfig.json and build tsconfig.build.json to be separate.
    9 replies
    Pete Gonzalez
    @octogonz

    👉 Gitter (previously owned by GitLab) was recently acquired by Element (the company that made the Riot chat app): https://element.io/blog/gitter-is-joining-element/

    This is a pretty interesting development! In recent years Gitter was not well supported and has been a bit frustrating to use. ESLint/PNPM/Yarn recently moved their Gitter channels to Discord. (We also investigated that this summer, however there was some concern that Discord isn't very professional. Its primary audience is video games, not tracking support requests. I've been investigating Zulip, which is more enterprisey and better integrated with GitHub, but I've waiting for them to fix a migration issue before we move forward.)

    With this new announcement, Element is saying they will eventually migrate Gitter onto their service, replacing the deprecated iOS/Android apps with actively developed apps. I wonder how quickly that will happen. Has anyone used Element/Riot -- if so, did you like their apps? Zulip is pretty mature and has been around for years.

    13 replies
    Misha Kaletsky
    @mmkal
    Is there a way to make rush change ignore certain globs? I semi-regularly find I've updated a dev dependency that requires changes in **/*.test.ts files in downstream packages in the same rush repo. Then rush change forces me to bump the downstream package even though what's published is unchanged. Ideally, it could cleverly use .npmignore/the files property in package.json, but a glob CLI parameter would be ok too
    5 replies
    Adam Sivins
    @DigitalKrony

    Within rush:

    Is there a way to build a bulk command that only runs on a subset of projects?

    Or have the bulk command checks the project's package for the command before attempting to run it preventing an error if it's not present?

    6 replies
    Alfonso Austin
    @alfonsoar
    Would a rig package be a good place to store something like a logger for the repo?
    2 replies
    Daniel Tabuenca
    @dtabuenc
    Is there no way to tag on publish when publishing to internal NPM registries?
    3 replies
    No matter what I try it just DRYRUNS the git tag
    Misha Kaletsky
    @mmkal

    q re rush version/rush publish: is there a way to define global post-version/pre-publish hook, like in lerna?


    Use-case: expiring-todo-comments is an eslint rule that can flag comments like // todo[>=2.0.0]: remove this deprecated feature when the package.json version is in range.

    If we could run rush lint or similar after bumping versions, CI could error helpfully, reminding the development team that they didn't do the v2.0.0 todo, and are therefore not ready to publish that version. Or, would the recommended way to do this be to have a prepack script on each package?

    5 replies
    Alfonso Austin
    @alfonsoar
    Quick PR to fix a typo microsoft/rushjs.io-website#75
    Josh Biddick
    @sadsa
    Does anyone know how to exclude a project in RushJS from simultaneous build, or have it run after all other projects have completed?
    11 replies
    Clemens E.
    @Clemens-E
    This message was deleted
    William Bernting
    @wbern
    Not sure why this is happening, but I got a very long build time for a package with an empty build script, using Rush 5.34.2 and pnpm 5.5.13
    image.png
    Also, there's another package that says ""[package]" had an empty script.", but that package does have a "build" script..
    the build output may be juggled..
    William Bernting
    @wbern
    I'm using cmd, but it's over ssh
    to a linux machine
    Pete Gonzalez
    @octogonz
    The build times are measured using wall clock time, not CPU cycles. So in theory a task could get suspended arbitrarily long if a bunch of other processes have the CPU pegged at 100%. This would be especially likely on a VM that shares physical hardware with many other VMs.
    That said 11 seconds is extremely long. It could simply be that Rush is not measuring correctly. Is there any easy way to repro this?
    William Bernting
    @wbern
    @octogonz it looks more to me that it has mixed up the output, since it said one package doesn't have a build script when it clearly does.
    I will try to share repro when I can.
    Pete Gonzalez
    @octogonz
    🤔 Please do. The rush build reporting got overhauled in 5.34.0, so if there is a regression, we'd want to fix it.
    Alfonso Austin
    @alfonsoar

    looks like the heft webpack task is not honoring devServer configurations. Adding

    ```
    devServer: {port: 9000
    },

    Pete Gonzalez
    @octogonz
    @iclanton What was the plan? Why are these values hardcoded in WebpackPlugin.ts instead of being specified in webpack.config.js?
    4 replies
    Rob Phillips
    @robbyphillips
    For those following the NextJS + pnpm issues, it looks like a fix has been merged: vercel/next.js#17279
    Zefex Developer
    @zefexdeveloper
    @octogonz Just passing by to say that Next.js is finally working with PNPM
    6 replies
    The PR has been merged, now we can play (yay)
    For anyone interested it's still on next@canary ( v9.5.6-canary.0)
    Alfonso Austin
    @alfonsoar
    is there a way to use multiple tsconfig files with heft?
    Alfonso Austin
    @alfonsoar
    Not in the sense of “extending” but more like for heft build use this tsconfig and for heft start use this other tsconfig
    1 reply
    Aleksei Tsikov
    @atsikov
    Is there a way to install dependencies for autoinstallers other than update-autoinstaller? The problem is that update actually performs an update, bumping transitive dependencies and changing lock file.
    I would expect rush install to install these dependencies, however it doesn't seem to work.
    7 replies
    Andrey Los
    @RIP21
    Is there any option to break on failed preInstall/postInstall/preBuild hooks?
    Use case is when I, let say, want to run some codegen right after installation of the packages, and then run build.
    Or you would suggest to put this step inside build command itself? I don't want to as this takes some time and usually needed for bootstraping project and after git pull and doesn't needed for incremental work on the codebase, that would slow rebuilds a lot.
    Matthias Rougier
    @Matt-Swingvy

    Hello, has anyone used rush with a dockerfile ?
    I am trying to figure out the right steps, while being new at both docker and rush :sweat_smile:

    I am trying to build my time app below is my naive implementation of the dockerfile after following the tutorial there https://rushjs.io/pages/maintainer/deploying/

    # stage1 - build react app first
    FROM node:12.16.1-alpine3.9 as build
    WORKDIR /app
    RUN npm i -g @microsoft/rush
    COPY ./rush.json /app/
    RUN rush update
    #seems rush install is throwing the following error:
    #
    #Using the default variant for installation.
    #11 12.41 
    #11 12.41 Updating temp projects in /app/common/temp/projects
    #11 12.42 
    #11 12.42 ERROR: Project folder not found: libs/data-provider
    # it actually throw for every libs inside libs/,  even if they are not used with the deployed app. 
    # yet if I run this locally it works 
    
    RUN rush install
    RUN rush build
    RUN rush deploy
    WORKDIR /common/deploy/apps/time
    COPY . package.json
    RUN rushx build

    if anyone know how to get this working, would love some help :bow:

    4 replies
    Alfonso Austin
    @alfonsoar
    can you add multiple packages with rush add -p ?
    Jacob Rask
    @jacobrask
    Hi! Our monorepo has a bunch of different apps, and all apps currently have their own pipelines that trigger if e.g. apps/my-app/* changed. Is this a workflow that would work with Rush, or do you generally have a single pipeline? Is there a way to figure out if an app or it's dependencies changed through Rush?
    Our apps can only depend on code inside of apps/ or in separate shared/ or packages/ folders, but we don't want to trigger E2E tests, builds, etc in all apps just because a shared package was changed - unless the app uses it
    Magne Skutle
    @mskutle
    hey! I'm setting up a proof of concept with Rush. I have 2 apps, "frontend" and "backend". Both of them need their own Dockerfile, but I'm not sure how to configure it correctly. I can't run scripts like "RUN node common/scripts/install-run-rush.js install" because the Dockerfiles inside the apps/ folder can't access the common/ folder as it is higher up the tree.
    Magne Skutle
    @mskutle
    does anyone have a repo with multiple apps that uses Docker that I can take a look at? :)