File tree Expand file tree Collapse file tree 6 files changed +93
-4
lines changed Expand file tree Collapse file tree 6 files changed +93
-4
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ export default defineBuildConfig({
1010 minify : true ,
1111 } ,
1212 } ,
13- entries : [ "src/index" ] ,
13+ entries : [ "src/index" , "src/containers/index" ] ,
1414 hooks : {
1515 "rollup:options" ( ctx , rollupConfig ) {
1616 ( rollupConfig . plugins as Plugin [ ] ) . push ( {
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ import unjs from "eslint-config-unjs";
44export default unjs ( {
55 ignores : [ ] ,
66 rules : {
7- "unicorn/no-null" : 0 ,
8- "unicorn/prevent-abbreviations" : 0
9- } ,
7+ "unicorn/no-null" : 0 ,
8+ "unicorn/prevent-abbreviations" : 0
9+ } ,
1010} ) ;
Original file line number Diff line number Diff line change 1+ import { statSync } from "node:fs" ;
2+ import { isDocker } from "./docker" ;
3+
4+ function hasContainerEnv ( ) {
5+ try {
6+ statSync ( "/run/.containerenv" ) ;
7+ return true ;
8+ } catch {
9+ return false ;
10+ }
11+ }
12+
13+ let isContainerCached : boolean ;
14+
15+ function _isContainer ( ) {
16+ if ( isContainerCached === undefined ) {
17+ isContainerCached = hasContainerEnv ( ) ;
18+ }
19+ return isContainerCached ;
20+ }
21+
22+ export const isContainer = _isContainer ( ) || isDocker ;
Original file line number Diff line number Diff line change 1+ import { readFileSync , statSync } from "node:fs" ;
2+
3+ let isDockerCached : boolean ;
4+
5+ function _isDocker ( ) {
6+ if ( isDockerCached === undefined ) {
7+ isDockerCached = hasDockerEnv ( ) || hasDockerCGroup ( ) ;
8+ }
9+ return isDockerCached ;
10+ }
11+
12+ function hasDockerEnv ( ) {
13+ try {
14+ statSync ( "/.dockerenv" ) ;
15+ return true ;
16+ } catch {
17+ return false ;
18+ }
19+ }
20+
21+ function hasDockerCGroup ( ) {
22+ try {
23+ return readFileSync ( "/proc/self/cgroup" , "utf8" ) . includes ( "docker" ) ;
24+ } catch {
25+ return false ;
26+ }
27+ }
28+
29+ export const isDocker = _isDocker ( ) ;
Original file line number Diff line number Diff line change 1+ export * from "./wsl" ;
2+ export * from "./docker" ;
3+ export * from "./container" ;
Original file line number Diff line number Diff line change 1+ import { readFileSync } from "node:fs" ;
2+ import { release } from "node:os" ;
3+ import { isDocker } from "./docker" ;
4+
5+ let isWSLCached : boolean ;
6+
7+ function _isWsl ( ) {
8+ if ( isWSLCached === undefined ) {
9+ isWSLCached = hasUnameOrProcVersion ( ) ;
10+ }
11+ return isWSLCached ;
12+ }
13+
14+ function hasUnameOrProcVersion ( ) {
15+ if ( globalThis . process ?. platform !== "linux" ) {
16+ return false ;
17+ }
18+ if ( release ( ) . toLowerCase ( ) . includes ( "microsoft" ) ) {
19+ if ( isDocker ) {
20+ return false ;
21+ }
22+ return true ;
23+ }
24+ try {
25+ return readFileSync ( "/proc/version" , "utf8" )
26+ . toLowerCase ( )
27+ . includes ( "microsoft" )
28+ ? ! isDocker
29+ : false ;
30+ } catch {
31+ return false ;
32+ }
33+ }
34+
35+ export const isWsl = _isWsl ( ) ;
You can’t perform that action at this time.
0 commit comments