DEV: Filter files included by theme DirectoryImporter (#23842)

To match discourse_theme CLI behavior, we should skip hidden files/directories (e.g. `.git`), and two regular directories: `node_modules/` and `src/`.

Without these excludes, it's very easy for a theme to hit the file count limit. e.g. when trying this with discourse-kanban-board, I got:

> The number of files (20366) in the theme has exceeded the maximum allowed number of files (1024)
This commit is contained in:
David Taylor 2023-10-09 12:03:02 +01:00 committed by GitHub
parent cae282029e
commit 93c96cf6fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 1 deletions

View File

@ -8,7 +8,10 @@ module ThemeStore
def import!
FileUtils.mkdir_p(temp_folder)
FileUtils.cp_r("#{@theme_dir}/.", temp_folder)
Dir.glob("*", base: @theme_dir) do |entry|
next if %w[node_modules src spec].include?(entry)
FileUtils.cp_r(File.join(@theme_dir, entry), temp_folder)
end
end
end
end