Here is my final code that is working ...
Thank you leettamna
const { Api, JsonRpc, RpcError, JsSignatureProvider } = require('eosjs');
const fetch = require('node-fetch'); // node only; not needed in browsers
const { TextDecoder, TextEncoder } = require('text-encoding'); // node, IE11 and IE Edge Browsers
const defaultPrivateKey = "5JUKRhWkNobtgSJSamcY2Yz4dpbAzZ3euTYK2d7rWUP118xyRiG"; // user shlee
const signatureProvider = new JsSignatureProvider([defaultPrivateKey]);
const rpc = new JsonRpc(' http://172.18.0.1:8888', { fetch });
const api = new Api({ rpc, signatureProvider, textDecoder: new TextDecoder(), textEncoder: new TextEncoder() });
try {
(async () => {
const result = await api.transact({
actions: [{
account: 'shlee',
name: 'create',
authorization: [{
actor: 'shlee',
permission: 'active',
}],
data: {
author: 'shlee',
id: 4,
description: "feed dog",
},
}]
}, {
blocksBehind: 3,
expireSeconds: 30,
});
console.log(result);
})();
} catch (e) {
console.log('\nCaught exception: ' + e);
if (e instanceof RpcError)
console.log(JSON.stringify(e.json, null, 2));
}