Skip to content

Commit

Permalink
feat: switch from cjs to esm
Browse files Browse the repository at this point in the history
  • Loading branch information
PopGoesTheWza committed May 11, 2021
1 parent dd4a2f0 commit 5055865
Show file tree
Hide file tree
Showing 55 changed files with 1,934 additions and 1,368 deletions.
2,809 changes: 1,698 additions & 1,111 deletions package-lock.json

Large diffs are not rendered by default.

18 changes: 10 additions & 8 deletions package.json
Expand Up @@ -2,9 +2,11 @@
"name": "@google/clasp",
"version": "2.3.1",
"description": "Develop Apps Script Projects locally",
"type": "module",
"exports": "./build/src/index.js",
"main": "build/src/index.js",
"engines": {
"node": ">= 12.4.0"
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"bin": {
"clasp": "build/src/index.js"
Expand Down Expand Up @@ -70,18 +72,18 @@
"inquirer": "^8.0.0",
"inquirer-autocomplete-prompt-ipt": "^2.0.0",
"is-reachable": "^5.0.0",
"log-symbols": "^4.1.0",
"log-symbols": "^5.0.0",
"loud-rejection": "^2.2.0",
"make-dir": "^3.1.0",
"multimatch": "^5.0.0",
"normalize-newline": "^3.0.0",
"normalize-newline": "^4.1.0",
"open": "^8.0.8",
"ora": "^5.4.0",
"p-map": "^4.0.0",
"read-pkg-up": "^7.0.1",
"p-map": "^5.0.0",
"read-pkg-up": "^8.0.0",
"recursive-readdir": "^2.2.2",
"split-lines": "^2.1.0",
"strip-bom": "^4.0.0",
"split-lines": "^3.0.0",
"strip-bom": "^5.0.0",
"ts2gas": "^3.6.4",
"typescript": "^4.2.4",
"watch": "^0.13.0",
Expand All @@ -101,7 +103,7 @@
"gts": "^3.1.0",
"mocha": "^8.4.0",
"nyc": "^15.1.0",
"prettier": "^2.2.1",
"prettier": "^2.3.0",
"tmp": "^0.2.1",
"type-fest": "^1.1.1"
}
Expand Down
12 changes: 6 additions & 6 deletions src/apiutils.ts
@@ -1,12 +1,12 @@
import fuzzy from 'fuzzy';
import {script_v1 as scriptV1} from 'googleapis';

import {loadAPICredentials, serviceUsage} from './auth';
import {ClaspError} from './clasp-error';
import {functionNamePrompt, functionNameSource} from './inquirer';
import {enableOrDisableAdvanceServiceInManifest} from './manifest';
import {ERROR} from './messages';
import {getProjectId, spinner, stopSpinner} from './utils';
import {loadAPICredentials, serviceUsage} from './auth.js';
import {ClaspError} from './clasp-error.js';
import {functionNamePrompt, functionNameSource} from './inquirer.js';
import {enableOrDisableAdvanceServiceInManifest} from './manifest.js';
import {ERROR} from './messages.js';
import {getProjectId, spinner, stopSpinner} from './utils.js';

import type {ReadonlyDeep} from 'type-fest';

Expand Down
8 changes: 4 additions & 4 deletions src/auth.ts
Expand Up @@ -5,10 +5,10 @@ import open from 'open';
import readline from 'readline';
import {URL} from 'url';

import {ClaspError} from './clasp-error';
import {DOTFILE} from './dotfile';
import {ERROR, LOG} from './messages';
import {checkIfOnlineOrDie, getOAuthSettings} from './utils';
import {ClaspError} from './clasp-error.js';
import {DOTFILE} from './dotfile.js';
import {ERROR, LOG} from './messages.js';
import {checkIfOnlineOrDie, getOAuthSettings} from './utils.js';

import type {Credentials, GenerateAuthUrlOpts, OAuth2ClientOptions} from 'google-auth-library';
import type {IncomingMessage, Server, ServerResponse} from 'http';
Expand Down
2 changes: 1 addition & 1 deletion src/clasp-error.ts
@@ -1,7 +1,7 @@
export class ClaspError extends Error {
constructor(message: string, exitCode = 1) {
super(message);
// see: typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html
// @see: typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html
Object.setPrototypeOf(this, new.target.prototype); // Restore prototype chain
this.name = ClaspError.name; // Stack traces display correctly now
process.exitCode = exitCode;
Expand Down
14 changes: 7 additions & 7 deletions src/commands/apis.ts
@@ -1,13 +1,13 @@
import {discovery_v1 as discoveryV1, serviceusage_v1 as serviceUsageV1} from 'googleapis';
import open from 'open';

import {PUBLIC_ADVANCED_SERVICES} from '../apis';
import {enableOrDisableAPI} from '../apiutils';
import {discovery, loadAPICredentials, serviceUsage} from '../auth';
import {ClaspError} from '../clasp-error';
import {ERROR} from '../messages';
import {URL} from '../urls';
import {checkIfOnlineOrDie, getProjectId} from '../utils';
import {PUBLIC_ADVANCED_SERVICES} from '../apis.js';
import {enableOrDisableAPI} from '../apiutils.js';
import {discovery, loadAPICredentials, serviceUsage} from '../auth.js';
import {ClaspError} from '../clasp-error.js';
import {ERROR} from '../messages.js';
import {URL} from '../urls.js';
import {checkIfOnlineOrDie, getProjectId} from '../utils.js';

import type {ReadonlyDeep} from 'type-fest';

Expand Down
16 changes: 8 additions & 8 deletions src/commands/clone.ts
@@ -1,13 +1,13 @@
import {drive_v3 as driveV3} from 'googleapis';

import {drive, loadAPICredentials} from '../auth';
import {ClaspError} from '../clasp-error';
import {fetchProject, hasProject, writeProjectFiles} from '../files';
import {ScriptIdPrompt, scriptIdPrompt} from '../inquirer';
import {ERROR, LOG} from '../messages';
import {extractScriptId} from '../urls';
import {checkIfOnlineOrDie, saveProject, spinner} from '../utils';
import status from './status';
import {drive, loadAPICredentials} from '../auth.js';
import {ClaspError} from '../clasp-error.js';
import {fetchProject, hasProject, writeProjectFiles} from '../files.js';
import {ScriptIdPrompt, scriptIdPrompt} from '../inquirer.js';
import {ERROR, LOG} from '../messages.js';
import {extractScriptId} from '../urls.js';
import {checkIfOnlineOrDie, saveProject, spinner} from '../utils.js';
import status from './status.js';

interface CommandOption {
readonly rootDir: string;
Expand Down
16 changes: 8 additions & 8 deletions src/commands/create.ts
@@ -1,18 +1,18 @@
import {SCRIPT_TYPES} from '../apis';
import {drive, loadAPICredentials, script} from '../auth';
import {ClaspError} from '../clasp-error';
import {fetchProject, hasProject, writeProjectFiles} from '../files';
import {scriptTypePrompt} from '../inquirer';
import {manifestExists} from '../manifest';
import {ERROR, LOG} from '../messages';
import {SCRIPT_TYPES} from '../apis.js';
import {drive, loadAPICredentials, script} from '../auth.js';
import {ClaspError} from '../clasp-error.js';
import {fetchProject, hasProject, writeProjectFiles} from '../files.js';
import {scriptTypePrompt} from '../inquirer.js';
import {manifestExists} from '../manifest.js';
import {ERROR, LOG} from '../messages.js';
import {
checkIfOnlineOrDie,
getDefaultProjectName,
getProjectSettings,
saveProject,
spinner,
stopSpinner,
} from '../utils';
} from '../utils.js';

interface CommandOption {
readonly parentId?: string;
Expand Down
4 changes: 2 additions & 2 deletions src/commands/default.ts
@@ -1,5 +1,5 @@
import {ClaspError} from '../clasp-error';
import {ERROR} from '../messages';
import {ClaspError} from '../clasp-error.js';
import {ERROR} from '../messages.js';

import type {Command} from 'commander';
import type {ReadonlyDeep} from 'type-fest';
Expand Down
10 changes: 5 additions & 5 deletions src/commands/deploy.ts
@@ -1,8 +1,8 @@
import {loadAPICredentials, script} from '../auth';
import {ClaspError} from '../clasp-error';
import {PROJECT_MANIFEST_BASENAME as manifestFileName} from '../constants';
import {ERROR, LOG} from '../messages';
import {checkIfOnlineOrDie, getProjectSettings, spinner, stopSpinner} from '../utils';
import {loadAPICredentials, script} from '../auth.js';
import {ClaspError} from '../clasp-error.js';
import {PROJECT_MANIFEST_BASENAME as manifestFileName} from '../constants.js';
import {ERROR, LOG} from '../messages.js';
import {checkIfOnlineOrDie, getProjectSettings, spinner, stopSpinner} from '../utils.js';

interface CommandOption {
readonly versionNumber?: number;
Expand Down
8 changes: 4 additions & 4 deletions src/commands/deployments.ts
@@ -1,7 +1,7 @@
import {loadAPICredentials, script} from '../auth';
import {ClaspError} from '../clasp-error';
import {LOG} from '../messages';
import {checkIfOnlineOrDie, getProjectSettings, spinner, stopSpinner} from '../utils';
import {loadAPICredentials, script} from '../auth.js';
import {ClaspError} from '../clasp-error.js';
import {LOG} from '../messages.js';
import {checkIfOnlineOrDie, getProjectSettings, spinner, stopSpinner} from '../utils.js';

/**
* Lists a script's deployments.
Expand Down
10 changes: 5 additions & 5 deletions src/commands/list.ts
@@ -1,8 +1,8 @@
import {drive, loadAPICredentials} from '../auth';
import {ClaspError} from '../clasp-error';
import {ERROR, LOG} from '../messages';
import {URL} from '../urls';
import {checkIfOnlineOrDie, ellipsize, spinner, stopSpinner} from '../utils';
import {drive, loadAPICredentials} from '../auth.js';
import {ClaspError} from '../clasp-error.js';
import {ERROR, LOG} from '../messages.js';
import {URL} from '../urls.js';
import {checkIfOnlineOrDie, ellipsize, spinner, stopSpinner} from '../utils.js';

interface CommandOption {
readonly noShorten: boolean;
Expand Down
13 changes: 7 additions & 6 deletions src/commands/login.ts
Expand Up @@ -3,12 +3,12 @@
*/
import {readJsonSync} from 'fs-extra';

import {enableAppsScriptAPI} from '../apiutils';
import {authorize, defaultScopes, getLoggedInEmail, scopeWebAppDeploy} from '../auth';
import {FS_OPTIONS} from '../constants';
import {readManifest} from '../manifest';
import {ERROR, LOG} from '../messages';
import {checkIfOnlineOrDie, hasOauthClientSettings, safeIsOnline} from '../utils';
import {enableAppsScriptAPI} from '../apiutils.js';
import {authorize, defaultScopes, getLoggedInEmail, scopeWebAppDeploy} from '../auth.js';
import {FS_OPTIONS} from '../constants.js';
import {readManifest} from '../manifest.js';
import {ERROR, LOG} from '../messages.js';
import {checkIfOnlineOrDie, hasOauthClientSettings, safeIsOnline} from '../utils.js';

interface CommandOption {
readonly localhost?: boolean;
Expand Down Expand Up @@ -62,6 +62,7 @@ export default async (options: CommandOption): Promise<void> => {
for (const scope of scopes) {
console.log(scope);
}

console.log(`\nNOTE: The full list of scopes your project may need can be found at script.google.com under:
File > Project Properties > Scopes\n`);

Expand Down
10 changes: 5 additions & 5 deletions src/commands/logout.ts
@@ -1,6 +1,6 @@
import {Conf} from '../conf';
import {DOTFILE} from '../dotfile';
import {hasOauthClientSettings} from '../utils';
import {Conf} from '../conf.js';
import {DOTFILE} from '../dotfile.js';
import {hasOauthClientSettings} from '../utils.js';

const {auth} = Conf.get();

Expand All @@ -12,7 +12,7 @@ export default async (): Promise<void> => {

if (hasOauthClientSettings(true)) {
if (auth.isDefault()) {
// if no local auth defined, try current directory
// If no local auth defined, try current directory
previousPath = auth.path;
auth.path = '.';
}
Expand All @@ -26,7 +26,7 @@ export default async (): Promise<void> => {

if (hasOauthClientSettings()) {
if (!auth.isDefault()) {
// if local auth defined, try with default (global)
// If local auth defined, try with default (global)
previousPath = auth.path;
auth.path = '';
}
Expand Down
14 changes: 7 additions & 7 deletions src/commands/logs.ts
Expand Up @@ -2,20 +2,20 @@ import chalk from 'chalk';
import {logging_v2 as loggingV2} from 'googleapis';
import open from 'open';

import {loadAPICredentials, logger} from '../auth';
import {ClaspError} from '../clasp-error';
import {DOTFILE, ProjectSettings} from '../dotfile';
import {projectIdPrompt} from '../inquirer';
import {ERROR, LOG} from '../messages';
import {URL} from '../urls';
import {loadAPICredentials, logger} from '../auth.js';
import {ClaspError} from '../clasp-error.js';
import {DOTFILE, ProjectSettings} from '../dotfile.js';
import {projectIdPrompt} from '../inquirer.js';
import {ERROR, LOG} from '../messages.js';
import {URL} from '../urls.js';
import {
checkIfOnlineOrDie,
getErrorMessage,
getProjectSettings,
isValidProjectId,
spinner,
stopSpinner,
} from '../utils';
} from '../utils.js';

interface CommandOption {
readonly json?: boolean;
Expand Down
14 changes: 7 additions & 7 deletions src/commands/open.ts
@@ -1,12 +1,12 @@
import open from 'open';

import {loadAPICredentials, script} from '../auth';
import {ClaspError} from '../clasp-error';
import {ProjectSettings} from '../dotfile';
import {deploymentIdPrompt, DeploymentIdPromptChoice} from '../inquirer';
import {ERROR, LOG} from '../messages';
import {URL} from '../urls';
import {ellipsize, getProjectSettings, getWebApplicationURL} from '../utils';
import {loadAPICredentials, script} from '../auth.js';
import {ClaspError} from '../clasp-error.js';
import {ProjectSettings} from '../dotfile.js';
import {deploymentIdPrompt, DeploymentIdPromptChoice} from '../inquirer.js';
import {ERROR, LOG} from '../messages.js';
import {URL} from '../urls.js';
import {ellipsize, getProjectSettings, getWebApplicationURL} from '../utils.js';

interface CommandOption {
readonly webapp?: boolean;
Expand Down
6 changes: 3 additions & 3 deletions src/commands/pull.ts
@@ -1,6 +1,6 @@
import {fetchProject, writeProjectFiles} from '../files';
import {LOG} from '../messages';
import {checkIfOnlineOrDie, getProjectSettings, spinner, stopSpinner} from '../utils';
import {fetchProject, writeProjectFiles} from '../files.js';
import {LOG} from '../messages.js';
import {checkIfOnlineOrDie, getProjectSettings, spinner, stopSpinner} from '../utils.js';

interface CommandOption {
readonly versionNumber?: number;
Expand Down
20 changes: 10 additions & 10 deletions src/commands/push.ts
Expand Up @@ -4,16 +4,16 @@ import normalizeNewline from 'normalize-newline';
import path from 'path';
import {watchTree} from 'watch';

import {loadAPICredentials} from '../auth';
import {ClaspError} from '../clasp-error';
import {Conf} from '../conf';
import {FS_OPTIONS, PROJECT_MANIFEST_BASENAME, PROJECT_MANIFEST_FILENAME} from '../constants';
import {DOTFILE} from '../dotfile';
import {fetchProject, pushFiles} from '../files';
import {overwritePrompt} from '../inquirer';
import {isValidManifest} from '../manifest';
import {LOG} from '../messages';
import {checkIfOnlineOrDie, getProjectSettings, spinner} from '../utils';
import {loadAPICredentials} from '../auth.js';
import {ClaspError} from '../clasp-error.js';
import {Conf} from '../conf.js';
import {FS_OPTIONS, PROJECT_MANIFEST_BASENAME, PROJECT_MANIFEST_FILENAME} from '../constants.js';
import {DOTFILE} from '../dotfile.js';
import {fetchProject, pushFiles} from '../files.js';
import {overwritePrompt} from '../inquirer.js';
import {isValidManifest} from '../manifest.js';
import {LOG} from '../messages.js';
import {checkIfOnlineOrDie, getProjectSettings, spinner} from '../utils.js';

import type {ProjectSettings} from '../dotfile';

Expand Down
14 changes: 7 additions & 7 deletions src/commands/run.ts
@@ -1,13 +1,13 @@
import chalk from 'chalk';
import readline from 'readline';

import {getFunctionNames} from '../apiutils';
import {getLocalScript, loadAPICredentials, script} from '../auth';
import {ClaspError} from '../clasp-error';
import {addScopeToManifest, isValidRunManifest} from '../manifest';
import {ERROR} from '../messages';
import {URL} from '../urls';
import {checkIfOnlineOrDie, getProjectSettings, parseJsonOrDie, spinner, stopSpinner} from '../utils';
import {getFunctionNames} from '../apiutils.js';
import {getLocalScript, loadAPICredentials, script} from '../auth.js';
import {ClaspError} from '../clasp-error.js';
import {addScopeToManifest, isValidRunManifest} from '../manifest.js';
import {ERROR} from '../messages.js';
import {URL} from '../urls.js';
import {checkIfOnlineOrDie, getProjectSettings, parseJsonOrDie, spinner, stopSpinner} from '../utils.js';

interface CommandOption {
readonly nondev: boolean;
Expand Down
8 changes: 4 additions & 4 deletions src/commands/setting.ts
@@ -1,7 +1,7 @@
import {ClaspError} from '../clasp-error';
import {ProjectSettings} from '../dotfile';
import {ERROR} from '../messages';
import {getProjectSettings, saveProject} from '../utils';
import {ClaspError} from '../clasp-error.js';
import {ProjectSettings} from '../dotfile.js';
import {ERROR} from '../messages.js';
import {getProjectSettings, saveProject} from '../utils.js';

/**
* Gets or sets a setting in .clasp.json
Expand Down
8 changes: 3 additions & 5 deletions src/commands/status.ts
@@ -1,7 +1,6 @@
import {getAllProjectFiles, getOrderedProjectFiles, logFileList, splitProjectFiles} from '../files';
// import {isValidManifest} from '../manifest';
import {LOG} from '../messages';
import {checkIfOnlineOrDie, getProjectSettings} from '../utils';
import {getAllProjectFiles, getOrderedProjectFiles, logFileList, splitProjectFiles} from '../files.js';
import {LOG} from '../messages.js';
import {checkIfOnlineOrDie, getProjectSettings} from '../utils.js';

interface CommandOption {
readonly json?: boolean;
Expand All @@ -13,7 +12,6 @@ interface CommandOption {
*/
export default async (options: CommandOption = {json: false}): Promise<void> => {
await checkIfOnlineOrDie();
// await isValidManifest();
const {filePushOrder, scriptId, rootDir} = await getProjectSettings();
if (scriptId) {
const [toPush, toIgnore] = splitProjectFiles(await getAllProjectFiles(rootDir));
Expand Down

0 comments on commit 5055865

Please sign in to comment.