Skip to content

Commit b25237a

Browse files
authored
refactor: use process.cwd() instead of process.env.PWD (#167)
1 parent 5bab51a commit b25237a

File tree

18 files changed

+90
-106
lines changed

18 files changed

+90
-106
lines changed

bin/lux

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env node
22
'use strict';
33

4-
const PWD = process.env.PWD;
4+
const PWD = process.cwd();
55

66
try {
77
require(`${PWD}/node_modules/lux-framework/dist/cli`).call(null);

src/constants.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// @flow
2+
const { env: ENV } = process;
3+
4+
export const CWD = process.cwd();
5+
export const PORT = parseInt(ENV.PORT, 10) || 4000;
6+
export const NODE_ENV = ENV.NODE_ENV || 'development';

src/packages/cli/commands/create.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import Ora from 'ora';
22
import { green } from 'chalk';
33

4+
import { CWD } from '../../../constants';
5+
46
import fs from '../../fs';
57
import template from '../../template';
68

@@ -26,7 +28,7 @@ import gitignoreTemplate from '../templates/gitignore';
2628
*/
2729
export default async function create(name, database) {
2830
const driver = driverFor(database);
29-
const project = `${process.env.PWD}/${name}`;
31+
const project = `${CWD}/${name}`;
3032

3133
await fs.mkdirAsync(project);
3234

src/packages/cli/commands/db-create.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1+
import { CWD, NODE_ENV } from '../../../constants';
12
import fs from '../../fs';
23
import loader from '../../loader';
34
import { connect } from '../../database';
45

5-
const { env: { PWD, NODE_ENV = 'development' } } = process;
6-
76
/**
87
* @private
98
*/
@@ -16,12 +15,12 @@ export default async function dbCreate() {
1615
...config
1716
}
1817
}
19-
} = loader(PWD, 'config');
18+
} = loader(CWD, 'config');
2019

2120
if (driver === 'sqlite3') {
22-
await fs.writeFileAsync(`${PWD}/db/${database}_${NODE_ENV}.sqlite`, '');
21+
await fs.writeFileAsync(`${CWD}/db/${database}_${NODE_ENV}.sqlite`, '');
2322
} else {
24-
const { schema } = connect(PWD, { ...config, driver });
23+
const { schema } = connect(CWD, { ...config, driver });
2524
const query = schema.raw(`CREATE DATABASE ${database}`);
2625

2726
query.on('query', () => console.log(query.toString()));

src/packages/cli/commands/db-drop.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1+
import { CWD, NODE_ENV } from '../../../constants';
12
import { connect } from '../../database';
23
import { rmrf } from '../../fs';
34
import loader from '../../loader';
45

5-
const { env: { PWD, NODE_ENV = 'development' } } = process;
6-
76
/**
87
* @private
98
*/
@@ -16,12 +15,12 @@ export default async function dbDrop() {
1615
...config
1716
}
1817
}
19-
} = loader(PWD, 'config');
18+
} = loader(CWD, 'config');
2019

