 70d60c7ab2
			
		
	
	70d60c7ab2
	
	
	
		
			
			* web: Format live reload package. * web: Format package.json. * web: Revise globals. * web: Build entrypoints with a single ESBuild context. Clean up entrypoints. * web: WIP Prepare monorepo package for use. * web: Update build paths. Fix types. * web: WIP Add monorepo dependency. * web: Use monorepo utilities when building. * web: Fix issue where linters collide. Update ignore file. - Remove unused sort override for polyfills. * core: Prepare repo for NPM workspaces.
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { createRequire } from "node:module";
 | |
| import { dirname, join, resolve } from "node:path";
 | |
| import { fileURLToPath } from "node:url";
 | |
| 
 | |
| const relativeDirname = dirname(fileURLToPath(import.meta.url));
 | |
| 
 | |
| /**
 | |
|  * @typedef {'~authentik'} MonoRepoRoot
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * The root of the authentik monorepo.
 | |
|  */
 | |
| // TODO: Revise when this package is moved to the monorepo's `packages/monorepo` directory.
 | |
| export const MonoRepoRoot = /** @type {MonoRepoRoot} */ (
 | |
|     resolve(relativeDirname, "..", "..", "..")
 | |
| );
 | |
| 
 | |
| const require = createRequire(import.meta.url);
 | |
| 
 | |
| /**
 | |
|  * Resolve a package name to its location in the monorepo to the single node_modules directory.
 | |
|  * @param {string} packageName
 | |
|  *
 | |
|  * @returns {string} The resolved path to the package.
 | |
|  * @throws {Error} If the package cannot be resolved.
 | |
|  */
 | |
| export function resolvePackage(packageName) {
 | |
|     const relativePackageJSONPath = join(packageName, "package.json");
 | |
| 
 | |
|     /** @type {string} */
 | |
|     let absolutePackageJSONPath;
 | |
| 
 | |
|     try {
 | |
|         absolutePackageJSONPath = require.resolve(relativePackageJSONPath);
 | |
|     } catch (cause) {
 | |
|         const error = new Error(`Failed to resolve package "${packageName}"`);
 | |
| 
 | |
|         error.cause = cause;
 | |
| 
 | |
|         throw error;
 | |
|     }
 | |
| 
 | |
|     return dirname(absolutePackageJSONPath);
 | |
| }
 |