spacedrive/.editorconfig

85 lines
1.9 KiB
INI
Raw Normal View History

# EditorConfig is awesome: http://EditorConfig.org
# https://github.com/jokeyrhyme/standard-editorconfig
# top-most EditorConfig file
root = true
# defaults
[*]
charset = utf-8
indent_size = 2
end_of_line = lf
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
# BATS: https://github.com/bats-core/bats-core
# https://github.com/bats-core/bats-core/master/.editorconfig
[*.bats]
insert_final_newline = true
max_line_length = 80
trim_trailing_whitespace = true
# CSS
# https://google.github.io/styleguide/htmlcssguide.xml#General_Formatting_Rules
# http://cssguidelin.es/#syntax-and-formatting
[*.css]
trim_trailing_whitespace = true
# HTML
# https://google.github.io/styleguide/htmlcssguide.xml#General_Formatting_Rules
[*.{htm,html}]
trim_trailing_whitespace = true
# JavaScript, JSON, JSX, JavaScript Modules, TypeScript
# https://github.com/feross/standard
# https://prettier.io
[*.{cjs,js,json,jsx,mjs,ts,tsx}]
indent_size = 4
# Kotlin
# https://android.github.io/kotlin-guides/style.html#indentation
[*.{kt,kts}]
indent_size = 4
# Python
# https://www.python.org/dev/peps/pep-0008/#code-lay-out
[*.py]
indent_size = 4
# Rust
# https://github.com/rust-lang/rust/blob/master/src/doc/style/style/whitespace.md
[*.rs]
indent_size = 4
insert_final_newline = false
trim_trailing_whitespace = true
[ENG-286] Set default indexer rules for location (#690) * Implement multiple Glob matches in the same indexer rule - Replace matching logic to use GlobSet instead of simple Glob - Add `No OS protected` indexer rule to avoid indexing OS protected files - Enable `No OS protected` indexer rule by default * Rust fmt * Reduce `No OS protected` rule Glob list by using OR matches * Add globs for android and ios files in `No OS protected` rule * Add some more unix special path to be ignored * Add a new property to IndexerRule to enable it by default when adding a new location: - Modify the Prisma schema to add the default property to the IndexerRule model. - Adjust the IndexerRule struct's create and save logic to consider the new property. - Adjust AddLocationDialog to properly load the default indexer rules from the backend. - Minorly improve IndexerRuleEditor to avoid adding duplicate entries to its assigned form field. - Add editorconfig entries for SQL and Prisma types. * rust fmt * Add Windows users special folders and files to `No OS protected` rule * Construct `No OS protected` globs from string vec - Don't repeat windows globs that require both a root and C: version * Apply review feedback and add error handling for `IndexerRuleEditor` - Revert manual changes made to init migration - Create external migration that adds a `default` prop in `IndexerRule` model - Remove redundant `useMemo` - Replace destructuring of `useQuery` - Provide feedback to user when a error occurs while querying indexer rules * useMemo only for `indexerRulesIds` and not the whole `defaultValues` object - Remove logic to accpet unix root path for windows indexer `No OS protected` rule
2023-04-18 06:25:57 +00:00
# SQL
# https://www.sqlstyle.guide/
[*.sql]
indent_size = 4
indent_style = space
# Prisma
# https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-schema/data-model#formatting
[*.prisma]
indent_size = 4
indent_style = space
# YAML
# http://yaml.org/spec/1.2/2009-07-21/spec.html#id2576668
[*.{yaml,yml}]
indent_style = space
[ENG-270, ENG-213] Stabilize release pipeline (#768) * Attempt at building our own ffmpeg dylibs for macOS - Create dockerfile to setup osxcross and required host dependencies for cross-compiling ffmpeg for macOS - Create script to setup required macOS dependencies and build ffmpeg for both x86_64 and aarch64 * Improve dockerfile to better use docker's cache - Attempt at fixing arm64 build (still not there yet) * ARM64 sucessfully compiles \o/ - Use clang for everything (e.g. linker, assembler, ...) - Remove -lc++ because it is now handled internally thanks to a patch - Apply 3 open PRs to osxcross as external patches to solve some of our problems - PR 180 reduces the macports dependencies size by prefering non universal libs for x88 - PR 314 adds the -lc++ flag for macOS SDKs >= 11.1 - PR 379 fix macports pulling incorrects deps for SDK11 and adds support for SDK13 (future proofing, as it does nothing for us rigth now) * Fix relink and copy logic in ffmpeg build script - Ensure ffmpeg and dependencies dylibs are correctly relinked and copied over to the output directory - Copy includes from ffmpeg and dependencies to allow for dev building against these dylibs - Set up symlinks for all dylibs to the common `lib` directory - Remove superfluous linker and compiler options - Add `-headerpad_max_install_names` linker option to accommodate the required relink changes - Remove `--disable-fft` for the arm64 build, as it doesn't seem to be required nowadays - Allow `swresample` and `avdevices` to be compiled as they seem to be expected to exist by `ffmpeg-sys-next` - Disable ffmpeg program compilation - Fix dylibs id to match their new expected location - Fix ffmpeg dylibs inter-linkage not being updated - Add custom patch for osxcross macports to load already downloaded files from cache - Remove the requirement for specifying the darwin version in the Dockerfile - Enable docker cache for macports - Move arm min macOS version ARG to the top * Attempt at building ffmpeg with github actions - Split osxcross setup into it's own Dockerfile to allow exporting it as a image to Dockerhub - Create a github action to build ffmpeg - Add osxcross patch for PR 372 for future proofing (Add support for macOS SDK 13.1) * Remove incompatible step name * Change FFMPEG_VERSION to string to avoid yaml weird type casting * Start to use our ffmpeg build in the macOS - Adjust the macOS setup script to download our ffmpeg build, also replace installing protobuf compiler from brew with grabbing it from it's own repository - Some misc improvement to the *nix setup script - Fix ffmpeg build script not copying static libs (for when we may want to statically link ffmpeg) - Fix ffmpeg build script not taking into acount possible libraries that are multiple paths deep in /lib - Update CI to actions/checkout@v3, v2 is deprecated - Update ffmpeg build CI to not xz the artifacts, as github already zips it anyway * Fix macOS setup not finding the ffmpeg artifact due to a jq script mistake - Comment out embeeding static libs in ffmpeg artifact for now, as they take too much space - Remove incorrect dockerfile settings from editorconfig * Fix protobuf download in macOS - Fix Framework directory creation not following script's dir but cwd - Improve download logic to avoid being rate limited on failures - Return to using xz for ffmpeg build, as it saves quite a bit of space * Replace `OSTYPE` with `$(uname)` for a more standardized way to check which os is running - Fix mobile check using `==` instead of `=` in test command * Fix syntax error in bash 3.x (which is the default in macOS) - Fix jq not downloading all deps and being placed in the incorrect directory * Fix incorrect install_name_tool arguments - Remove leading './' when referencing ffmpeg libs during build * Fix protoc not being executable - Fix some error messages * jq throw input when it is invalid - Enable debug log in setup script when running in CI * Add a dev.js build script for desktop app - Remove dll copy from setup-system.ps1, now done by dev.js - Minor rework to build.js to improve signals and stdio handling * Configure cargo to use FFMPEG_DIR and PROTOC envvars on macOS * Pass GITHUB_TOKEN to macOS setup script in CI * Replace simple curl with gh_curl in github request * Fix some ctrl+c/ctrl+v typos * Add missing ffmpeg deps - Fix missing symlinks for ffmpeg libs in the output_dir/libs - Change arm64 minimum macOS target to 11.2 due to libbrotli only being available precompiled to this version - Add more options to ffmpeg configure in an attempt to reduce its size + improve performance * Rework ffmpeg build script to create a FFMpeg.framework instead of loose dylibs - Disable unused postproc and enabled missing required protocols in ffmpeg configuration - Adjust Dockerfile and setup-script to handle the new FFMpeg.framework * Fix setup script incorrect linking logic for FFMpeg.framework * Forgot to remote the leading path in the lib/header linking logic for FFMpeg.framework * Enable size optimization for ffmpeg - Remove Frameworks directory before setting it up in setup-system.sh * Revert lib id to use `@executable_path/../Frameworks/` instead of `@rpath` - `@rpath` breaks dev builds - Add logic to create less versioned versions of dylibs in setup-system script, due to it being required for compiling ffmpeg-sys-next (not required during runtime, just for compilation) - Add scripts/deps to gitignore * Fix ffmpeg build script not copying unversioned symlinks to FFMpeg.framework - Remove unecessary unversioned symlink logic from setup-system - Add new build scripts for dev and prod that setup the environment and tauri to correctly point to FFMpeg.framework - Rework windows setup-system script to follow the same logic as in macOS setup-system * Attempt at fixing windows setup script - Add powershell editorconfig * Attempt to fix Windows CI * Fix some mistakes in the build scripts - Replace toml lib with something more used and maybe better? - Attempt to fix Windows CI * Fix some more problems with the build script * Another attempt at fixing windows CI * Some more fixes for the windows setup script * Add build.js step to release CI - Implement patch only mode for build.js when running under CI - Implement appeding extra env in cargo config in env.js - Only run windows dlls copy in dev in env.js - Another attempt at fixing windows CI * Maybe this will make the windows CI happy? * Windows CI why dont you work, whyyy? * Try to apease the Windows CI Gods - Disable updater build in macOS, due to tauri-apps/tauri#3933 * Fix build.js extra env vars - Uncomment parts of setup-system.ps1 to check if it keeps working * Uncomment another section and see if windows CI will complain * uncomment some more of setup-system.ps1 * Use Start-Process for robocopy instead of executing it directly - Only raise an error if robocopy exists with a status code >=8 - Revert build.js macOS specific bundles change - Disable updater for now * Remove updater from cargo.toml * Add -PassThru to Start-Process to ensure we get and Process obj back * Comment out more of updater * Improve documentation for both of the docker containers - Fix a harcoded install_name_tool call in the ffmpeg-build-macos.sh script * Configure tauri to copy ffmpeg dlls to windows prod version - Fix windows dlls copy on dev - Stop replacing tauri.conf.json, except on CI, for prod builds and use a tauri.conf.patch.json for any required changes - Don't unset macOSPrivateApi on prod build, we need it for the transparent background - Fix dev.js not exiting when the spawned command was over * Fix windows not find protoc - Fix missing import in env.js * Fix Windows Dlls copy logic for prod build - Fix dev script failing due to missing env - Implement error handler to spawned process * Format + Fix pnpm-lock * Fix video thumb generation failing on Windows due to bad path to CString conversion logic * Fix mobile build - Greatly improve windows setup-script error handling - Install LLVM with winget instead of downloading exe from github * Improve CI a bit - Fix mobile CI not using github token to avoid being rate limited * Fix pnpm not accesible to actions/setup-node * Skip pnpm check on CI * Fix pnpm skip not working - Fix pnpm cache check missing a step * Only lock action to major versions * CI really doesn't like running robocopy directly * Attempt to build our own patched tauri bundler * Trigger new workflow * Fix attempt for patched tauri action tests - Disable cache for patched tauri action - Enable package publishing for patched tauri action * Attempt fix patched tauri publish * Remove commented code from patched tauri workflow - Replace deprecated `actions-rs/toolchain` with `dtolnay/rust-toolchain` * Fix url patching logic for publishing step of patched tauri package * Fix prepublishOnly command for patched tauri package * Adjust patched tauri package package.json * Also patch the specific os/arch sub packages * Instruct napi to stop doing github releases * Patch package.json befor build * Re-enable updater - Patch tauri cli to workaround a tauri bug that prevented use from bundling frameworks in the updater - Update tauri/api to 1.3 and tauri/cli 1.3.1 - Add target triple in the release artifacts name - Use ubuntu-20.04 instead of ubuntu-latest - Configure release workflow to build to all supported platforms - Replace `tauri-apps/tauri-action` with simply calling `pnpm desktop build` - Simplify tauri-patched-cli-js to only build the required macOS binaries - Unify build.js and dev.js in a tauri.js build script, which now acts as an all around wrapper for the tauri/cli * Restore incorrectly removed step from `tauri-patched-cli-js` * Disable auto-run of tauri-patched-cli-js - Update setup-system.sh with the latest tauri-patched-cli-js artifacts * Forgot to mkdir bin * Fix pnpm-lock.yaml not being up to date - Remove pnpm deps caching * Fix variable name conflict * Enable the updater build conditionally - Enable release workflow to test it * Fix artifacts not being published - Change macOS on arm64 minimumSystemVersion to 11.2 - Commented out rust cache to check if this is the culprit to the low memory problem on windows runner - Add some debug log to tauri.js * Fix release workflow artifact uploading * Specify which bundles to build on each platform - Attempt fix apple arm build - Don't include internal deb archives in linux updater artifact * Attempt to fix apple arm build - Fix dmg background not applying * Fix incorrect semver usage * Patch swift-rs to see if that fix apple arm64 release build * Update swift-rs submodule - Remove unused deps lodash.merge * Configure so only release workflow runs without cache - Improve tauri.js logs * Ignore `crates/swift-rs` * Revert "Ignore `crates/swift-rs`" - Remove `crates/swift-rs` before running `cargo fmt` This reverts commit 851bd84373fd7263f0efe4876a864cff0b2af75b. * Github CI input/output are always string - Attempt to fix Windows Clippy * Fix CI syntax error * Fix mobile CI - Disable pnpm deps caching - Disable rust targets caching on Windows - Configure cache factory to run for all targets * Remove `crates/swift-rs` * Attempt fix Mobile CI - Enable cache factory run in pull_request to test it - Specific more path for the CI run to ignore - Specify path that will trigger the cache factory run - Some cleanup in the setup-pnpm action * Remove restore-cache options - Add prefix key to cache-factory - Fix LLVM cache-hit check - Add libheif to FFMpeg.framework * Remove submodule clone from actions * Add fake deps to ffmpeg build dockerfile - Fake install deps that aren't really necessary to build ffmpeg - Fail ffmpeg build script if it can't find a macports deps - Copy libheif headers to Framework * Remove automatic trigger for relase and pull request trigger for cache-factory actions * Remove pnpm setup from Cache factory - Cache factory is exclusivly for rust deps caching, no need to setup Node and pnpm with it * Re-enabled fail-fast in Github CI
2023-05-15 18:02:56 +00:00
# Shell
# https://google.github.io/styleguide/shell.xml#Indentation
[*.{bash,sh,zsh}]
indent_style = space
# PowerShell
# https://poshcode.gitbook.io/powershell-practice-and-style/style-guide/code-layout-and-formatting
[*.{ps1,psd1,psm1}]
indent_size = 4
indent_style = space