Skip to content

Commit

Permalink
1710716628
Browse files Browse the repository at this point in the history
  • Loading branch information
azimux committed Mar 17, 2024
1 parent 7ef4fce commit 1dff817
Show file tree
Hide file tree
Showing 39,925 changed files with 4,910,923 additions and 75 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ GIT

GIT
remote: https://github.com/foobara/files-generator.git
revision: 8e9439014484892bb49a1d720399d924f853baea
revision: e51ee030f697e7e7669df7ad329c407b3acead11
specs:
foobara-files-generator (0.1.0)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
RSpec.describe Foobara::Generators::EmptyTypescriptReactProjectGenerator::GenerateEmptyTypescriptReactProject do
let(:project_dir) { "SomePrefix::SomeOrg" }
let(:project_dir) { "test-project" }

let(:inputs) do
{
project_dir:,
description: "whatever"
project_dir:
}
end
let(:empty_typescript_react_project) { described_class.new(inputs) }
Expand All @@ -14,8 +13,7 @@
it "generates a empty_typescript_react_project" do
expect(outcome).to be_success

empty_typescript_react_project_file = result["src/some_prefix/some_org.rb"]
expect(empty_typescript_react_project_file).to include("module SomeOrg")
expect(empty_typescript_react_project_file).to include("module SomePrefix")
# Actually just a no-op for now re: templated files.
expect(result).to eq({})
end
end
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
RSpec.describe Foobara::Generators::EmptyTypescriptReactProjectGenerator::WriteEmptyTypescriptReactProjectToDisk do
let(:command) { described_class.new(inputs) }
let(:outcome) { empty_typescript_react_project.run }
let(:outcome) { command.run }
let(:result) { outcome.result }
let(:errors) { outcome.errors }
let(:inputs) do
Expand All @@ -11,26 +11,24 @@
end
let(:empty_typescript_react_project_config) do
{
project_dir:,
description: "whatever"
project_dir:
}
end
let(:project_dir) { "SomeOrg" }
let(:output_directory) { "#{__dir__}/../../../tmp/empty_typescript_react_project_test_suite_output" }
let(:project_dir) { "test-project" }
let(:output_directory) { "#{__dir__}/../../../tmp/rspec-output" }

before do
# rubocop:disable RSpec/AnyInstance
allow_any_instance_of(described_class).to receive(:git_commit).and_return(nil)
allow_any_instance_of(described_class).to receive(:rubocop_autocorrect).and_return(nil)
# rubocop:enable RSpec/AnyInstance
allow(command).to receive(:git_commit).and_return(nil)
allow(command).to receive(:rubocop_autocorrect).and_return(nil)
FileUtils.rm_rf output_directory
end

describe "#run" do
it "contains base files" do
it "contains base files", :focus do
expect(outcome).to be_success

expect(command.paths_to_source_code.keys).to include("src/some_org.rb")
binding.pry
expect(File.exist?("#{output_directory}/#{project_dir}/.eslintrc.js")).to be(true)
end
end

Expand Down
20 changes: 0 additions & 20 deletions src/empty_typescript_react_project_config.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,6 @@ module EmptyTypescriptReactProjectGenerator
class EmptyTypescriptReactProjectConfig < Foobara::Model
attributes do
project_dir :string, :required
description :string, :allow_nil
end

attr_accessor :module_path

def initialize(attributes = nil, options = {})
project_dir = attributes[:project_dir]
description = attributes[:description]

module_path = project_dir.split("::")

super(
{
project_dir:,
description:
},
options
)

self.module_path = module_path
end
end
end
Expand Down
23 changes: 2 additions & 21 deletions src/empty_typescript_react_project_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,34 +7,15 @@ class << self
def manifest_to_generator_classes(manifest)
case manifest
when EmptyTypescriptReactProjectConfig
[
Generators::EmptyTypescriptReactProjectGenerator
]
# Nothing to do yet re: rendering templates. Everything is untemplated so far.
[]
else
# :nocov:
raise "Not sure how build a generator for a #{manifest}"
# :nocov:
end
end
end

