Skip to content

Commit

Permalink
feat: add defaultCopyStaticFilesWsRootOnly
Browse files Browse the repository at this point in the history
  • Loading branch information
bluelovers committed Dec 16, 2021
1 parent 73e56cb commit 80c9b8f
Show file tree
Hide file tree
Showing 12 changed files with 68 additions and 5 deletions.
9 changes: 9 additions & 0 deletions packages/@yarn-tool/static-file/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,12 @@ coverage
!.gitlab
.git

/file/ws-root/__ws_root.d.ts
/file/ws-root/__ws_root.js
/file/ws-root/__ws_root.js.map
/file/test/__root.d.ts
/file/test/__root.js
/file/test/__root.js.map
/file/ws-root/__root_ws.d.ts
/file/ws-root/__root_ws.js
/file/ws-root/__root_ws.js.map
6 changes: 6 additions & 0 deletions packages/@yarn-tool/static-file/file/gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,12 @@ bin/**/*.d.cts
/packages/*/tests/*.d.cts
/packages/*/tests/temp*

/src/**/*.d.ts
/src/**/*.js
/src/**/*.d.cts
/src/**/*.d.mts
/src/**/*.cjs
/src/**/*.mjs

**/node_modules
*.tgz
Expand Down
7 changes: 7 additions & 0 deletions packages/@yarn-tool/static-file/file/npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,13 @@ node_modules
/bin/**/*.d.cts
/bin/*.d.cts

/src/**/*.d.ts
/src/**/*.js
/src/**/*.d.cts
/src/**/*.d.mts
/src/**/*.cjs
/src/**/*.mjs

*.tgz
/tsconfig.json.tpl
yarn-error.log
Expand Down
3 changes: 3 additions & 0 deletions packages/@yarn-tool/static-file/file/test/__root.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { join } from "path";

export const __root = join(__dirname, '..');
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"module": "CommonJS",
"module": "node12",
"noEmit": true,
"declaration": false,
"noUnusedParameters": false,
Expand Down
3 changes: 3 additions & 0 deletions packages/@yarn-tool/static-file/file/ws-root/__root_ws.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { join } from "path";

export const __root_ws = join(__dirname);
1 change: 1 addition & 0 deletions packages/@yarn-tool/static-file/lib/const.d.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { IStaticFilesMapArray } from './types';
export declare const defaultCopyStaticFiles: IStaticFilesMapArray<"tsconfig.json.tpl" | "test/tsconfig.json.tpl" | "tsconfig.esm.json.tpl" | "tsconfig.tsdx.json.tpl" | ".eslintrc.json.tpl" | "now.json.tpl" | ".npmrc.tpl" | "tsdx.config.js.tpl" | "tsc-multi.json.tpl">;
export declare const defaultCopyStaticFilesRootOnly: IStaticFilesMapArray<"tsconfig.json" | "lerna.json.tpl" | "pnpm-workspace.yaml.tpl">;
export declare const defaultCopyStaticFilesWsRootOnly: IStaticFilesMapArray<"tsc-multi.json.tpl">;
11 changes: 10 additions & 1 deletion packages/@yarn-tool/static-file/lib/const.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions packages/@yarn-tool/static-file/lib/const.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ const _defaultCopyStaticFiles = [

['tsc-multi.json.tpl', 'file/tsc-multi.json.tpl', 'tsc-multi.json'],

['test/__root.ts', 'file/test/__root.ts'],

] as const;

const _defaultCopyStaticFilesRootOnly = [
Expand All @@ -53,6 +55,22 @@ const _defaultCopyStaticFilesRootOnly = [

] as const;

const _defaultCopyStaticFilesWsRootOnly = [

['lerna.json.tpl', 'file/lerna.json.tpl'],

['pnpm-workspace.yaml', 'file/pnpm-workspace.yaml'],

['tsconfig.json', 'file/tsconfig.json.tpl'],

['tsc-multi.json.tpl', 'file/tsc-multi.json.tpl', 'tsc-multi.json'],

['__root_ws.ts', 'file/ws-root/__root_ws.ts'],

] as const;

export const defaultCopyStaticFiles = Object.freeze(_defaultCopyStaticFiles) as any as IStaticFilesMapArray<_Key<typeof _defaultCopyStaticFiles>>;

export const defaultCopyStaticFilesRootOnly = Object.freeze(_defaultCopyStaticFilesRootOnly) as any as IStaticFilesMapArray<_Key<typeof _defaultCopyStaticFilesRootOnly>>;

export const defaultCopyStaticFilesWsRootOnly = Object.freeze(_defaultCopyStaticFilesWsRootOnly) as any as IStaticFilesMapArray<_Key<typeof _defaultCopyStaticFilesWsRootOnly>>;

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { IStaticFiles, IStaticFilesKey, IStaticFilesMapArray, IStaticFilesMapArr
import { parseStaticMap } from './parseStaticMap';
import { getRowOfStaticFilesMapArray } from './getRowOfStaticFilesMapArray';
import { replaceTargetOfStaticFilesMapArrayEntry } from './replaceTargetOfStaticFilesMapArrayEntry';
import { array_unique_overwrite } from 'array-hyper-unique';

export function reMapStaticFilesMapArray<T extends IStaticFiles<string>, N extends string>(file_map: T,
replaceMap: Record<N, IStaticFilesKey<T>>,
Expand All @@ -23,5 +24,5 @@ export function reMapStaticFilesMapArray<T extends IStaticFiles<string>, N exten
}, [] as IStaticFilesMapArray<N>)
;

return arr.concat(ls as any) as IStaticFilesMapArray<IStaticFilesKey<T> | N>
return array_unique_overwrite(arr.concat(ls as any)) as IStaticFilesMapArray<IStaticFilesKey<T> | N>
}
7 changes: 6 additions & 1 deletion packages/create-yarn-workspaces/lib/wsCopyStaticFiles.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
import { defaultCopyStaticFiles, defaultCopyStaticFilesRootOnly } from '@yarn-tool/static-file/lib/const';
import {
defaultCopyStaticFiles,
defaultCopyStaticFilesRootOnly,
defaultCopyStaticFilesWsRootOnly,
} from '@yarn-tool/static-file/lib/const';
import { IStaticFiles, IStaticFilesKey, IStaticFilesMapArray } from '@yarn-tool/static-file/lib/types';
import { reMapStaticFilesMapArray } from '@yarn-tool/static-file/lib/reMapStaticFilesMapArray';

Expand All @@ -13,6 +17,7 @@ export function getWsCopyStaticFiles(): IStaticFiles<IStaticFilesKey<typeof defa
return reMapStaticFilesMapArray([
...defaultCopyStaticFiles,
...defaultCopyStaticFilesRootOnly,
...defaultCopyStaticFilesWsRootOnly,
], remap);
}

Expand Down

0 comments on commit 80c9b8f

Please sign in to comment.