init
parent
b271548e56
commit
01762defe0
18
.drone.yml
18
.drone.yml
|
@ -1,18 +0,0 @@
|
|||
kind: pipeline
|
||||
type: exec
|
||||
name: Build on macOS
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: Build
|
||||
commands:
|
||||
- sudo chmod -R 777 ./*
|
||||
- yarn add glob && yarn && sudo bundle install
|
||||
- ./bin/bridgetown deploy
|
||||
- sudo mv ./output/ ./master/
|
||||
- sudo rm -R /sudovanilla/nginx/sites/sudovanilla/master/
|
||||
- sudo cp -R ./master/ /sudovanilla/nginx/sites/sudovanilla/master/
|
||||
- sudo rm -R ./master/
|
|
@ -1,3 +1,31 @@
|
|||
.bridgetown-cache
|
||||
node_modules
|
||||
output
|
||||
# build output
|
||||
output/
|
||||
output/*
|
||||
|
||||
# generated types
|
||||
.astro/
|
||||
|
||||
# dependencies
|
||||
node_modules/
|
||||
|
||||
# logs
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# lock
|
||||
package-lock.json
|
||||
yarn.lock
|
||||
pnpm-lock.json
|
||||
|
||||
# environment variables
|
||||
.env
|
||||
.env.production
|
||||
|
||||
# Front Matter Setup
|
||||
.frontmatter
|
||||
frontmatter.json
|
||||
|
||||
# macOS-specific files
|
||||
.DS_Store
|
33
Gemfile
33
Gemfile
|
@ -1,33 +0,0 @@
|
|||
source "https://rubygems.org"
|
||||
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
||||
|
||||
####
|
||||
# Welcome to your project's Gemfile, used by Rubygems & Bundler.
|
||||
#
|
||||
# To install a plugin, run:
|
||||
#
|
||||
# bundle add new-plugin-name -g bridgetown_plugins
|
||||
#
|
||||
# This will ensure the plugin is added to the correct Bundler group.
|
||||
#
|
||||
# When you run Bridgetown commands, we recommend using a binstub like so:
|
||||
#
|
||||
# bin/bridgetown start (or console, etc.)
|
||||
#
|
||||
# This will help ensure the proper Bridgetown version is running.
|
||||
####
|
||||
|
||||
# If you need to upgrade/switch Bridgetown versions, change the line below
|
||||
# and then run `bundle update bridgetown`
|
||||
gem "bridgetown", "~> 1.2.0"
|
||||
|
||||
# Uncomment to add file-based dynamic routing to your project:
|
||||
# gem "bridgetown-routes", "~> 1.2.0"
|
||||
|
||||
# Uncomment to use the Inspectors API to manipulate the output
|
||||
# of your HTML or XML resources:
|
||||
# gem "nokogiri", "~> 1.13"
|
||||
|
||||
# Puma is a Rack-compatible server used by Bridgetown
|
||||
# (you can optionally limit this to the "development" group)
|
||||
gem "puma", "~> 5.6"
|
49
Rakefile
49
Rakefile
|
@ -1,49 +0,0 @@
|
|||
require "bridgetown"
|
||||
|
||||
Bridgetown.load_tasks
|
||||
|
||||
# Run rake without specifying any command to execute a deploy build by default.
|
||||
task default: :deploy
|
||||
|
||||
#
|
||||
# Standard set of tasks, which you can customize if you wish:
|
||||
#
|
||||
desc "Build the Bridgetown site for deployment"
|
||||
task :deploy => [:clean, "frontend:build"] do
|
||||
Bridgetown::Commands::Build.start
|
||||
end
|
||||
|
||||
desc "Build the site in a test environment"
|
||||
task :test do
|
||||
ENV["BRIDGETOWN_ENV"] = "test"
|
||||
Bridgetown::Commands::Build.start
|
||||
end
|
||||
|
||||
desc "Runs the clean command"
|
||||
task :clean do
|
||||
Bridgetown::Commands::Clean.start
|
||||
end
|
||||
|
||||
namespace :frontend do
|
||||
desc "Build the frontend with esbuild for deployment"
|
||||
task :build do
|
||||
sh "yarn run esbuild"
|
||||
end
|
||||
|
||||
desc "Watch the frontend with esbuild during development"
|
||||
task :dev do
|
||||
sh "yarn run esbuild-dev"
|
||||
rescue Interrupt
|
||||
end
|
||||
end
|
||||
|
||||
#
|
||||
# Add your own Rake tasks here! You can use `environment` as a prerequisite
|
||||
# in order to write automations or other commands requiring a loaded site.
|
||||
#
|
||||
# task :my_task => :environment do
|
||||
# puts site.root_dir
|
||||
# automation do
|
||||
# say_status :rake, "I'm a Rake tast =) #{site.config.url}"
|
||||
# end
|
||||
# end
|
|
@ -1,29 +0,0 @@
|
|||
#!/usr/bin/env ruby
|
||||
# frozen_string_literal: true
|
||||
|
||||
#
|
||||
# This file was generated by Bundler.
|
||||
#
|
||||
# The application 'bridgetown' is installed as part of a gem, and
|
||||
# this file is here to facilitate running it.
|
||||
#
|
||||
|
||||
require "pathname"
|
||||
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
||||
Pathname.new(__FILE__).realpath)
|
||||
|
||||
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
||||
|
||||
if File.file?(bundle_binstub)
|
||||
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
||||
load(bundle_binstub)
|
||||
else
|
||||
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
||||
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
||||
end
|
||||
end
|
||||
|
||||
require "rubygems"
|
||||
require "bundler/setup"
|
||||
|
||||
load Gem.bin_path("bridgetown-core", "bridgetown")
|
|
@ -1,34 +0,0 @@
|
|||
# Welcome to Bridgetown!
|
||||
#
|
||||
# This config file is for settings that affect your whole site, values
|
||||
# which you are expected to set up once and rarely edit after that.
|
||||
#
|
||||
# A list of all available configuration options can be found here:
|
||||
# https://www.bridgetownrb.com/docs/configuration/options
|
||||
#
|
||||
# For technical reasons, this file is *NOT* reloaded automatically when you use
|
||||
# `bin/bridgetown start`. If you change this file, please restart the server process.
|
||||
#
|
||||
# For reloadable site metadata like title, SEO description, social media
|
||||
# handles, etc., take a look at `src/_data/site_metadata.yml`
|
||||
#
|
||||
# If you need help with YAML syntax, here are some quick references for you:
|
||||
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
|
||||
# https://learnxinyminutes.com/docs/yaml/
|
||||
#
|
||||
|
||||
url: "" # the base hostname & protocol for your site, e.g. https://example.com
|
||||
|
||||
permalink: pretty
|
||||
template_engine: liquid
|
||||
|
||||
# Other options you might want to investigate:
|
||||
#
|
||||
# base_path: "/" # the subpath of your site, e.g. /blog. If you set this option,
|
||||
# ensure you use the `relative_url` helper for all links and assets in your HTML.
|
||||
# If you're using esbuild for frontend assets, edit `esbuild.config.js` to
|
||||
# update `publicPath`.
|
||||
|
||||
# timezone: America/Los_Angeles
|
||||
# pagination:
|
||||
# enabled: true
|
|
@ -1,7 +0,0 @@
|
|||
# This file is used by Rack-based servers during the Bridgetown boot process.
|
||||
|
||||
require "bridgetown-core/rack/boot"
|
||||
|
||||
Bridgetown::Rack.boot
|
||||
|
||||
run RodaApp.freeze.app # see server/roda_app.rb
|
|
@ -1,300 +0,0 @@
|
|||
// This file is created and managed by Bridgetown.
|
||||
// Instead of editing this file, add your overrides to `esbuild.config.js`
|
||||
//
|
||||
// To update this file to the latest version provided by Bridgetown,
|
||||
// run `bridgetown esbuild update`. Any changes to this file will be overwritten
|
||||
// when an update is applied hence we strongly recommend adding overrides to
|
||||
// `esbuild.config.js` instead of editing this file.
|
||||
//
|
||||
// Shipped with Bridgetown v1.2.0
|
||||
|
||||
const path = require("path")
|
||||
const fsLib = require("fs")
|
||||
const fs = fsLib.promises
|
||||
const { pathToFileURL, fileURLToPath } = require("url")
|
||||
const glob = require("glob")
|
||||
const postcss = require("postcss")
|
||||
const postCssImport = require("postcss-import")
|
||||
const readCache = require("read-cache")
|
||||
|
||||
// Detect if an NPM package is available
|
||||
const moduleAvailable = name => {
|
||||
try {
|
||||
require.resolve(name)
|
||||
return true
|
||||
} catch (e) { }
|
||||
return false
|
||||
}
|
||||
|
||||
// Generate a Source Map URL (used by the Sass plugin)
|
||||
const generateSourceMappingURL = sourceMap => {
|
||||
const data = Buffer.from(JSON.stringify(sourceMap), "utf-8").toString("base64")
|
||||
return `/*# sourceMappingURL=data:application/json;charset=utf-8;base64,${data} */`
|
||||
}
|
||||
|
||||
// Import Sass if available
|
||||
let sass
|
||||
if (moduleAvailable("sass")) {
|
||||
sass = require("sass")
|
||||
}
|
||||
|
||||
// Glob plugin derived from:
|
||||
// https://github.com/thomaschaaf/esbuild-plugin-import-glob
|
||||
// https://github.com/xiaohui-zhangxh/jsbundling-rails/commit/b15025dcc20f664b2b0eb238915991afdbc7cb58
|
||||
const importGlobPlugin = () => ({
|
||||
name: "import-glob",
|
||||
setup: (build) => {
|
||||
build.onResolve({ filter: /\*/ }, async (args) => {
|
||||
if (args.resolveDir === "") {
|
||||
return; // Ignore unresolvable paths
|
||||
}
|
||||
|
||||
const adjustedPath = args.path.replace(/^bridgetownComponents\//, "../../src/_components/")
|
||||
|
||||
return {
|
||||
path: adjustedPath,
|
||||
namespace: "import-glob",
|
||||
pluginData: {
|
||||
path: adjustedPath,
|
||||
resolveDir: args.resolveDir,
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
build.onLoad({ filter: /.*/, namespace: "import-glob" }, async (args) => {
|
||||
const files = glob.sync(args.pluginData.path, {
|
||||
cwd: args.pluginData.resolveDir,
|
||||
}).sort()
|
||||
|
||||
const importerCode = `
|
||||
${files
|
||||
.map((module, index) => `import * as module${index} from '${module}'`)
|
||||
.join(';')}
|
||||
const modules = {${files
|
||||
.map((module, index) => `
|
||||
"${module.replace("../../src/_components/", "")}": module${index},`)
|
||||
.join("")}
|
||||
};
|
||||
export default modules;
|
||||
`
|
||||
|
||||
return { contents: importerCode, resolveDir: args.pluginData.resolveDir }
|
||||
})
|
||||
},
|
||||
})
|
||||
|
||||
// Plugin for PostCSS
|
||||
const importPostCssPlugin = (options, configuration) => ({
|
||||
name: "postcss",
|
||||
async setup(build) {
|
||||
// Process .css files with PostCSS
|
||||
build.onLoad({ filter: (configuration.filter || /\.css$/) }, async (args) => {
|
||||
const additionalFilePaths = []
|
||||
const css = await fs.readFile(args.path, "utf8")
|
||||
|
||||
// Configure import plugin so PostCSS can properly resolve `@import`ed CSS files
|
||||
const importPlugin = postCssImport({
|
||||
filter: itemPath => !itemPath.startsWith("/"), // ensure it doesn't try to import source-relative paths
|
||||
load: async filename => {
|
||||
let contents = await readCache(filename, "utf-8")
|
||||
const filedir = path.dirname(filename)
|
||||
// We'll want to track any imports later when in watch mode:
|
||||
additionalFilePaths.push(filename)
|
||||
|
||||
// We need to transform `url(...)` in imported CSS so the filepaths are properly
|
||||
// relative to the entrypoint. Seems icky to have to hack this! C'est la vie...
|
||||
contents = contents.replace(/url\(['"]?\.\/(.*?)['"]?\)/g, (_match, p1) => {
|
||||
const relpath = path.relative(args.path, path.resolve(filedir, p1)).replace(/^\.\.\//, "")
|
||||
return `url("${relpath}")`
|
||||
})
|
||||
return contents
|
||||
}
|
||||
})
|
||||
|
||||
// Process the file through PostCSS
|
||||
const result = await postcss([importPlugin, ...options.plugins]).process(css, {
|
||||
map: true,
|
||||
...options.options,
|
||||
from: args.path,
|
||||
});
|
||||
|
||||
return {
|
||||
contents: result.css,
|
||||
loader: "css",
|
||||
watchFiles: [args.path, ...additionalFilePaths],
|
||||
}
|
||||
})
|
||||
},
|
||||
})
|
||||
|
||||
// Plugin for Sass
|
||||
const sassPlugin = (options) => ({
|
||||
name: "sass",
|
||||
async setup(build) {
|
||||
// Process .scss and .sass files with Sass
|
||||
build.onLoad({ filter: /\.(sass|scss)$/ }, async (args) => {
|
||||
if (!sass) {
|
||||
console.error("error: Sass is not installed. Try running `yarn add sass` and then building again.")
|
||||
return
|
||||
}
|
||||
|
||||
const modulesFolder = pathToFileURL("node_modules/")
|
||||
|
||||
const localOptions = {
|
||||
importers: [{
|
||||
// An importer that redirects relative URLs starting with "~" to
|
||||
// `node_modules`.
|
||||
findFileUrl(url) {
|
||||
if (!url.startsWith('~')) return null
|
||||
return new URL(url.substring(1), modulesFolder)
|
||||
}
|
||||
}],
|
||||
sourceMap: true,
|
||||
...options
|
||||
}
|
||||
const result = sass.compile(args.path, localOptions)
|
||||
|
||||
const watchPaths = result.loadedUrls
|
||||
.filter((x) => x.protocol === "file:" && !x.pathname.startsWith(modulesFolder.pathname))
|
||||
.map((x) => x.pathname)
|
||||
|
||||
let cssOutput = result.css.toString()
|
||||
|
||||
if (result.sourceMap) {
|
||||
const basedir = process.cwd()
|
||||
const sourceMap = result.sourceMap
|
||||
|
||||
const promises = sourceMap.sources.map(async source => {
|
||||
const sourceFile = await fs.readFile(fileURLToPath(source), "utf8")
|
||||
return sourceFile
|
||||
})
|
||||
sourceMap.sourcesContent = await Promise.all(promises)
|
||||
|
||||
sourceMap.sources = sourceMap.sources.map(source => {
|
||||
return path.relative(basedir, fileURLToPath(source))
|
||||
})
|
||||
|
||||
cssOutput += '\n' + generateSourceMappingURL(sourceMap)
|
||||
}
|
||||
|
||||
return {
|
||||
contents: cssOutput,
|
||||
loader: "css",
|
||||
watchFiles: [args.path, ...watchPaths],
|
||||
}
|
||||
})
|
||||
},
|
||||
})
|
||||
|
||||
// Set up defaults and generate frontend bundling manifest file
|
||||
const bridgetownPreset = (outputFolder) => ({
|
||||
name: "bridgetownPreset",
|
||||
async setup(build) {
|
||||
// Ensure any imports anywhere starting with `/` are left verbatim
|
||||
// so they can be used in-browser for actual `src` repo files
|
||||
build.onResolve({ filter: /^\// }, args => {
|
||||
return { path: args.path, external: true }
|
||||
})
|
||||
|
||||
build.onStart(() => {
|
||||
console.log("esbuild: frontend bundling started...")
|
||||
})
|
||||
|
||||
// Generate the final output manifest
|
||||
build.onEnd(async (result) => {
|
||||
if (!result.metafile) {
|
||||
console.warn("esbuild: build process error, cannot write manifest")
|
||||
return
|
||||
}
|
||||
|
||||
const manifest = {}
|
||||
const entrypoints = []
|
||||
|
||||
// We don't need `frontend/` cluttering up everything
|
||||
const stripPrefix = (str) => str.replace(/^frontend\//, "")
|
||||
|
||||
// For calculating the file size of bundle output
|
||||
const fileSize = (path) => {
|
||||
const { size } = fsLib.statSync(path)
|
||||
const i = Math.floor(Math.log(size) / Math.log(1024))
|
||||
return (size / Math.pow(1024, i)).toFixed(2) * 1 + ['B', 'KB', 'MB', 'GB', 'TB'][i]
|
||||
}
|
||||
|
||||
// Let's loop through all the various outputs
|
||||
for (const key in result.metafile.outputs) {
|
||||
const value = result.metafile.outputs[key]
|
||||
const inputs = Object.keys(value.inputs)
|
||||
const pathShortener = new RegExp(`^${outputFolder}\\/_bridgetown\\/static\\/`, "g")
|
||||
const outputPath = key.replace(pathShortener, "")
|
||||
|
||||
if (value.entryPoint) {
|
||||
// We have an entrypoint!
|
||||
manifest[stripPrefix(value.entryPoint)] = outputPath
|
||||
entrypoints.push([outputPath, fileSize(key)])
|
||||
} else if (key.match(/index(\.js)?\.[^-.]*\.css/) && inputs.find(item => item.match(/frontend.*\.(s?css|sass)$/))) {
|
||||
// Special treatment for index.css
|
||||
const input = inputs.find(item => item.match(/frontend.*\.(s?css|sass)$/))
|
||||
manifest[stripPrefix(input)] = outputPath
|
||||
entrypoints.push([outputPath, fileSize(key)])
|
||||
} else if (inputs.length > 0) {
|
||||
// Naive implementation, we'll just grab the first input and hope it's accurate
|
||||
manifest[stripPrefix(inputs[0])] = outputPath
|
||||
}
|
||||
}
|
||||
|
||||
const manifestFolder = path.join(process.cwd(), ".bridgetown-cache", "frontend-bundling")
|
||||
await fs.mkdir(manifestFolder, { recursive: true })
|
||||
await fs.writeFile(path.join(manifestFolder, "manifest.json"), JSON.stringify(manifest))
|
||||
|
||||
console.log("esbuild: frontend bundling complete!")
|
||||
console.log("esbuild: entrypoints processed:")
|
||||
entrypoints.forEach(entrypoint => {
|
||||
const [entrypointName, entrypointSize] = entrypoint
|
||||
console.log(` - ${entrypointName}: ${entrypointSize}`)
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
// Load the PostCSS config from postcss.config.js or whatever else is a supported location/format
|
||||
const postcssrc = require("postcss-load-config")
|
||||
|
||||
module.exports = async (outputFolder, esbuildOptions) => {
|
||||
esbuildOptions.plugins = esbuildOptions.plugins || []
|
||||
// Add the PostCSS & glob plugins to the top of the plugin stack
|
||||
const postCssConfig = await postcssrc()
|
||||
esbuildOptions.plugins.unshift(importPostCssPlugin(postCssConfig, esbuildOptions.postCssPluginConfig || {}))
|
||||
if (esbuildOptions.postCssPluginConfig) delete esbuildOptions.postCssPluginConfig
|
||||
esbuildOptions.plugins.unshift(importGlobPlugin())
|
||||
// Add the Sass plugin
|
||||
esbuildOptions.plugins.push(sassPlugin(esbuildOptions.sassOptions || {}))
|
||||
// Add the Bridgetown preset
|
||||
esbuildOptions.plugins.push(bridgetownPreset(outputFolder))
|
||||
|
||||
// esbuild, take it away!
|
||||
require("esbuild").build({
|
||||
bundle: true,
|
||||
loader: {
|
||||
".jpg": "file",
|
||||
".png": "file",
|
||||
".gif": "file",
|
||||
".svg": "file",
|
||||
".woff": "file",
|
||||
".woff2": "file",
|
||||
".ttf": "file",
|
||||
".eot": "file",
|
||||
},
|
||||
resolveExtensions: [".tsx", ".ts", ".jsx", ".js", ".css", ".scss", ".sass", ".json", ".js.rb"],
|
||||
nodePaths: ["frontend/javascript", "frontend/styles"],
|
||||
watch: process.argv.includes("--watch"),
|
||||
minify: process.argv.includes("--minify"),
|
||||
sourcemap: true,
|
||||
target: "es2016",
|
||||
entryPoints: ["./frontend/javascript/index.js"],
|
||||
entryNames: "[dir]/[name].[hash]",
|
||||
outdir: path.join(process.cwd(), `${outputFolder}/_bridgetown/static`),
|
||||
publicPath: "/_bridgetown/static",
|
||||
metafile: true,
|
||||
...esbuildOptions,
|
||||
}).catch(() => process.exit(1))
|
||||
}
|
|
@ -1,43 +0,0 @@
|
|||
Bridgetown.configure do |config|
|
||||
# You can configure aspects of your Bridgetown site here instead of using
|
||||
# `bridgetown.config.yml`. For example:
|
||||
#
|
||||
# permalink "simple"
|
||||
# timezone "America/Los_Angeles"
|
||||
#
|
||||
# You can also modify options on the configuration object directly, like so:
|
||||
#
|
||||
# config.autoload_paths << "models"
|
||||
#
|
||||
|
||||
# You can use `init` to initialize various Bridgetown features or plugin gems.
|
||||
# For example, you can use the Dotenv gem to load environment variables from
|
||||
# `.env`. Just `bundle add dotenv` and then uncomment this:
|
||||
#
|
||||
# init :dotenv
|
||||
#
|
||||
|
||||
# Uncomment to use Bridgetown SSR (aka dynamic rendering of content via Roda):
|
||||
#
|
||||
# init :ssr
|
||||
#
|
||||
|
||||
# Uncomment to use file-based dynamic template routing via Roda (make sure you
|
||||
# uncomment the gem dependency in your `Gemfile` as well):
|
||||
#
|
||||
# init :"bridgetown-routes"
|
||||
#
|
||||
|
||||
# We also recommend that if you're using Roda routes you include this plugin
|
||||
# so you can get a generated routes list in `.routes.json`. You can then run
|
||||
# `bin/bridgetown roda:routes` to print the routes. (This will require you to
|
||||
# comment your route blocks. See example in `server/routes/hello.rb.sample`.)
|
||||
#
|
||||
# only :server do
|
||||
# init :parse_routes
|
||||
# end
|
||||
#
|
||||
|
||||
# For more documentation on how to configure your site using this initializers file,
|
||||
# visit: https://edge.bridgetownrb.com/docs/configuration/initializers/
|
||||
end
|
|
@ -1,31 +0,0 @@
|
|||
# Puma is a fast, concurrent web server for Ruby & Rack
|
||||
#
|
||||
# Learn more at: https://puma.io
|
||||
# Bridgetown configuration documentation:
|
||||
# https://edge.bridgetownrb.com/docs/configuration/puma
|
||||
|
||||
# This port number can be overriden by a bind configuration option
|
||||
#
|
||||
port ENV.fetch("BRIDGETOWN_PORT") { 4000 }
|
||||
|
||||
# You can adjust the number of workers (separate processes) and threads
|
||||
# (per process) based on your production system
|
||||
#
|
||||
if ENV["BRIDGETOWN_ENV"] == "production"
|
||||
workers ENV.fetch("BRIDGETOWN_CONCURRENCY") { 4 }
|
||||
end
|
||||
|
||||
max_threads_count = ENV.fetch("BRIDGETOWN_MAX_THREADS") { 5 }
|
||||
min_threads_count = ENV.fetch("BRIDGETOWN_MIN_THREADS") { max_threads_count }
|
||||
threads min_threads_count, max_threads_count
|
||||
|
||||
# Preload the application for maximum performance
|
||||
#
|
||||
preload_app!
|
||||
|
||||
# Use the Bridgetown logger format
|
||||
#
|
||||
require "bridgetown-core/rack/logger"
|
||||
log_formatter do |msg|
|
||||
Bridgetown::Rack::Logger.message_with_prefix msg
|
||||
end
|
|
@ -1,36 +0,0 @@
|
|||
const build = require("./config/esbuild.defaults.js")
|
||||
|
||||
// Update this if you need to configure a destination folder other than `output`
|
||||
const outputFolder = "output"
|
||||
|
||||
// You can customize this as you wish, perhaps to add new esbuild plugins.
|
||||
//
|
||||
// ```
|
||||
// const path = require("path")
|
||||
// const esbuildCopy = require('esbuild-plugin-copy').default
|
||||
// const esbuildOptions = {
|
||||
// plugins: [
|
||||
// esbuildCopy({
|
||||
// assets: {
|
||||
// from: [path.resolve(__dirname, 'node_modules/somepackage/files/*')],
|
||||
// to: [path.resolve(__dirname, 'output/_bridgetown/somepackage/files')],
|
||||
// },
|
||||
// verbose: false
|
||||
// }),
|
||||
// ]
|
||||
// }
|
||||
// ```
|
||||
//
|
||||
// You can also support custom base_path deployments via changing `publicPath`.
|
||||
//
|
||||
// ```
|
||||
// const esbuildOptions = { publicPath: "/my_subfolder/_bridgetown/static" }
|
||||
// ```
|
||||
|
||||
/**
|
||||
* @typedef { import("esbuild").BuildOptions } BuildOptions
|
||||
* @type {BuildOptions}
|
||||
*/
|
||||
const esbuildOptions = {}
|
||||
|
||||
build(outputFolder, esbuildOptions)
|
|
@ -1,6 +0,0 @@
|
|||
import "index.scss"
|
||||
|
||||
// Import all JavaScript & CSS files from src/_components
|
||||
import components from "bridgetownComponents/**/*.{js,jsx,js.rb,css}"
|
||||
|
||||
console.info("Bridgetown is loaded!")
|
|
@ -1,434 +0,0 @@
|
|||
@import url(https://fonts.bunny.net/css?family=poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i|raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i|red-hat-text:300,300i,400,400i,500,500i,600,600i,700,700i);
|
||||
|
||||
body {
|
||||
background: #4E4E73;
|
||||
color: white;
|
||||
font-family: 'Poppins', sans-serif;
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
overflow-x: hidden;
|
||||
* {
|
||||
outline: none;
|
||||
cursor: default;
|
||||
}
|
||||
a {
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
::selection {color: inherit; background: rgba(255, 255, 255, 0.25);}
|
||||
::-webkit-scrollbar {width: 0px}
|
||||
|
||||
form {
|
||||
display: grid;
|
||||
input, textarea {
|
||||
margin-bottom: 24px;
|
||||
background: #3d3d5b;
|
||||
border: none;
|
||||
padding: 6px 12px;
|
||||
border-radius: 4px;
|
||||
color: white;
|
||||
}
|
||||
textarea {
|
||||
height: 120px;
|
||||
}
|
||||
button[type="submit"] {
|
||||
background: #6d6d95;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
padding: 12px;
|
||||
width: fit-content;
|
||||
justify-self: right;
|
||||
}
|
||||
}
|
||||
|
||||
svg.svg-inline--fa {
|
||||
min-width: 18px;
|
||||
display: inline-block;
|
||||
}
|
||||
p.boxl a {
|
||||
text-decoration: none;
|
||||
background: rgb(255 255 255 / 10%);
|
||||
border-radius: 6px;
|
||||
display: block;
|
||||
padding: 16px 24px;
|
||||
border: 1px rgb(255 255 255 / 10%) solid;
|
||||
}
|
||||
|
||||
a#button {
|
||||
background: white;
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
padding: 6px 12px;
|
||||
border-radius: 6px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.broadcast {
|
||||
text-decoration: none;
|
||||
background: rgb(255 255 255 / 10%);
|
||||
padding: 6px 16px;
|
||||
border-bottom: 1px white solid;
|
||||
font-size: 14px;
|
||||
z-index: 10;
|
||||
* {cursor: pointer}
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
p {
|
||||
font-size: 14px !important;
|
||||
margin: 0px;
|
||||
}
|
||||
svg {
|
||||
margin: 0px 8px 0px 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.article {
|
||||
img {
|
||||
width: 100%;
|
||||
border-radius: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
header {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
height: 160px;
|
||||
background: #3D3D5B;
|
||||
text-align: center;
|
||||
.header-content {
|
||||
display: grid;
|
||||
grid-auto-flow: column;
|
||||
align-items: center;
|
||||
height: 160px;
|
||||
max-width: 1200px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translate(-50%);
|
||||
width: inherit;
|
||||
.header-start {
|
||||
display: flex;
|
||||
h1 {
|
||||
cursor: pointer;
|
||||
span#h-sudo {
|
||||
font-family: 'Raleway';
|
||||
cursor: pointer;
|
||||
font-weight: normal;
|
||||
margin-right: -6px;
|
||||
}
|
||||
span#h-vanilla {
|
||||
font-family: 'Red Hat Text';
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
img {
|
||||
height: 78px;
|
||||
margin-right: 44px;
|
||||
cursor: pointer;
|
||||
}
|
||||
a {
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
.header-end {
|
||||
.header-end-desktop {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
float: right;
|
||||
a {
|
||||
text-decoration: none;
|
||||
margin-left: 32px;
|
||||
}
|
||||
svg {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.header-end-mobile {
|
||||
display: none
|
||||
button {
|
||||
color: white;
|
||||
background: transparent;
|
||||
border: none;
|
||||
aspect-ratio: 1;
|
||||
font-size: 42px;
|
||||
}
|
||||
.header-end-menu-mobile {
|
||||
position: fixed;
|
||||
z-index: 10;
|
||||
top: 0px;
|
||||
background: rgb(61 61 91 / 90%);
|
||||
backdrop-filter: blur(4px);
|
||||
width: 100%;
|
||||
left: 50%;
|
||||
display: none;
|
||||
font-size: 24px;
|
||||
grid-gap: 40px;
|
||||
padding: 60px;
|
||||
transform: translate(-50%);
|
||||
border-bottom: 2px rgb(255 255 255 / 25%) solid;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
body > header > div.header-content > div.header-end > div.header-end-mobile > button {
|
||||
color: white;
|
||||
background: #4e4e73;
|
||||
border: none;
|
||||
padding: 6px 12px;
|
||||
border-radius: 6px;
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
footer {
|
||||
margin-top: 24px;
|
||||
font-size: 14px !important;
|
||||
.footer-content {
|
||||
display: grid;
|
||||
grid-auto-flow: column;
|
||||
align-items: center;
|
||||
.footer-start {
|
||||
font-size: 14px !important;
|
||||
}
|
||||
.footer-end {
|
||||
text-align: right;
|
||||
a {
|
||||
margin-left: 32px;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.page-content {
|
||||
margin-top: 210px;
|
||||
p {
|
||||
font-size: 14px;
|
||||
margin: 4px 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.hero {
|
||||
.hero-wb {
|
||||
position: absolute;
|
||||
background: #3d3d5b;
|
||||
width: 100%;
|
||||
height: 610px;
|
||||
left: 50%;
|
||||
transform: translate(-50%);
|
||||
z-index: -1;
|
||||
}
|
||||
.hero-content {
|
||||
display: grid;
|
||||
grid-auto-flow: column;
|
||||
align-items: center;
|
||||
background: #3d3d5a;
|
||||
margin: -50px 0px 130px 0px;
|
||||
height: 610px;
|
||||
.hero-start {
|
||||
margin-top: -170px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.timeline {
|
||||
.timeline-content {
|
||||
display: grid;
|
||||
grid-auto-flow: column;
|
||||
align-items: center;
|
||||
.timeline-start {
|
||||
display: grid;
|
||||
grid-auto-flow: column;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
.timeline-when h1 {
|
||||
font-size: 20px;
|
||||
}
|
||||
.timelime-line-begin {
|
||||
background: white;
|
||||
height: 50%;
|
||||
width: 4px;
|
||||
display: flex;
|
||||
align-self: end;
|
||||
}
|
||||
.timelime-line-normal {
|
||||
background: white;
|
||||
height: 100%;
|
||||
width: 4px;
|
||||
display: flex;
|
||||
}
|
||||
.timelime-line-end {
|
||||
background: white;
|
||||
height: 50%;
|
||||
width: 4px;
|
||||
display: flex;
|
||||
align-self: start;
|
||||
}
|
||||
}
|
||||
.timeline-end {
|
||||
text-align: right;
|
||||
img {
|
||||
border-radius: 6px;
|
||||
box-shadow: 0px 4px 60px 0px rgb(0 0 0 / 25%);
|
||||
transform: scale(0.8);
|
||||
transition: 1s transform;
|
||||
}
|
||||
}
|
||||
.timeline-end img:hover {
|
||||
transform: scale(0.9);
|
||||
transition: 1s transform;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.project {
|
||||
border-radius: 10px;
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
display: grid;
|
||||
grid-template-columns: 50% 50%;
|
||||
align-items: center;
|
||||
height: 400px;
|
||||
padding-left: 92px;
|
||||
border: 2px rgb(255 255 255 / 25%) solid;
|
||||
margin-bottom: 16px;
|
||||
* {cursor: pointer}
|
||||
a {text-decoration: none}
|
||||
#p-date {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
margin: -12px 0px 12px 0px;
|
||||
}
|
||||
}
|
||||
|
||||
a.nr-card {
|
||||
display: grid;
|
||||
grid-template-columns: 25% 75%;
|
||||
grid-gap: 64px;
|
||||
text-decoration: none;
|
||||
* {
|
||||
cursor: pointer;
|
||||
}
|
||||
h2 {
|
||||
font-size: 24px;
|
||||
font-family: 'Red Hat Text';
|
||||
}
|
||||
h3 {
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
font-family: 'Red Hat Text';
|
||||
}
|
||||
img {
|
||||
width: 100%;
|
||||
border-radius: 6px;
|
||||
border: 2px rgb(255 255 255 / 10%) solid;
|
||||
aspect-ratio: 16/9;
|
||||
}
|
||||
}
|
||||
|
||||
// Doc
|
||||
.doc {
|
||||
display: grid;
|
||||
grid-template-columns: 200px calc(100% - 200px);
|
||||
grid-gap: 32px;
|
||||
.sidebar-doc {
|
||||
ul {
|
||||
padding: 0px;
|
||||
display: grid;
|
||||
grid-gap: 6px;
|
||||
a {
|
||||
line-height: 18px;
|
||||
margin-bottom: 6px;
|
||||
text-decoration: none;
|
||||
padding: 6px 0px 6px 12px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.doc-content {
|
||||
code.highlighter-rouge {
|
||||
background: #6d6d95;
|
||||
color: white;
|
||||
border-radius: 4px;
|
||||
font-family: monospace;
|
||||
}
|
||||
pre {
|
||||
background: #6d6d95;
|
||||
color: white;
|
||||
border-radius: 4px;
|
||||
padding: 6px;
|
||||
font-family: monospace;
|
||||
}
|
||||
blockquote {
|
||||
width: max-content;
|
||||
background: #6d6d95;
|
||||
border-left: 2px white solid;
|
||||
margin: 0px 0px 24px 0px;
|
||||
padding: 6px 12px;
|
||||
border-radius: 0px 4px 4px 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
@media only screen and (max-width:1300px) {
|
||||
body, .header-content {
|
||||
max-width: calc(100% - 100px) !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 920px) {
|
||||
header {
|
||||
height: 200px !important;
|
||||
}
|
||||
.header-content {
|
||||
grid-auto-flow: row !important;
|
||||
height: 150px !important;
|
||||
place-items: center !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 650px) {
|
||||
body > header > div.header-content > div.header-end > div.header-end-mobile > button {
|
||||
display: inherit !important;
|
||||
}
|
||||
.header-end-desktop {
|
||||
display: none !important;
|
||||
}
|
||||
a.nr-card {
|
||||
grid-auto-flow: row !important;
|
||||
grid-template-columns: inherit !important;
|
||||
grid-gap: 0px !important;
|
||||
}
|
||||
a.nr-card h3 {
|
||||
font-size: 12px !important;
|
||||
margin: 0px 0px -12px 0px !important;
|
||||
}
|
||||
.project {
|
||||
background-position: -300px 0px !important;
|
||||
padding: 0px 0px 0px 50px !important;
|
||||
grid-template-columns: 90% !important;
|
||||
}
|
||||
.hero-end, .timelime-line-normal, .timelime-line-end, .timelime-line-begin {
|
||||
display: none !important;
|
||||
}
|
||||
.timeline-content {
|
||||
grid-auto-flow: row !important;
|
||||
}
|
||||
.timeline img {
|
||||
width: 100%;
|
||||
}
|
||||
.timeline-when h1 {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
class SiteBuilder < Bridgetown::Builder
|
||||
# write builders which subclass SiteBuilder in plugins/builders
|
||||
end
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
module.exports = {
|
||||
plugins: {
|
||||
'postcss-flexbugs-fixes': {},
|
||||
'postcss-preset-env': {
|
||||
autoprefixer: {
|
||||
flexbox: 'no-2009'
|
||||
},
|
||||
stage: 3
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
# Roda is a simple Rack-based framework with a flexible architecture based
|
||||
# on the concept of a routing tree. Bridgetown uses it for its development
|
||||
# server, but you can also run it in production for fast, dynamic applications.
|
||||
#
|
||||
# Learn more at: http://roda.jeremyevans.net
|
||||
|
||||
class RodaApp < Bridgetown::Rack::Roda
|
||||
# Some Roda configuration is handled in the `config/initializers.rb` file.
|
||||
# But you can also add additional Roda configuration here if needed.
|
||||
|
||||
route do |r|
|
||||
# Load Roda routes in server/routes (and src/_routes via `bridgetown-routes`)
|
||||
r.bridgetown
|
||||
end
|
||||
end
|
|
@ -1,10 +0,0 @@
|
|||
# Rename this file to hello.rb to try it out
|
||||
|
||||
class Routes::Hello < Bridgetown::Rack::Routes
|
||||
route do |r|
|
||||
# route: GET /hello/:name
|
||||
r.get "hello", String do |name|
|
||||
{ hello: "friend #{name}" }
|
||||
end
|
||||
end
|
||||
end
|
866
yarn.lock
866
yarn.lock
|
@ -1,866 +0,0 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@csstools/postcss-cascade-layers@^1.1.1":
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz#8a997edf97d34071dd2e37ea6022447dd9e795ad"
|
||||
integrity sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==
|
||||
dependencies:
|
||||
"@csstools/selector-specificity" "^2.0.2"
|
||||
postcss-selector-parser "^6.0.10"
|
||||
|
||||
"@csstools/postcss-color-function@^1.1.1":
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b"
|
||||
integrity sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==
|
||||
dependencies:
|
||||
"@csstools/postcss-progressive-custom-properties" "^1.1.0"
|
||||
postcss-value-parser "^4.2.0"
|
||||
|
||||
"@csstools/postcss-font-format-keywords@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz#677b34e9e88ae997a67283311657973150e8b16a"
|
||||
integrity sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==
|
||||
dependencies:
|
||||
postcss-value-parser "^4.2.0"
|
||||
|
||||
"@csstools/postcss-hwb-function@^1.0.2":
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz#ab54a9fce0ac102c754854769962f2422ae8aa8b"
|
||||
integrity sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==
|
||||
dependencies:
|
||||
postcss-value-parser "^4.2.0"
|
||||
|
||||
"@csstools/postcss-ic-unit@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz#28237d812a124d1a16a5acc5c3832b040b303e58"
|
||||
integrity sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==
|
||||
dependencies:
|
||||
"@csstools/postcss-progressive-custom-properties" "^1.1.0"
|
||||
postcss-value-parser "^4.2.0"
|
||||
|
||||
"@csstools/postcss-is-pseudo-class@^2.0.7":
|
||||
version "2.0.7"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz#846ae6c0d5a1eaa878fce352c544f9c295509cd1"
|
||||
integrity sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==
|
||||
dependencies:
|
||||
"@csstools/selector-specificity" "^2.0.0"
|
||||
postcss-selector-parser "^6.0.10"
|
||||
|
||||
"@csstools/postcss-nested-calc@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz#d7e9d1d0d3d15cf5ac891b16028af2a1044d0c26"
|
||||
integrity sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==
|
||||
dependencies:
|
||||
postcss-value-parser "^4.2.0"
|
||||
|
||||
"@csstools/postcss-normalize-display-values@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz#15da54a36e867b3ac5163ee12c1d7f82d4d612c3"
|
||||
integrity sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==
|
||||
dependencies:
|
||||
postcss-value-parser "^4.2.0"
|
||||
|
||||
"@csstools/postcss-oklab-function@^1.1.1":
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz#88cee0fbc8d6df27079ebd2fa016ee261eecf844"
|
||||
integrity sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==
|
||||
dependencies:
|
||||
"@csstools/postcss-progressive-custom-properties" "^1.1.0"
|
||||
postcss-value-parser "^4.2.0"
|
||||
|
||||
"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0":
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa"
|
||||
integrity sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==
|
||||
dependencies:
|
||||
postcss-value-parser "^4.2.0"
|
||||
|
||||
"@csstools/postcss-stepped-value-functions@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz#f8772c3681cc2befed695e2b0b1d68e22f08c4f4"
|
||||
integrity sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==
|
||||
dependencies:
|
||||
postcss-value-parser "^4.2.0"
|
||||
|
||||
"@csstools/postcss-text-decoration-shorthand@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz#ea96cfbc87d921eca914d3ad29340d9bcc4c953f"
|
||||
integrity sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==
|
||||
dependencies:
|
||||
postcss-value-parser "^4.2.0"
|
||||
|
||||
"@csstools/postcss-trigonometric-functions@^1.0.2":
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz#94d3e4774c36d35dcdc88ce091336cb770d32756"
|
||||
integrity sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==
|
||||
dependencies:
|
||||
postcss-value-parser "^4.2.0"
|
||||
|
||||
"@csstools/postcss-unset-value@^1.0.2":
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz#c99bb70e2cdc7312948d1eb41df2412330b81f77"
|
||||
integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==
|
||||
|
||||
"@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.2":
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.1.1.tgz#c9c61d9fe5ca5ac664e1153bb0aa0eba1c6d6308"
|
||||
integrity sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw==
|
||||
|
||||
"@esbuild/android-arm@0.15.18":
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80"
|
||||
integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==
|
||||
|
||||
"@esbuild/linux-loong64@0.15.18":
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239"
|
||||
integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==
|
||||
|
||||
anymatch@~3.1.2:
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
|
||||
integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
|
||||
dependencies:
|
||||
normalize-path "^3.0.0"
|
||||
picomatch "^2.0.4"
|
||||
|
||||
autoprefixer@^10.4.13:
|
||||
version "10.4.13"
|
||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8"
|
||||
integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==
|
||||
dependencies:
|
||||
browserslist "^4.21.4"
|
||||
caniuse-lite "^1.0.30001426"
|
||||
fraction.js "^4.2.0"
|
||||
normalize-range "^0.1.2"
|
||||
picocolors "^1.0.0"
|
||||
postcss-value-parser "^4.2.0"
|
||||
|
||||
balanced-match@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
||||
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
||||
|
||||
binary-extensions@^2.0.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
|
||||
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
|
||||
|
||||
brace-expansion@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
|
||||
integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
|
||||
braces@~3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
|
||||
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
|
||||
dependencies:
|
||||
fill-range "^7.0.1"
|
||||
|
||||
browserslist@^4.21.4:
|
||||
version "4.21.5"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7"
|
||||
integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30001449"
|
||||
electron-to-chromium "^1.4.284"
|
||||
node-releases "^2.0.8"
|
||||
update-browserslist-db "^1.0.10"
|
||||
|
||||
caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449:
|
||||
version "1.0.30001462"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001462.tgz#b2e801e37536d453731286857c8520d3dcee15fe"
|
||||
integrity sha512-PDd20WuOBPiasZ7KbFnmQRyuLE7cFXW2PVd7dmALzbkUXEP46upAuCDm9eY9vho8fgNMGmbAX92QBZHzcnWIqw==
|
||||
|
||||
"chokidar@>=3.0.0 <4.0.0":
|
||||
version "3.5.3"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
|
||||
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
|
||||
dependencies:
|
||||
anymatch "~3.1.2"
|
||||
braces "~3.0.2"
|
||||
glob-parent "~5.1.2"
|
||||
is-binary-path "~2.1.0"
|
||||
is-glob "~4.0.1"
|
||||
normalize-path "~3.0.0"
|
||||
readdirp "~3.6.0"
|
||||
optionalDependencies:
|
||||
fsevents "~2.3.2"
|
||||
|
||||
css-blank-pseudo@^3.0.3:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz#36523b01c12a25d812df343a32c322d2a2324561"
|
||||
integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==
|
||||
dependencies:
|
||||
postcss-selector-parser "^6.0.9"
|
||||
|
||||
css-has-pseudo@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz#57f6be91ca242d5c9020ee3e51bbb5b89fc7af73"
|
||||
integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==
|
||||
dependencies:
|
||||
postcss-selector-parser "^6.0.9"
|
||||
|
||||
css-prefers-color-scheme@^6.0.3:
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349"
|
||||
integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==
|
||||
|
||||
cssdb@^7.1.0:
|
||||
version "7.4.1"
|
||||
resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.4.1.tgz#61d55c0173126689922a219e15e131e4b5caf422"
|
||||
integrity sha512-0Q8NOMpXJ3iTDDbUv9grcmQAfdDx4qz+fN/+Md2FGbevT+6+bJNQ2LjB2YIUlLbpBTM32idU1Sb+tb/uGt6/XQ==
|
||||
|
||||
cssesc@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
|
||||
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
|
||||
|
||||
electron-to-chromium@^1.4.284:
|
||||
version "1.4.325"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.325.tgz#7b97238a61192d85d055d97f3149832b3617d37b"
|
||||
integrity sha512-K1C03NT4I7BuzsRdCU5RWkgZxtswnKDYM6/eMhkEXqKu4e5T+ck610x3FPzu1y7HVFSiQKZqP16gnJzPpji1TQ==
|
||||
|
||||
esbuild-android-64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5"
|
||||
integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==
|
||||
|
||||
esbuild-android-arm64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04"
|
||||
integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==
|
||||
|
||||
esbuild-darwin-64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410"
|
||||
integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==
|
||||
|
||||
esbuild-darwin-arm64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz#b6dfc7799115a2917f35970bfbc93ae50256b337"
|
||||
integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==
|
||||
|
||||
esbuild-freebsd-64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2"
|
||||
integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==
|
||||
|
||||
esbuild-freebsd-arm64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635"
|
||||
integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==
|
||||
|
||||
esbuild-linux-32@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce"
|
||||
integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==
|
||||
|
||||
esbuild-linux-64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c"
|
||||
integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==
|
||||
|
||||
esbuild-linux-arm64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d"
|
||||
integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==
|
||||
|
||||
esbuild-linux-arm@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc"
|
||||
integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==
|
||||
|
||||
esbuild-linux-mips64le@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb"
|
||||
integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==
|
||||
|
||||
esbuild-linux-ppc64le@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507"
|
||||
integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==
|
||||
|
||||
esbuild-linux-riscv64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6"
|
||||
integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==
|
||||
|
||||
esbuild-linux-s390x@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb"
|
||||
integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==
|
||||
|
||||
esbuild-netbsd-64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998"
|
||||
integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==
|
||||
|
||||
esbuild-openbsd-64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8"
|
||||
integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==
|
||||
|
||||
esbuild-sunos-64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971"
|
||||
integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==
|
||||
|
||||
esbuild-windows-32@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3"
|
||||
integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==
|
||||
|
||||
esbuild-windows-64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz#0fc761d785414284fc408e7914226d33f82420d0"
|
||||
integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==
|
||||
|
||||
esbuild-windows-arm64@0.15.18:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7"
|
||||
integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==
|
||||
|
||||
esbuild@^0.15.12:
|
||||
version "0.15.18"
|
||||
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.18.tgz#ea894adaf3fbc036d32320a00d4d6e4978a2f36d"
|
||||
integrity sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==
|
||||
optionalDependencies:
|
||||
"@esbuild/android-arm" "0.15.18"
|
||||
"@esbuild/linux-loong64" "0.15.18"
|
||||
esbuild-android-64 "0.15.18"
|
||||
esbuild-android-arm64 "0.15.18"
|
||||
esbuild-darwin-64 "0.15.18"
|
||||
esbuild-darwin-arm64 "0.15.18"
|
||||
esbuild-freebsd-64 "0.15.18"
|
||||
esbuild-freebsd-arm64 "0.15.18"
|
||||
esbuild-linux-32 "0.15.18"
|
||||
esbuild-linux-64 "0.15.18"
|
||||
esbuild-linux-arm "0.15.18"
|
||||
esbuild-linux-arm64 "0.15.18"
|
||||
esbuild-linux-mips64le "0.15.18"
|
||||
esbuild-linux-ppc64le "0.15.18"
|
||||
esbuild-linux-riscv64 "0.15.18"
|
||||
esbuild-linux-s390x "0.15.18"
|
||||
esbuild-netbsd-64 "0.15.18"
|
||||
esbuild-openbsd-64 "0.15.18"
|
||||
esbuild-sunos-64 "0.15.18"
|
||||
esbuild-windows-32 "0.15.18"
|
||||
esbuild-windows-64 "0.15.18"
|
||||
esbuild-windows-arm64 "0.15.18"
|
||||
|
||||
escalade@^3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
|
||||
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
|
||||
|
||||
fill-range@^7.0.1:
|
||||
version "7.0.1"
|
||||
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
|
||||
integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
|
||||
dependencies:
|
||||
to-regex-range "^5.0.1"
|
||||
|
||||
fraction.js@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
|
||||
integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
|
||||
|
||||
fs.realpath@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
||||
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
|
||||
|
||||
fsevents@~2.3.2:
|
||||
version "2.3.2"
|
||||
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
|
||||
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
|
||||
|
||||
function-bind@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
|
||||
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
|
||||
|
||||
glob-parent@~5.1.2:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
|
||||
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
|
||||
dependencies:
|
||||
is-glob "^4.0.1"
|
||||
|
||||
glob@^9.3.4:
|
||||
version "9.3.4"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.4.tgz#e75dee24891a80c25cc7ee1dd327e126b98679af"
|
||||
integrity sha512-qaSc49hojMOv1EPM4EuyITjDSgSKI0rthoHnvE81tcOi1SCVndHko7auqxdQ14eiQG2NDBJBE86+2xIrbIvrbA==
|
||||
dependencies:
|
||||
fs.realpath "^1.0.0"
|
||||
minimatch "^8.0.2"
|
||||
minipass "^4.2.4"
|
||||
path-scurry "^1.6.1"
|
||||
|
||||
has@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
|
||||
integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
|
||||
dependencies:
|
||||
function-bind "^1.1.1"
|
||||
|
||||
immutable@^4.0.0:
|
||||
version "4.2.4"
|
||||
resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.4.tgz#83260d50889526b4b531a5e293709a77f7c55a2a"
|
||||
integrity sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==
|
||||
|
||||
is-binary-path@~2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
|
||||
integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
|
||||
dependencies:
|
||||
binary-extensions "^2.0.0"
|
||||
|
||||
is-core-module@^2.9.0:
|
||||
version "2.11.0"
|
||||
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
|
||||
integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
|
||||
dependencies:
|
||||
has "^1.0.3"
|
||||
|
||||
is-extglob@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
|
||||
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
|
||||
|
||||
is-glob@^4.0.1, is-glob@~4.0.1:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
|
||||
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
|
||||
dependencies:
|
||||
is-extglob "^2.1.1"
|
||||
|
||||
is-number@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
|
||||
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
|
||||
|
||||
lilconfig@^2.0.5:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52"
|
||||
integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
|
||||
|
||||