
Product
Introducing Webhook Events for Alert Changes
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.
@doist/filterist-definitions
Advanced tools
filterist is a __code generator__ that generates query regular expression codes that powers the "lexer" component of Todoist filter engine. filterist also contains test cases specifies how Todoist filter should behave.
filterist-definitions contains three components:
filterist-definitions by itself did not run any tests, but it generates files that will be added to your own client so you can base your tests on it.
It's up to the client to decide the method on how to add files to their
repositories (copy & paste, git submodule, etc.)
Todoist filter queries are defined in this Google Spreadsheet
File anatomy
dist/: filter definition filestest_json/: filter client testssrc/: definition generatorPrerequisite: the generator requires Node.js > 10.0. For convenience, a .nvmrc file is provided so node version managers like fnm can switch to an appropriate version.
A credentials.json file containing OAuth 2.0 client secrets will need to be placed in the root of the project, which identifies the generator when asking users to authenticate. To download this file, either visit this url, or go to the Google Cloud Console, look for the "Filterist definitions" project under the Doist.io organization, and go to APIs & Services -> Credentials. From there, find the "Filterist definitions" OAuth 2.0 Client ID, and use the "Download JSON" button.
Lastly, to pull dependencies hosted on the GitHub package registry from the @doist scope, npm will need to be authenticated with GitHub. Instructions are available in the handbook here.
Then in the repo root directory, run:
npm install
To run the generator, run:
npm run generate
The first time this is run, an "Authorize this app by visiting this url" message will appear. Open the URL to go through the authentication flow and you'll land on a http://localhost/?code url. Copy the value of the code parameter, and paste it into your terminal. This will then write a token for your account into token.json, allowing spreadsheets from the Doist org to be read.
To introduce support a new filter query
Define the new query in the filter spreadsheet. The detail of how the sheet works could be found here.
Update the generator config. The generator config defines a set of queries it expects to generate, and also the expected query variable for each query. Add the new query to the generator config.
After the completion above steps, the generator should be able to generate the updated the filter definition files and tests with the new query.
In order to use the generated files from this repository it's necessary to release this package. Follow these instructions:
npm run generate and make sure the dist folder is updated accordinglynpm version <major|minor|patch>
git push --follow-tagswrite:packages scope. See Code Sharing in the handbook for more detailsnpm publish to publish a new version to the GitHub Package RegistryTo release new filterist version follow these steps:
npm run generate. This step may be omitted if the latest build artifacts have already been commited into main. You can check the tags page to see if the latest changes have already been released./dist/kt/ to FilteristKtlexer_i18n_tests) from /test_json/ to FilteristKt./gradlew build to ensure things are correctFollow these manual steps to use the generated files from this repository until we integrate FilteristKt into the iOS app:
npm run generate. This step may be omitted if the latest build artifacts have already been commited into main. You can check the tags page to see if the latest changes have already been released./dist/swift/ to TDFilter/test_json/ to TDFiltersTestsTDFilterFAQs
filterist is a __code generator__ that generates query regular expression codes that powers the "lexer" component of Todoist filter engine. filterist also contains test cases specifies how Todoist filter should behave.
We found that @doist/filterist-definitions demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 8 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.