def template_path
["src", "organization.rb.erb"]
end

def target_path
*path, file = module_path.map { |part| Util.underscore(part) }

file = "#{file}.rb"

["src", *path, file]
end

alias empty_typescript_react_project_config relevant_manifest

def templates_dir
"#{__dir__}/../templates"
end
end
end
end
Expand Down
11 changes: 8 additions & 3 deletions src/generate_empty_typescript_react_project.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ class MissingManifestError < RuntimeError; end
inputs EmptyTypescriptReactProjectConfig

def execute
binding.pry
include_non_templated_files

add_initial_elements_to_generate

each_element_to_generate do
Expand All @@ -24,16 +27,18 @@ def execute

attr_accessor :manifest_data

# Currently there are no true generators in this project. Delete this if that changes
def generators_for
[]
end

def base_generator
Generators::EmptyTypescriptReactProjectGenerator
end

# TODO: delegate this to base_generator
def templates_dir
# TODO: implement this?
# :nocov:
"#{__dir__}/../templates"
# :nocov:
end

def add_initial_elements_to_generate
Expand Down
27 changes: 14 additions & 13 deletions src/write_empty_typescript_react_project_to_disk.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def generator_key
inputs do
empty_typescript_react_project_config EmptyTypescriptReactProjectConfig, :required
# TODO: should be able to delete this and inherit it
output_directory :string
output_directory :string, default: "."
end

def execute
Expand All @@ -27,12 +27,8 @@ def execute
stats
end

def output_directory
inputs[:output_directory] || default_output_directory
end

def default_output_directory
"."
def project_directory
"#{output_directory}/#{empty_typescript_react_project_config.project_dir}"
end

def generate_file_contents
Expand All @@ -48,8 +44,11 @@ def run_pre_generation_tasks
def run_npx_create_react_app
puts "created empty project with create-react-app..."

cmd = "npx create-react-app --template typescript #{empty_typescript_react_project_config.project_dir}"

FileUtils.mkdir_p output_directory

Dir.chdir output_directory do
cmd = "npx create-react-app --template typescript whatever-frontend"
run_cmd_and_write_output(cmd)
end
end
Expand All @@ -65,18 +64,20 @@ def add_necessary_dev_dependencies_for_eslint
"eslint-plugin-promise@^6.1.1 " \
"typescript@^4.0.0 "

run_cmd_and_write_output(cmd)
Dir.chdir project_directory do
run_cmd_and_write_output(cmd)
end
end

def run_post_generation_tasks
Dir.chdir output_directory do
eslint_fix
end
eslint_fix
end

def eslint_fix
cmd = "npx eslint 'src/**/*.{js,jsx,ts,tsx}' --fix"
run_cmd_and_write_output(cmd)
Dir.chdir project_directory do
run_cmd_and_write_output(cmd)
end
end
end
end
Expand Down
1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/acorn

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/ansi-html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/autoprefixer

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/browserslist

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/css-blank-pseudo

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/css-has-pseudo

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/cssesc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/detect

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/detect-port

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/ejs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/escodegen

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/esgenerate

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/eslint

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/esparse

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/esvalidate

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/he

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/html-minifier-terser

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/import-local-fixture

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/is-docker

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/jake

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/jest

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/jiti

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/js-yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/jsesc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/json5

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/loose-envify

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/lz-string

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/mime

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/mkdirp

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/multicast-dns

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/nanoid

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/node-which

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/parser

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/react-scripts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/regjsparser

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/resolve

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/rimraf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/rollup

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/semver

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/sucrase

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/sucrase-node

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/svgo

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/tailwind

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/tailwindcss

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/terser

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/tsc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/tsserver

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/update-browserslist-db

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/uuid

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/webpack

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions whatever-frontend/node_modules/.bin/webpack-dev-server

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 1dff817

Please sign in to comment.