Capybara has a variety of finder methods like find_button to help you look up DOM elements. There are also...

You can use git worktree to manage multiple working trees attached to the same repository. But why should I use...

In esbuild, you usually import other files using relative paths: import './some-related-module' import `../../utils/some-utility-module` import `../../../css/some-css.sass` This is totally fine...

We often have a separate production branch that lags a bit behind the more cutting edge main branch. Sometimes you want to move some, but not all commits from main...

...only because your step definition requires that. Here's a typical step definitions that benefits from using find_by_anything: When /^I sign in as "([^\"]+)")$/ do |identifier| user = User.find_by...

When storing floating-point numbers such as prices or totals in an SQL database, always use a DECIMAL column. Never...

makandra dev

Using git fixup helps you to speed up appending changes further back in the git history of your feature branch...

makandra dev

Usually our code lives on GitLab, therefore our documentation for CI testing is extensive in this environment. If you are...

makandra dev

...JSXSpreadAttribute', 'JSXExpressionContainer', 'JSXOpeningElement', 'JSXClosingElement', 'JSXFragment', 'JSXOpeningFragment', 'JSXClosingFragment', 'JSXText', 'JSXEmptyExpression', 'JSXSpreadChild' ], offsetTernaryExpressions: true }], '@stylistic/key-spacing': ['error', { beforeColon: false, afterColon: true }], '@stylistic/keyword-spacing': ['error', { before: true, after: true }], '@stylistic/lines-between-class-members': ['error', 'always', { exceptAfterSingleLine: true }], '@stylistic/multiline-ternary...

This are the steps I needed to do to add esbuild to an application that used the vanilla rails asset...

...e.g. wysiwyg text fields Consider to leave the paperclip columns (you can debug issues better) As many parts of file processing are not tested (resolution, fallback images and many more...

...exception notifier all failed jobs will trigger an email. Blocking the server: Mogrify (tool behind minimagic) sometimes freeze (for many thousand of jobs it will fail for sure). You need...

makandra dev

If you have a fully functional CI pipeline but no CD, you might find yourself frequently waiting for CI (with...

...the resulting record will not have the attributes that defined that scope, and this behavior can be quite useful. Because you cannot have the best from both worlds you should...

...article and make informed choices about how to define your conditions. Also see the Best Practice section below. The problem in detail Consider this Rails class and the following articles...

makandra dev
aaronlasseigne.com

All Rubyists should be familiar with the common definitions for include and extend. You include a module to add instance...

web.archive.org

...cat tmp/parallel_cucumber_failures.log | xargs geordi cucumber # Running features > Only: features/authentication.feature:33 features/backend/pages.feature:5 features/backend/pages.feature:60 ... Beside the linked article you might also be interested in reading An Opinionated Guide to xargs...

We use Sentry to be informed about different kinds of issues. One of the key features is that you are...

By default parallel_tests will spawn as many test processes as you have CPUs. If you have issues with flaky...

Rails offers the fresh_when method to automatically compute an ETag from the given record, array of records or scope...

makandra dev

This card is mainly an explanation how variable fonts work in CSS, not necessarily a recommendation to actually use them...

...this.lockCounter = 0 this.boundLockTurboStreamRendering = this.lockTurboStreamRendering.bind(this) this.boundStartLock = this.startLock.bind(this) this.boundStopLock = this.stopLock.bind(this) // Stream rendering document.addEventListener("turbo:before-stream-render", this.boundLockTurboStreamRendering) // Form submission document.addEventListener("turbo:submit-start", this.boundStartLock) document.addEventListener("turbo:submit-end...

...this.boundStopLock) // Network activity document.addEventListener("turbo:before-fetch-request", this.boundStartLock) document.addEventListener("turbo:before-fetch-response", this.boundStopLock) document.addEventListener("turbo:fetch-request-error", this.boundStopLock) // Frame rendering document.addEventListener("turbo:before-frame-render", this.boundStartLock) document.addEventListener...

makandra dev

...live: true, host: '127.0.0.1' do watch(%r(^public/assets/esbuild_error_development\.txt$)) # Livereload + ESbuild is not the best combo # We want # - to reload CSS files without doing a full page reload

Fill in find field with e.g. url (? .*?) Hint: the "url" at the beginning of the string is just a text fragment; the (? .*?) is our named capture group.

...file. Note that this is # not guaranteed to be 100% accurate. It performs a "best guess" based # on a simple test of the first +File.blksize+ characters. # # Example: # # File.binary?('somefile.exe') # => true...

To avoid multiple versions of a package, you can manually maintain a resolutions section in your package.json. We recommend you...