feat: add monorepo to template
This commit is contained in:
18
.tools/bun/install/global/node_modules/@moonrepo/cli/LICENSE
generated
vendored
Normal file
18
.tools/bun/install/global/node_modules/@moonrepo/cli/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 moonrepo, Inc., Miles Johnson
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
||||
associated documentation files (the "Software"), to deal in the Software without restriction,
|
||||
including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
||||
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial
|
||||
portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
|
||||
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
|
||||
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
104
.tools/bun/install/global/node_modules/@moonrepo/cli/README.md
generated
vendored
Normal file
104
.tools/bun/install/global/node_modules/@moonrepo/cli/README.md
generated
vendored
Normal file
@@ -0,0 +1,104 @@
|
||||
# @moonrepo/cli
|
||||
|
||||
The official CLI for [moon](https://moonrepo.dev), a build system and repo management tool for the
|
||||
web ecosystem, written in Rust! Supports JavaScript, TypeScript, Bash, Rust, Go, and much more!
|
||||
|
||||
- [Documentation](https://moonrepo.dev/docs)
|
||||
- [Getting started](https://moonrepo.dev/docs/install)
|
||||
- [Feature comparison](https://moonrepo.dev/docs/comparison)
|
||||
- [FAQ](https://moonrepo.dev/docs/faq)
|
||||
|
||||
## Installation
|
||||
|
||||
moon can be installed with bash:
|
||||
|
||||
```shell
|
||||
curl -fsSL https://moonrepo.dev/install/moon.sh | bash
|
||||
```
|
||||
|
||||
Or with npm, pnpm, or yarn.
|
||||
|
||||
```shell
|
||||
yarn add --dev @moonrepo/cli
|
||||
```
|
||||
|
||||
Once installed, initialize moon in your repository.
|
||||
|
||||
```shell
|
||||
moon init
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Once [projects](https://moonrepo.dev/docs/create-project) and
|
||||
[tasks](https://moonrepo.dev/docs/create-task) have been configured, tasks can be ran with:
|
||||
|
||||
```bash
|
||||
# Run `lint` in project `app`
|
||||
moon run app:lint
|
||||
|
||||
# Run `lint` in all projects
|
||||
moon run :lint
|
||||
```
|
||||
|
||||
## Why use moon?
|
||||
|
||||
Working in the JavaScript ecosystem can be very involved, especially when it comes to managing a
|
||||
repository effectively. Which package manager to use? Which Node.js version to use? How to import
|
||||
node modules? How to build packages? So on and so forth. moon aims to streamline this entire process
|
||||
and provide a first-class developer experience.
|
||||
|
||||
- **Increased productivity** - With [Rust](https://www.rust-lang.org/) as our foundation, we can
|
||||
ensure robust speeds, high performance, and low memory usage. Instead of long builds blocking you,
|
||||
focus on your work.
|
||||
- **Exceptional developer experience** - As veterans of the JavaScript ecosystem, we're well aware
|
||||
of the pain points and frustrations. Our goal is to mitigate and overcome these obstacles.
|
||||
- **Incremental adoption** - At its core, moon has been designed to be adopted incrementally and is
|
||||
_not_ an "all at once adoption". Migrate project-by-project, or task-by-task, it's up to you!
|
||||
- **Reduced scripts confusion** - `package.json` scripts can become unwieldy, very quickly. No more
|
||||
duplicating the same script into every package, or reverse-engineering which root scripts to use.
|
||||
With moon, all you need to know is the project name, and a task name.
|
||||
- **Ensure correct versions** - Whether it's Node.js or npm, ensure the same version of each tool is
|
||||
the same across _every_ developer's environment. No more wasted hours of debugging.
|
||||
- **Automation built-in** - When applicable, moon will automatically install `node_modules`, or sync
|
||||
package dependencies, or even sync TypeScript project references.
|
||||
- And of course, the amazing list of features below!
|
||||
|
||||
## Features
|
||||
|
||||
> Not all features are currently supported, view the documentation for an accurate list!
|
||||
|
||||
#### Management
|
||||
|
||||
- **Smart hashing** - Collects inputs from multiple sources to ensure builds are deterministic and
|
||||
reproducible.
|
||||
- **Remote caching** - Persists builds, hashes, and caches between teammates and CI/CD environments.
|
||||
- **Integrated toolchain** - Automatically downloads and installs explicit versions of Node.js and
|
||||
other tools for consistency across the entire workspace or per project.
|
||||
- **Multi-platform** - Runs on common development platforms: Linux, macOS, and Windows.
|
||||
|
||||
#### Organization
|
||||
|
||||
- **Project graph** - Generates a project graph for dependency and dependent relationships.
|
||||
- **Code generation** - Easily scaffold new applications, libraries, tooling, and more!
|
||||
- **Dependency workspaces** - Works alongside package manager workspaces so that projects have
|
||||
distinct dependency trees.
|
||||
- **Code ownership** - Declare owners, maintainers, support channels, and more. Generate CODEOWNERS.
|
||||
|
||||
#### Orchestration
|
||||
|
||||
- **Dependency graph** - Generates a dependency graph to increase performance and reduce workloads.
|
||||
- **Action pipeline** - Executes actions in parallel and in order using a thread pool and our
|
||||
dependency graph.
|
||||
- **Action distribution** - Distributes actions across multiple machines to increase throughput.
|
||||
- **Incremental builds** - With our smart hashing, only rebuild projects that have been changed
|
||||
since the last build.
|
||||
|
||||
#### Notification
|
||||
|
||||
- **Flakiness detection** - Reduce flaky builds with automatic retries and passthrough settings.
|
||||
- **Webhook events** - Receive a webhook for every event in the pipeline. Useful for metrics
|
||||
gathering and insights.
|
||||
- **Terminal notifications** - Receives notifications in your chosen terminal when builds are
|
||||
successful... or are not.
|
||||
- **Git hooks** - Manage Git hooks to enforce workflows and requirements for contributors.
|
||||
15
.tools/bun/install/global/node_modules/@moonrepo/cli/moon.js
generated
vendored
Executable file
15
.tools/bun/install/global/node_modules/@moonrepo/cli/moon.js
generated
vendored
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const cp = require('child_process');
|
||||
const { findMoonExe } = require('./utils');
|
||||
|
||||
const result = cp.spawnSync(findMoonExe(), process.argv.slice(2), {
|
||||
shell: false,
|
||||
stdio: 'inherit',
|
||||
});
|
||||
|
||||
if (result.error) {
|
||||
throw result.error;
|
||||
}
|
||||
|
||||
process.exitCode = result.status;
|
||||
15
.tools/bun/install/global/node_modules/@moonrepo/cli/moonx.js
generated
vendored
Executable file
15
.tools/bun/install/global/node_modules/@moonrepo/cli/moonx.js
generated
vendored
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const cp = require('child_process');
|
||||
const { findMoonxExe } = require('./utils');
|
||||
|
||||
const result = cp.spawnSync(findMoonxExe(), process.argv.slice(2), {
|
||||
shell: false,
|
||||
stdio: 'inherit',
|
||||
});
|
||||
|
||||
if (result.error) {
|
||||
throw result.error;
|
||||
}
|
||||
|
||||
process.exitCode = result.status;
|
||||
39
.tools/bun/install/global/node_modules/@moonrepo/cli/package.json
generated
vendored
Normal file
39
.tools/bun/install/global/node_modules/@moonrepo/cli/package.json
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"name": "@moonrepo/cli",
|
||||
"version": "2.0.4",
|
||||
"type": "commonjs",
|
||||
"description": "moon command line and core system.",
|
||||
"keywords": [
|
||||
"moon",
|
||||
"repo",
|
||||
"cli",
|
||||
"core"
|
||||
],
|
||||
"files": [
|
||||
"moon.js",
|
||||
"moonx.js",
|
||||
"utils.js"
|
||||
],
|
||||
"author": "Miles Johnson",
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"moon": "moon.js",
|
||||
"moonx": "moonx.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/moonrepo/moon",
|
||||
"directory": "packages/cli"
|
||||
},
|
||||
"dependencies": {
|
||||
"detect-libc": "^2.1.2"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@moonrepo/core-linux-arm64-gnu": "2.0.4",
|
||||
"@moonrepo/core-linux-arm64-musl": "2.0.4",
|
||||
"@moonrepo/core-linux-x64-gnu": "2.0.4",
|
||||
"@moonrepo/core-linux-x64-musl": "2.0.4",
|
||||
"@moonrepo/core-macos-arm64": "2.0.4",
|
||||
"@moonrepo/core-windows-x64-msvc": "2.0.4"
|
||||
}
|
||||
}
|
||||
51
.tools/bun/install/global/node_modules/@moonrepo/cli/utils.js
generated
vendored
Normal file
51
.tools/bun/install/global/node_modules/@moonrepo/cli/utils.js
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const isLinux = process.platform === 'linux';
|
||||
const isMacos = process.platform === 'darwin';
|
||||
const isWindows = process.platform === 'win32';
|
||||
|
||||
const platform = isWindows ? 'windows' : isMacos ? 'macos' : process.platform;
|
||||
const arch =
|
||||
process.env['npm_config_user_agent'] && process.env['npm_config_user_agent'].match(/^bun.*arm64$/)
|
||||
? 'arm64'
|
||||
: process.arch; // https://github.com/moonrepo/moon/issues/1103
|
||||
const parts = [platform, arch];
|
||||
|
||||
if (isLinux) {
|
||||
const { familySync } = require('detect-libc');
|
||||
|
||||
if (familySync() === 'musl') {
|
||||
parts.push('musl');
|
||||
// } else if (process.arch === 'arm') {
|
||||
// parts.push('gnueabihf');
|
||||
} else {
|
||||
parts.push('gnu');
|
||||
}
|
||||
} else if (isWindows) {
|
||||
parts.push('msvc');
|
||||
}
|
||||
|
||||
const triple = parts.join('-');
|
||||
|
||||
function findExe(name) {
|
||||
const pkgPath = require.resolve(`@moonrepo/core-${triple}/package.json`);
|
||||
const exePath = path.join(path.dirname(pkgPath), isWindows ? `${name}.exe` : name);
|
||||
|
||||
if (fs.existsSync(exePath)) {
|
||||
return exePath;
|
||||
}
|
||||
|
||||
throw new Error(`moon executable "${exePath}" not found!`);
|
||||
}
|
||||
|
||||
function findMoonExe() {
|
||||
return findExe('moon');
|
||||
}
|
||||
|
||||
function findMoonxExe() {
|
||||
return findExe('moonx');
|
||||
}
|
||||
|
||||
exports.findMoonExe = findMoonExe;
|
||||
exports.findMoonxExe = findMoonxExe;
|
||||
3
.tools/bun/install/global/node_modules/@moonrepo/core-macos-arm64/README.md
generated
vendored
Normal file
3
.tools/bun/install/global/node_modules/@moonrepo/core-macos-arm64/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# @moonrepo/core-macos-arm64
|
||||
|
||||
This is the `aarch64-apple-darwin` binary for `@moonrepo/cli`.
|
||||
BIN
.tools/bun/install/global/node_modules/@moonrepo/core-macos-arm64/moon
generated
vendored
Executable file
BIN
.tools/bun/install/global/node_modules/@moonrepo/core-macos-arm64/moon
generated
vendored
Executable file
Binary file not shown.
BIN
.tools/bun/install/global/node_modules/@moonrepo/core-macos-arm64/moonx
generated
vendored
Executable file
BIN
.tools/bun/install/global/node_modules/@moonrepo/core-macos-arm64/moonx
generated
vendored
Executable file
Binary file not shown.
32
.tools/bun/install/global/node_modules/@moonrepo/core-macos-arm64/package.json
generated
vendored
Normal file
32
.tools/bun/install/global/node_modules/@moonrepo/core-macos-arm64/package.json
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"name": "@moonrepo/core-macos-arm64",
|
||||
"version": "2.0.4",
|
||||
"description": "macOS ARM64 (Silicon) binary for moon.",
|
||||
"keywords": [
|
||||
"moon",
|
||||
"repo",
|
||||
"macos",
|
||||
"darwin",
|
||||
"arm64"
|
||||
],
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"author": "Miles Johnson",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/moonrepo/moon",
|
||||
"directory": "packages/core-macos-arm64"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public",
|
||||
"executableFiles": [
|
||||
"moon",
|
||||
"moonx"
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user