Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: v4 #1542

Closed
wants to merge 103 commits into from
Closed

refactor: v4 #1542

wants to merge 103 commits into from

Conversation

lowlighter
Copy link
Owner

@lowlighter lowlighter commented Oct 5, 2023

See #1533

This PR introduces a major refactor to the codebase to offer more possibilities, make the code cleaner, safer and more maintainable while keeping a compatibility layer to make the migration smoothly for users

📝 Todo-list before pre-release

  • Engine
    • Components framework
      • Plugin framework
        • Rendering and templating
      • Processor framework
      • API requests framework
      • Metadata and schemas
        • Inputs parsing
        • Outputs parsing
    • Configuration parsing
    • Versions and paths
    • Processing routine
    • Utilitaries
      • Raw command execution
      • IO and storage abstractions
      • Browser execution
        • Using local cached browser
        • Using remote browser service
      • Formatting
      • GitHub helpers
      • Graph rendering
        • Time graph
        • Line graph
        • Pie graph
        • Diff graph
      • Logging framework
      • Markdown rendering
        • Language syntax highlighting
      • Testing framework
  • GitHub Action
    • Docker image
      • Publish to ghcr.io
    • Implement publish.gist
    • Implement publish.file
    • Implement publish.git
    • Compatibility layer
      • v3 to v4 inputs conversion
      • .legacy plugin to support v3 plugins directly (retrieving output from docker image)
  • Web server
    • Sync models values
    • Config crafter
      • Retrieve schemas from server
      • Auto-generation from inputs based on schema
        • Show name and descriptions
        • Support basic inputs
        • Support unions
        • Support nested objects
        • Support arrays
        • Support record
        • Support secrets
      • Plugins and processors context edition
      • Configuration migration helper
      • Print scopes, permissions and linked markdown documentation
      • Add/Remove plugins and processors
      • Preview final configuration
      • Preview rendered SVG
    • OAuth support
  • Serverless deployment
    • Deno deploy
  • Plugins
    • Experiment with the engine
      • A simple plugin (introduction)
      • A plugin that requires browser execution (webscraping)
      • A plugin that requires an external library (rss)
      • A plugin that requires GraphQL API (calendar, gists, ...)
      • A plugin that requires REST API (lines, activity, ...)
      • A plugin that requires rendering markdown (activity)
      • A plugin that requires rendering d3 graphs (lines)
      • A plugin that requires executing a raw command (legacy)
    • Migrations
      • Legacy plugin
      • Activity
      • Calendar
      • Gists
      • Introduction
      • Lines
      • RSS
      • Webscraping
  • Processors
    • Rendering
    • Render Twemojis, GitHub emojis and octicons
    • Transform to base64
    • Optimizations (svg, xml, css)
    • Inject raw content, script and style
    • Meta-directive (assert, delay, error)
    • Publish directives (console, file, gist, git)
  • Execution directives
    • serve (see "web server" section)
    • run (see "github action" section)
    • create (skeleton for plugin and processors)
    • --version and --help
  • Miscelleanous
    • Unit testing
    • Coverage

@lowlighter
Copy link
Owner Author

lowlighter commented Oct 5, 2023

✈️ Migration guide will be made at the same time that cli/compat.ts is implemented


// Search for specific filename
// deno-lint-ignore no-constant-condition
if (false) {

Check warning

Code scanning / CodeQL

Unreachable statement Warning

This statement is unreachable.

// Search for specific extension
// deno-lint-ignore no-constant-condition
if (false) {

Check warning

Code scanning / CodeQL

Unreachable statement Warning

This statement is unreachable.
// Pull request created
case "PullRequestEvent": {
return null
if (!["opened", "edited", "closed", "reopened", "assigned", "unassigned"].includes(payload.action)) {

Check warning

Code scanning / CodeQL

Unreachable statement Warning

This statement is unreachable.
// Release published
case "ReleaseEvent": {
return null
if (payload.action !== "published") {

Check warning

Code scanning / CodeQL

Unreachable statement Warning

This statement is unreachable.
Copy link
Contributor

This pull request seems to be inactive and will be automatically closed in a few days if it remains without any activity.

@Andre601
Copy link

This pull request seems to be inactive and will be automatically closed in a few days if it remains without any activity.

lmao.

@Andre601
Copy link

I just received a PR from dependabot that updates metrics to v4..... while it still isn't released here yet...
How does that even work?!

@lowlighter lowlighter assigned lowlighter and unassigned lowlighter Jun 2, 2024
Copy link
Contributor

github-actions bot commented Sep 1, 2024

This pull request seems to be inactive and will be automatically closed in a few days if it remains without any activity.

@RSickenberg
Copy link
Contributor

:(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Blocked
Development

Successfully merging this pull request may close these issues.

3 participants