2120
if (driver === 'sqlite3') {
22-
await rmrf(`${PWD}/db/${database}_${NODE_ENV}.sqlite`);
21+
await rmrf(`${CWD}/db/${database}_${NODE_ENV}.sqlite`);
2322
} else {
24-
const { schema } = connect(PWD, { ...config, driver });
23+
const { schema } = connect(CWD, { ...config, driver });
2524
const query = schema.raw(`DROP DATABASE IF EXISTS ${database}`);
2625

2726
query.on('query', () => console.log(query.toString()));

src/packages/cli/commands/db-migrate.js

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,29 @@
1+
import { CWD } from '../../../constants';
12
import Database, { pendingMigrations } from '../../database';
23
import Logger, { sql } from '../../logger';
34
import loader from '../../loader';
45

5-
const { env: { PWD } } = process;
6-
76
/**
87
* @private
98
*/
109
export default async function dbMigrate() {
11-
const { database: config } = loader(PWD, 'config');
12-
const models = loader(PWD, 'models');
13-
const migrations = loader(PWD, 'migrations');
10+
const { database: config } = loader(CWD, 'config');
11+
const models = loader(CWD, 'models');
12+
const migrations = loader(CWD, 'migrations');
1413

1514
const { connection, schema } = await new Database({
1615
config,
1716
models,
18-
path: PWD,
17+
path: CWD,
1918
checkMigrations: false,
2019

2120
logger: await new Logger({
22-
path: PWD,
21+
path: CWD,
2322
enabled: false
2423
})
2524
});
2625

27-
const pending = await pendingMigrations(PWD, () => connection('migrations'));
26+
const pending = await pendingMigrations(CWD, () => connection('migrations'));
2827

2928
if (pending.length) {
3029
await Promise.all(

src/packages/cli/commands/db-rollback.js

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,30 @@
1+
import { CWD } from '../../../constants';
12
import Database from '../../database';
23
import Logger, { sql } from '../../logger';
34
import fs from '../../fs';
45
import loader from '../../loader';
56

6-
const { env: { PWD } } = process;
7-
87
/**
98
* @private
109
*/
1110
export default async function dbRollback() {
12-
const { database: config } = loader(PWD, 'config');
13-
const models = loader(PWD, 'models');
14-
const migrations = loader(PWD, 'migrations');
11+
const { database: config } = loader(CWD, 'config');
12+
const models = loader(CWD, 'models');
13+
const migrations = loader(CWD, 'migrations');
1514

1615
const { connection, schema } = await new Database({
1716
config,
1817
models,
19-
path: PWD,
18+
path: CWD,
2019
checkMigrations: false,
2120

2221
logger: await new Logger({
23-
path: PWD,
22+
path: CWD,
2423
enabled: false
2524
})
2625
});
2726

28-
const migrationFiles = await fs.readdirAsync(`${PWD}/db/migrate`);
27+
const migrationFiles = await fs.readdirAsync(`${CWD}/db/migrate`);
2928

3029
if (migrationFiles.length) {
3130
let migration;

src/packages/cli/commands/db-seed.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
1+
import { CWD } from '../../../constants';
12
import Logger from '../../logger';
23
import Database from '../../database';
34
import loader from '../../loader';
45

5-
const { env: { PWD } } = process;
6-
76
/**
87
* @private
98
*/
109
export default async function dbSeed() {
11-
const { database: config } = loader(PWD, 'config');
12-
const seed = loader(PWD, 'seed');
13-
const models = loader(PWD, 'models');
10+
const { database: config } = loader(CWD, 'config');
11+
const seed = loader(CWD, 'seed');
12+
const models = loader(CWD, 'models');
1413

1514
await new Database({
1615
config,
1716
models,
18-
path: PWD,
17+
path: CWD,
1918

2019
logger: await new Logger({
21-
path: PWD,
20+
path: CWD,
2221
enabled: false
2322
})
2423
});

src/packages/cli/commands/destroy.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1+
import { CWD } from '../../../constants';
12
import { red, green } from 'chalk';
23
import { pluralize } from 'inflection';
34

45
import fs, { rmrf, exists } from '../../fs';
56

6-
const { env: { PWD } } = process;
7-
87
/**
98
* @private
109
*/
@@ -19,7 +18,7 @@ export async function destroyType(type, name) {
1918
break;
2019

2120
case 'migration':
22-
const migrations = await fs.readdirAsync(`${PWD}/db/migrate`);
21+
const migrations = await fs.readdirAsync(`${CWD}/db/migrate`);
2322

2423
name = migrations.find(file => `${name}.js` === file.substr(17));
2524
path = `db/migrate/${name}`;
@@ -32,8 +31,8 @@ export async function destroyType(type, name) {
3231
break;
3332
}
3433

35-
if (await exists(`${PWD}/${path}`)) {
36-
await rmrf(`${PWD}/${path}`);
34+
if (await exists(`${CWD}/${path}`)) {
35+
await rmrf(`${CWD}/${path}`);
3736
console.log(`${red('remove')} ${path}`);
3837
}
3938
}
@@ -43,7 +42,7 @@ export async function destroyType(type, name) {
4342
*/
4443
export default async function destroy(type, name) {
4544
if (type === 'resource') {
46-
const routes = (await fs.readFileAsync(`${PWD}/app/routes.js`, 'utf8'))
45+
const routes = (await fs.readFileAsync(`${CWD}/app/routes.js`, 'utf8'))
4746
.split('\n')
4847
.reduce((lines, line) => {
4948
const pattern = new RegExp(
@@ -61,7 +60,7 @@ export default async function destroy(type, name) {
6160
destroyType('controller', name)
6261
]);
6362

64-
await fs.writeFileAsync(`${PWD}/app/routes.js`, routes, 'utf8');
63+
await fs.writeFileAsync(`${CWD}/app/routes.js`, routes, 'utf8');
6564
console.log(`${green('update')} app/routes.js`);
6665
} else if (type === 'model') {
6766
await Promise.all([

src/packages/cli/commands/generate.js

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { red, green, yellow } from 'chalk';
33
import { pluralize } from 'inflection';
44
import { createInterface } from 'readline';
55

6+
import { CWD } from '../../../constants';
67
import fs, { rmrf, exists } from '../../fs';
78

89
import modelTemplate from '../templates/model';
@@ -13,12 +14,10 @@ import modelMigrationTemplate from '../templates/model-migration';
1314

1415
import indent from '../utils/indent';
1516

16-
const { env: { PWD } } = process;
17-
1817
/**
1918
* @private
2019
*/
21-
export async function generateType(type, name, pwd, attrs = []) {
20+
export async function generateType(type, name, cwd, attrs = []) {
2221
const rl = createInterface({
2322
input: process.stdin,
2423
output: process.stdout
@@ -74,9 +73,9 @@ export async function generateType(type, name, pwd, attrs = []) {
7473
if (isMigration) {
7574
const regexp = new RegExp(`^\\d+-${path.split('/').pop().substr(17)}$`);
7675

77-
doesExist = await exists(regexp, `${pwd}/db/migrate`);
76+
doesExist = await exists(regexp, `${cwd}/db/migrate`);
7877
} else {
79-
doesExist = await exists(`${pwd}/${path}`);
78+
doesExist = await exists(`${cwd}/${path}`);
8079
}
8180

8281
if (doesExist) {
@@ -89,7 +88,7 @@ export async function generateType(type, name, pwd, attrs = []) {
8988

9089
if (overwrite) {
9190
if (isMigration) {
92-
const migrations = await fs.readdirAsync(`${pwd}/db/migrate`);
91+
const migrations = await fs.readdirAsync(`${cwd}/db/migrate`);
9392
const isModelMigration = type === 'model-migration';
9493

9594
const oldName = migrations.find(file => {
@@ -100,21 +99,21 @@ export async function generateType(type, name, pwd, attrs = []) {
10099
if (oldName) {
101100
const oldPath = `db/migrate/${oldName}`;
102101

103-
await rmrf(`${pwd}/${oldPath}`);
102+
await rmrf(`${cwd}/${oldPath}`);
104103
console.log(`${red('remove')} ${oldPath}`);
105104
}
106105

107-
await fs.writeFileAsync(`${pwd}/${path}`, data, 'utf8');
106+
await fs.writeFileAsync(`${cwd}/${path}`, data, 'utf8');
108107
console.log(`${green('create')} ${path}`);
109108
} else {
110-
await fs.writeFileAsync(`${pwd}/${path}`, data, 'utf8');
109+
await fs.writeFileAsync(`${cwd}/${path}`, data, 'utf8');
111110
console.log(`${yellow('overwrite')} ${path}`);
112111
}
113112
} else {
114113
console.log(`${yellow('skip')} ${path}`);
115114
}
116115
} else {
117-
await fs.writeFileAsync(`${pwd}/${path}`, data, 'utf8');
116+
await fs.writeFileAsync(`${cwd}/${path}`, data, 'utf8');
118117
console.log(`${green('create')} ${path}`);
119118
}
120119

@@ -124,9 +123,9 @@ export async function generateType(type, name, pwd, attrs = []) {
124123
/**
125124
* @private
126125
*/
127-
export default async function generate(type, name, pwd = PWD, attrs = []) {
126+
export default async function generate(type, name, cwd = CWD, attrs = []) {
128127
if (type === 'resource') {
129-
const routes = (await fs.readFileAsync(`${pwd}/app/routes.js`, 'utf8'))
128+
const routes = (await fs.readFileAsync(`${cwd}/app/routes.js`, 'utf8'))
130129
.split('\n')
131130
.reduce((str, line, index, array) => {
132131
const closeIndex = array.lastIndexOf('}');
@@ -142,17 +141,17 @@ export default async function generate(type, name, pwd = PWD, attrs = []) {
142141
return str;
143142
}, '');
144143

145-
await generateType('model', name, pwd, attrs);
146-
await generateType('model-migration', name, pwd, attrs);
147-
await generateType('serializer', name, pwd, attrs);
148-
await generateType('controller', name, pwd, attrs);
144+
await generateType('model', name, cwd, attrs);
145+
await generateType('model-migration', name, cwd, attrs);
146+
await generateType('serializer', name, cwd, attrs);
147+
await generateType('controller', name, cwd, attrs);
149148

150-
await fs.writeFileAsync(`${pwd}/app/routes.js`, routes, 'utf8');
149+
await fs.writeFileAsync(`${cwd}/app/routes.js`, routes, 'utf8');
151150
console.log(`${green('update')} app/routes.js`);
152151
} else if (type === 'model') {
153-
await generateType(type, name, pwd, attrs);
154-
await generateType('model-migration', name, pwd, attrs);
152+
await generateType(type, name, cwd, attrs);
153+
await generateType('model-migration', name, cwd, attrs);
155154
} else {
156-
await generateType(type, name, pwd, attrs);
155+
await generateType(type, name, cwd, attrs);
157156
}
158157
}

0 commit comments

Comments
 (0)