Sha256: 58dad14dd29adc17540dbc293347df679449571879fbe57e73c935a6c1b0c340

Contents?: true

Size: 1.18 KB

Versions: 17

Compression:

Stored size: 1.18 KB

Contents

# frozen_string_literal: true

Bridgetown.initializer :dotenv do |config|
  Bridgetown.load_dotenv root: config.root_dir
end

Bridgetown.initializer :ssr do |config, setup: nil|
  config.roda do |app|
    app.plugin(:bridgetown_ssr, &setup)
  end
end

Bridgetown.initializer :parse_routes do |config|
  # This builds upon the work done here:
  # https://github.com/jeremyevans/roda-route_list/blob/master/bin/roda-parse_routes

  require "roda-route_parser"

  route_files = Dir["#{config.root_dir}/server/**/*.rb"]
  if config.key?(:routes)
    config.routes.source_paths.each do |routes_dir|
      routes_dir = File.expand_path(routes_dir, config.source)
      route_files += Dir["#{routes_dir}/**/*.*"]
    end
  end

  parser = RodaRouteParser.new
  json_gen_opts = { indent: "  ", space: " ", object_nl: "\n", array_nl: "\n" }

  routing_tree = []

  route_files.each do |route_file|
    file_contents = File.read(route_file)
    routes = parser.parse(file_contents)

    next unless routes.present?

    routes.each do |route|
      route["file"] = route_file
    end
    routing_tree += routes
  end

  File.write(File.join(config.root_dir, ".routes.json"), routing_tree.to_json(json_gen_opts))
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
bridgetown-core-2.0.0.beta3 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-2.0.0.beta2 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-2.0.0.beta1 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.3.4 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.3.3 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.3.2 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.3.1 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.3.0 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.3.0.beta3 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.3.0.beta2 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.3.0.beta1 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.2.0 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.2.0.beta5 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.2.0.beta4 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.2.0.beta3 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.2.0.beta2 lib/bridgetown-core/utils/initializers.rb
bridgetown-core-1.2.0.beta1 lib/bridgetown-core/utils/initializers.rb